I think osgFX is where you want to look. That nodekit has some classes Technique, Effect etc that allow you to define multiple passes. I haven't used it personally but a developer in our group has used it quite a bit. If you look at  osgfxbrowser example, I think it has sample code but I'm not sure if it shows how to do multipass.
<br><br><div><span class="gmail_quote">On 10/11/07, <b class="gmail_sendername">Swen Walkowski</b> <<a href="mailto:usedformailinglists@googlemail.com">usedformailinglists@googlemail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello all,<br><br>i try to do Multipassshading in OSG v1.2.<br>I have written my own shader class in the class I use the osg::shader<br>for shading. At the time my shading code looks like that:<br>Shader::Shader(void) {<br>
 //creating program<br> program = new osg::Program;<br><br> //creating shader<br> vertShader = new osg::Shader(osg::Shader::VERTEX);<br> fragShader = new osg::Shader(osg::Shader::FRAGMENT);<br>}<br><br>Shader::~Shader(void) {
<br>}<br><br>void Shader::apply(osg::StateSet& state) {<br> state.setAttributeAndModes(program, osg::StateAttribute::ON);<br><br> vertShader->loadShaderSourceFromFile("shaders/Fixed_Functionality.vert");<br>
 fragShader->loadShaderSourceFromFile("shaders/Fixed_Functionality.frag");<br><br> program->addShader(vertShader);<br> program->addShader(fragShader);<br><br> //parameterize the shader with video texture (0 by default)
<br> state.addUniform(new osg::Uniform("texture", 0));<br><br> posXUniform = new osg::Uniform("posX", (float)0.0);<br> posYUniform = new osg::Uniform("posY", (float)0.0);<br> intensityUniform = new osg::Uniform("intensity", (float)1.0);
<br> radiusUniform = new osg::Uniform("radius", (float)0.2);<br><br> state.addUniform(posXUniform);<br> state.addUniform(posYUniform);<br> state.addUniform(intensityUniform);<br> state.addUniform(radiusUniform)<br>
}<br><br>That works well.<br><br>Now i try to add an secend shading pass. I have read a lot over<br>rendering to texture (RTT) in OSG in the mailinglist. So I tryed to<br>find the examples or something in the OSG documentation.But
 without<br>luke.<br><br>Hope someone can tell me were I find the documentation for<br>Multipassshading in OSG or an example or maybe how it works.<br><br>Thangs,<br>Swen<br>_______________________________________________
<br>osg-users mailing list<br><a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br><a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
</a><br></blockquote></div><br>