Howdy all, What are some approaches for using the OSG to render a scene with 6 shadow-casting spot lights using the ShadowMap technique?
A couple of ideas that came to mind: 1) Use multiple ShadowedScene's with each one having a ShadowMap technique that sets a unique shadow texture unit for each shadow map. ShadowMap has a function setTextureUnit() for doing this. Could these shadowed scenes be rendered in a pre-pass, such as under a slave camera or RenderBins, and have the resulting shadow texture units be available for a main-pass fragment shader? 2) Make a local clone of ShadowMap, and modify it to support 6 lights with a dedicated shadow texture unit for each light. A fragment shader would be added using the ShadowMap.addShader() method, that does per-pixel lighting and does look-ups into all 6 shadow texture units. 3) Make a local clown of ShadowedScene, and modify it so that _shadowSettings and _shadowTechnique are dynamic arrays, effectively allowing multiple ShadowSettings/ShadowTechnique pairs to be inserted. Each inserted ShadowMap technique would be assigned a unique texture unit number. This has a number of questionable architecture issues. Something similar to #1 above would be ideal, without modifying OSG much, but may not be possible. #2 seems like it should work, but would require some development. #3 sounds like it would be over-complicated or unfitting for the OSG framework. Any thoughts or opinions? Thanks guys! -Robert Graf ------------------ Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=63762#63762 _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

