Rendering multiple gl scenes to a single window for mixing.

Evan's icon

Hello beautiful jitter users.

I am doing some live visuals tomorrow night (eek!) and have been focusing on getting 4 or 5 versatile patches ready, using some of the recipes by the wonderful andrew benson as bases. My question is it possible to have all of these patches open and ready, but to only send one or two at a time to a single window? Will I have to dynamically rename all the drawing contexts via "drawto" messages? Is there an easier way?

Wesley Smith's icon

If you're on Max6, you can use jit.gl.node @capture 1 to render scenes to texture and mix them together using slabs. It's the easiest way to manage and mix 3d scenes.

dtr's icon

Hacking this to blend the 3 textures on one videoplane/window instead of outputting to 3 should get you going: https://cycling74.com/forums/sharing-triplehead2go-rendering-setup-updated-for-max6-and-jit-gl-node

PereVicalet's icon

Hello, I'm working on this kind of staff as a new user of OpenGL. Could you say to me which was the best solution you finded?

Wesley Smith or somebody, Could you give us an example of that, without mixing please? Just making changes between 5 different contexts?
I will appreciate. Thank you so much.

Rob Ramirez's icon

there's plenty of examples of capturing gl scenes to a texture with gl.node to be found by searching the forum.

can you explain a little more what you're trying to achieve?
why do you want to use 5 different contexts?

PereVicalet's icon

For example, if I would like to unify five different recipes of the books without mixing, just triggering them into one window, which is the best way for doing that?

Changing the name of the jit.window, creating different contexts and then send them to the same window (as tut 31Render Dest), create same context and just when I don't want to use one effect on screen change its x/y position? I mean, If I've got four effects for doing them in real time, which is the best solution for not to colapse CPU using openGL and also video capture from Kinect (to videoplane)
Thank you.

Wesley Smith's icon

The best way to switch between scenes is to use a jit.gl.node for each scene. All objects in a scene will be controlled by a node, which can be turned on/off to switch which scene is rendered. You only need one jit.gl.render/jit.window for this to work. Each jit.gl.node will act as a sub-context for your scenes.

PereVicalet's icon

I'm sorry but I was trying how to get the jit.gl.node for this unifying all renderings... and i couldn't get a good solution. I made a little patch for instance using some patches i've downloaded from forum as an example. Now i've got problems with the mesh for example. It's constructed in the way of just selecting the vídeo I want from an "umenu" and bringing out of scene all the other effects. Could someone guide to me how to do it with jit.gl.node on this example, please?

I know, maybe what I am proposing maybe is too much CPU process, but I don't know the best way for doing it.

Thank you MAXpeople!

jitter-general-foro.maxpat
Max Patch
Wesley Smith's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Here's a real simple jit.gl.node patch that shows the basic approach to managing scenes:

PereVicalet's icon

Interesting. Thank you very much.

strangebird's icon

Created a new post, now it works. Sorry for the trouble.

Videoplanes.maxpat
Max Patch
the-blocks.jpg
jpg