dynamic 3d text transparent to see videoplane behind (Jitter)
Hello hello,
I have been searching high and low for a solution. I have a feeling it is super easy and I have over looked it...
I have some dynamic 3d text that falls from the top of the screen to the bottom.... however, I would like it so that the screen is white (or black) and that when the letters appear, they are transparent and I can see a hidden layer which is a still image. Something like the letters are a peep-hole to the image...
I tried alpha-blend and lumaalpha - to no avail. any guidance would be super appreciated! I have attached my patch so far...
I see no patch.
However one way to do this would be to run the text through jit.gl.node or jit.gl.asyncread and then run that captured matrix through jit.chromakey. Otherwise I'd recommend just piping the rendered text through a jit.gl.slab with the Alphablend shader.
Hello, thanks so much for your advice! I lost hope last night and tried to abandon the idea only to start from scratch using jit.lcd... however, I'd love to use the patch w/ 3-d text. I tried to incorporate the jit.gl.ascyncread & jit.chromakey (only on the first letter) .... if you could take a look - it would be super appreciated! thanks again for your time and knowledge.
Michelle
here are two techniques for doing this.
the basic idea for both is to capture you jit.gl.text3d to a texture using jit.gl.node with @erase_color 0 0 0 0 (so the alpha channel is correct).
then you use the alpha channel from the text3d texture as the alpha channel for the layer you wish to reveal.
the first technique uses matrix readback from the the gl.texture.
the second technique uses jit.gl.pix to swap the planes. the gl.pix version will be more efficient.
A nice patch, thanks Robert ! I just tried but as soon as get in fullscreen the bottom one (the matrix readback) disappears ? Do you have any idea why ? I'm on a Mac Pro with a ATI Radeon HD 4870 512 MB if that's of any help.
Thanks !
because the dimension of texture adapts to the dimension of the window size, so it's no longer the default dim of 320x240. so when you send the output of the qt.movie object (also defaults to dim of 320x240) to the right inlet of jit.pack, the dimension no longer matches the matrix in the left input (which is now whatever you window size is).
you can fix by setting @adapt 0 and explicitly setting the @dim attribute on either the jit.matrix or the jit.gl.node.
or, a much better solution, use the jit.gl.pix version that doesn't require a matrix readback.
Thanks so much! This was really helpful and now I understand just a little more! Due to the time constraint I had - I went with another patch I worked on ;)
Thanks again!