Hi,
 
My scene contains models that use one or many textures, some use vertex and 
fragment shaders of different kinds. Complex but good looking :-)
 
I need to render the scene many times each frame. 
The first render is a normal one, so I need no change in textures, states or 
shaders.
The second render is a multi target render. Here I need to change all the 
fragment shaders that my scene uses. Each shader need to output data to each 
render target. 
 
My question is:
- What is the best way to switch shaders on many models in my scene-graph?
 
One way to do it is to put a shader on the top node and override all child 
nodes, but that only works if the entire scene-graph renders with the same 
shader. My scene uses different shaders, so overriding is not the solution.
 
One idea I have is to parse through all scene graphs that I add to my world and 
duplicate all nodes that sets a fragment shader. I could then create one shader 
for the normal render and one for the multi target render. This would require 
that I mask those nodes so that the correct ones are used in each render. This 
will require me to write my own function for adding nodes to the scene.
 
Anyhow, I would be very happy if someone could guide me in the right direction 
on this one.
 
Regards,
Viggo
 
_________________________________________________________________
Snakk gratis med tekst, telefoni og video. Få Windows Live Messenger du også.
http://get.live.com/nb-no/messenger/overview
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to