Multi pass shaders
I've made an SSAO shader (4 different shader) in Max, BUT for this I need to render 3 different textures from the same geometry, so i made 3 different vertex/fragment shader pairs and connected each to a copy of the jit.gl.mesh object ... (One's output is a normal lighting shader, other outputs a texture with viewspace coorinates rendered into the rgb texture, the 3rd will render the normals into texture output)
so now, i need 3 copies of the same object in the same position/scale/rotation (same geometry) to be able to work with it, as every object has it's own shader if i know it well from MAX tutorials...
My question is: is there any way in MAX, to render a mesh with different fragment shaders in the same frame? so i wouldnt need 3 copies of the mesh in max, 3 times more vertex data to GPU transfer, and 3 times running the vertex shader on the same geometry...
Transmitting 3 times more vertex data and running the same vertex shader 3 times for the same data doesn't seems too efficient method to do it :))))
thanx in adv,
Kevin
MRT (multi render targers) are not available yet in Max. So its all tricks. An approach I once took to do shadowing was to use layers and cameras.
for each auto bang of render
have one or more cameras as you need which capture to texture
sequence the layers so that as each camera outputs its texture for the scene, that then causes a param to be sent to your shader. a trigger hooked on the camera's matrix outlet can be great for this
the shader changes modes based on this param (the 3 or 4 of them you need)
etc
It took many days of experimenting and using Max debugging to get the sequencing right and not need a lot of duplicate ob3ds. Finally it worked.
Thanx a lot, it makes sense will get on this to see if i can make it work! :)