• Home
  • Documentation
  • Forum
  • Blog
  • Users
    • Map
    • Userlist
    • Businesses
    • Userpages
    • Connections
  • Contributions
    • All
    • Store
  • Downloads
    • vvvv beta
    • vvvv beta previews
  • Store
Show / Hide Table of Contents

Spatial Edge Blend shader

Author: elliotwoods
Date: 25 Sep, 2010
Category: effect
Credits:

elliotwoods, colorsound, catweasel

Download

64bit

4-_SpatialEdgeBlendPolar_ViewPort_TArray.zip
23 Mar, 2016 - 10:54
Manual Slicing by T,B,L,R,Polar Version,Independent blend width per side,new help patches,Spanmode&DualMode versions
3-SpatialEdgeBlend (DX11).zip
04 Apr, 2013 - 10:06
DX11 Version
2-SpatialEdgeBlend (EX9.Effect).zip
08 Aug, 2012 - 10:54
some bugfixes, tidying up code , updated help patch
1-SpatialEdgeBlend.zip
15 Jan, 2012 - 22:19
fixed for beta27
0-SpatialEdgeBlend.zip
25 Sep, 2010 - 10:45
Shader file and help patch

Description

This shader enables you to edge blend in 3D, which is especially useful for projection mapping. This is a bit of a 'kitchen sink' shader which includes some other useful bits for mapping as well.

  1. Edge blending (aka Soft Edge) features
  • Blend region size / position
  • Blend direction unit vector input
  • RGB gamma adjustment
  1. Other features
  • Bicubic filtering
  • Texture projection (for viewpoint matching)
  1. Requirements:
  • Bicubic.fxh (needs to be in same dir as effect)
  • BicubicFilterKernel.hdr
  1. To use

You need to edit the shader dependin on how many projectors you have.

Edit line #7 in the shader:

#define nRegions 3

and set nRegions to your number of projectors

Inputs

Set your blend vector to be the unit vector in the direction you want to blend in, e.g. if you're blending across the width of your sculpture, then chances are that you want the blend vector to be (1,0,0). This means that blends are cast across the x dimension.

Then set 'yBlends' (called 'Edge Blend Line' in the help patch) to the places where you want to blend.

Your renderer will need to have seperate viewports for each projector. Check the help patch!

Also, if you want to project a texture onto the object using a projection matrix, then input your projection matrix into 'tProjection' as set 'useProjection' to 1.

Comments

Comments are no longer accepted.
Please create a new topic in the vvvv beta forum to discuss this contribution.
sugokuGENKI
25 Sep, 2010 - 10:57

P.S. for calibration, it's good to input a grid texture, set useProjection to 1, and not use anyting on tProjector. That way, your grid will be projected directly in x,y onto your object, so you can calibrate.

P.S. This shader generally presumes that all your projectors are in a line facing towards your target. It doesn't deal with multiple projectors that inwards / outwards onto a scene.

sunep
15 Jan, 2012 - 15:30

I get the error "failed to open 'Bucubic.fxh'"

woei
15 Jan, 2012 - 18:03

correcting line 57 from``` #include "Bicubic.fxh"

to

#include <effects\Bicubic.fxh>

will reference the vvvv included .fxh file and thus throw no error
io
29 Oct, 2012 - 19:20

ATI HD6970 the Gamma settings don t seem to have any effect. Didn t have the time to look into the shader for the usual suspects, any take on this? Simone

io
31 Oct, 2012 - 11:12

yay! There a commented out line which works for ATI :

    //return factorbottom * factortop;
	
    return pow(factortop * factorbottom, gammaRGB);
io
01 Nov, 2012 - 22:19

Now, the next step would be a dynamic gamma correction. Not sure but you should be able to input 4 RGB parameters, for RGB and probably for full white, that would be a projector/lamp color footprint. Based on this footprint a gamma correction should be calculated for every pixel that is shared among more than one viewport. S.

isdzaurov
24 Mar, 2016 - 14:05

eeeeh cool!

  • Improve this Doc

© 2020 by vvvv group. Imprint | Privacy Policy.
Thanks to DocFX for building this website. Analytics by Plausible.

Back to top