edit: nope, got a problem. it splits out fine but it’s all monochrome, no color separation. tried the example in the help patch with jit.qt.grab and jit.qt.movie and both didn’t work. only got a color change when i adjusted the scalebias but it was in the combined dumpout of jit.unpack while the split versions it just became whiter or blacker. i’m starting to feel like there is something wrong with jitter on my laptop since a few shaders aren’t working properly either.

well yeah it is certainly all monochrome when it comes out of jit.unpack..the trick is offsetting things and then bringing them all back in via jit.pack then they will be their normal colorful selves again..you can even muck around with swapping color planes as they come back into jit.pack or something..like putting blue into red etc

Nice. I’d love some tips on how to work with separating the chroma channels in a shader..making an unpack/pack shader that is. i’ve played with the idea a little bit in quartz composer, but haven’t spent enough time with it in max. jit.gl.slab has the potential to spit out multiple outlets/have multiple inlets doesn’t it?

Good question. We don’t provide standard shaders that do this, but I’ve taken the time to whip some up (we’ll probably include in future versions). The basic issue as you point out is that jit.gl.slab doesn’t support multiple outputs. We accomplish that by using four jit.gl.slab objects which each grab a single plane, mapping it to all four planes for a monochrome output. jit.gl.slab does support multiple inputs, so then we can recombine these multiple monochrome input planes to make a single RGBA output matrix.

I’ve uploaded a zip file with example patches and shaders to do this.

A note for the advanced user (beginning users can safely ignore the following without worrying about all the technical jargon):

You could in theory optimize these shaders to pack monochrome information in the color planes, reducing texture size by a factor of 4, using techniques demonstrated in the UYVY and GRGB example shaders. I’ve avoided this for these examples as it further complicates both the shader and potentially any intermediate operation which if anything more than a plane independent pointwise operator will have to take this spatial packing in the planar color vector into account.

thanks for that. i was hoping for a gpu solution as well. unfortunately it seems like my laptop has stopped working with gl processes (it’s slowly dying, gpu might be shot. not sure what’s wrong exactly) but luckily i’ll be borrowing a friend’s laptop for the performance.