ifs shader from gen to vdmx

Marcin Cichon's icon

hello

im suscessfully made some ifs with the gen object,but it was allways to the same frame...

how can i get the information , what object can it be , to know what status of the pixel was before, so i can compare them and do something with it??

this could be usefull to feedback loops, disolve fx etc..

i tried google but no luck, maybe an gen tutorial on this topic would be nice.
thx

maaark's icon

What helped me greatly was using the method in the example patch reaction.diffusion.color.world.maxpat in the Jitter>Gen help file folder! But there's different ways of doing it.

Rob Ramirez's icon

yeah you need to store your history in a texture, and create an inlet for it to read from on the next frame.

Marcin Cichon's icon

store the texture? where? it all has to happen inside of the gen object , so i can export it to isf..

im just do not want to write in the shader code

as far i understand the shader from the gen object is processing each pixel with the "code" from the gen object, is there a way to make a memory of the pixel inside the gen object? i read the doc and thought about the sample object, but i dont know how to store the last frame, or more frames inside the gen.

:: maaark:: thx! i will look into it deeply.

maaark's icon

I totally read over the fact that you want to export it to another environment. Don't think this is possible. I'm not familiar with VDMX, but I'd try Shadertoy.com if I were you...

Marcin Cichon's icon

the port is not a problem if the source stay in the gen object. so i looke for the memory option inside the gen object. i can then send "exportcode isf" to the gen object and i have my ready to use shader for vdmx... again vdmx is not a problem..

Graham Wakefield's icon

There's no feedback memory in jit.gl.pix, as it is basically a shader, and there's no feedback memory objects in shaders either. It's not a limitation of Max, it's a limitation of GLSL.

The only way to achieve feedback is to bounce output back into inputs via external textures/buffers. You can do this in Max using jit.gl.texture; for any other coding environment you'd need to do the equivalent using whatever is available.

Pis Pas's icon

This is in fact a limitation of Max and not of GLSL.