Forums > Jitter

Photoshop-style composite blending between multiple videoplanes

Aug 12 2011 | 8:49 pm


I’m looking for a way to get all the Photoshop-style blend modes between multiple videoplanes. To be clear, I know how to use a slab to blend two sources onto a single videoplane via co.%s.jxs… but I want to use similar blend effects between images that are being rendered to different videoplanes.

I’ve read tons of posts that talk about using the blend_mode attribute of videoplanes (with @blend_enable 1 and @depth_enable 0). Experimentation seems to yield a few Photoshop-like modes, but so far I haven’t been able to get close to the full complement. Slab compositing doesn’t seem to be a solution since it appears to work only with multiple inputs and rendering to a single vidplane. I get some additional blends by putting jit.op or with op.%s.jxs between the matrix/movie sources and their respective videoplanes, but the possible combos of all the ops and videoplane blend_modes yields a daunting number of possibilities… and I’m still not convinced I’m on the right path to finding all the blends. In a perfect world, I’d also like to use alpha channels in this same blend/compositing process.

Any help is greatly appreciated!



Aug 15 2011 | 11:50 pm

Tap, tap… is this thing on? ;)

Aug 16 2011 | 6:42 pm

you seem to be on the right path.
there is a limit to the number of photoshop style blend modes you will be able to achieve with fixed function.
here’s a start:
blend_mode[0] = 1;
blend_mode[1] = 1;

blend_mode[0] = 2;
blend_mode[1] = 0;

blend_mode[0] = 4;
blend_mode[1] = 1;

blend_mode[0] = 4;
blend_mode[1] = 5;

blend_mode[0] = 3;
blend_mode[1] = 4;

blend_mode[0] = 6;
blend_mode[1] = 7;

blend_mode[0] = 3;
blend_mode[1] = 1;

blend_mode[0] = 6;
blend_mode[1] = 1;

beyond that, you must get in to shaders.
this link should help

Aug 20 2011 | 12:22 am

Thanks so much, Robert!

I’ve not delved into creating my own shaders yet… perhaps this is the impetus. Quick question before I jump in off the high dive: The reason I’m not using the existing shaders like co.difference.jxs is that this family of shaders appears to require two inputs. I’m envisioning that I need shaders that use only one source/input on a slab for a single texture/videoplane… and that construct per videoplane will allow discrete control over layer blends a la Photoshop layer blends, right? Or am I missing a fundamental concept? ;)

I’d be eternally grateful if anybody wants to provide input/models/examples on how to turn the photoshop-math-with-glsl-shaders code into jitter-ready shaders.



Viewing 4 posts - 1 through 4 (of 4 total)

Forums > Jitter