Compositing operations in Jitter vs. TD

Aaron Wharton's icon

Big picture: I'm experimenting with compositing a jitter visuals patch (jit.gl) with feed from my camera/ video capture card.

With the Composite TOP in TD, you're given 46 operations to choose from; I'm currently digging the results of "Lighter Color", but would like to recreate this effect in Jitter due to the resolution cap on the non-commercial license, as well as for efficiency concerns.

I've read the reference/ help files of both jit.gl.pix and jit.gl.slab, but I'm still left scratching my head a bit as far as achieving the aforementioned effect. Here's a quick (albeit significantly compressed) video of the desired effect: https://youtu.be/1BAxoE2k_J8



LSka's icon

In the Vizzie package the "MODEMIXR" module does "Photoshop image-style video mixing"

Aaron Wharton's icon

@LSKA: Thanks so much; idky I hadn't checked into the vizzie stuff.

I think I'm currently getting the closest result from the "+" mode on the "oper8r" module, but it's not exactly. the same. I'll do some more experimenting and update accordingly.

Rob Ramirez's icon

in case you haven't located it, MODEMIXR is a new module in the latest Vizzie update, so make sure you've updated in the Package manager.

Aaron Wharton's icon

@Rob -- I appreciate it. I was able to locate it and found oper8r to get closer to the effect I was able to achieve in TD.

Aaron Wharton's icon

I'm popping back in to say that I gave up after hemorrhaging 5 hours, yesterday. I tried the modemixr, I tried oper8r, I tried each with combinations of brcosr preceding (as well as quite a few other vizzie modules), and got fairly close, but I was never able to keep the visuals patch from discoloring the lighter panel like I am when using the composite TOP in TD.

I've attached a couple screenshots illustrating the difference:

Touchdesigner

Jitter

LSka's icon

two years ago, the great @micron made this patch using jit.gl.pix https://www.patreon.com/posts/photoshop-blend-17484473 maybe it can help you

Aaron Wharton's icon

@LSKA: I really appreciate it man. Unfortunately, this doesn't seem to help much more. :/

Pedro Santos's icon

Thank you LSKA for that link, it's very useful.
I think I understand Aaron's problem, though. The thing is, even selecting the "lighten mode", the shader does its calculation for each RGB channel independently. So, if in a certain pixel you have a pure red (1. 0. 0.) in input 1 and a pure green (0. 1. 0.) in input 2, the result will be to output the red channel of input 1 combined with the green channel of input 2... (1. 1. 0.)
To do what I think Aaron is after, we have to first calculate and then compare the luma of each input and choose pixel by pixel what input to show (not channel by channel inside each pixel).
I'm terrible at gen, but here's an attempt:

Max Patch
Copy patch and select New From Clipboard in Max.

LSka's icon

ok, I get it.
Pedro, I took the liberty to tweak your patch and use a switch instead of the multiplication... the effect is the same, though.

Max Patch
Copy patch and select New From Clipboard in Max.


Pedro Santos's icon

Yes, that's it, LSKA! Thanks, I warned that I was terrible at gen ;-)
Is there a compilation somewhere of equivalent objects in max / gen?
Like "unpack - swiz" "pack - vec" ...

Aaron Wharton's icon

@Pedro (and @LSKA); Thank you so much, guys; this seems to do what I was struggling to.

That said, I'm currently struggling to implement it in the existing visuals patch. I think it has something to do with needing to order layers in a particular way, but it's quite easy to get some unintended (yet occasionally spectacular) results.

I'll report back after a bit more fiddling.

Thank you again, so much for your time and effort. <3

Rob Ramirez's icon

nice work! i actually think the non switch version is preferable for GLSL in general, but i found no performance discrepancies. I will add this to this distro as a built-in gen patcher.

Aaron Wharton's icon

Popping back in to reiterate my gratitude to everyone for their time and effort in helping me with this, as well as state that I was able to resolve the last few hiccups. Again. I really appreciate it, guys. <3