Hello,

i've successfully implemented a simple dot3 object shading for my scene and
it works fine with single objects. Now i try to share the shaders between 
different objects in the scene and got some trouble:

To share the shaders i've one osg::Program, where i've added two osg::Shader
objects. The osg::Program instance is shared between the objects and applied
to their osg::StateSet objects. The required osg::Uniform objects are created 
explicit for each object and bind to their osg::StateSet in a separated process.
So only the osg::Program and osg::Shader are Shared (later i will share the
equal uniforms too).

The shader works, but it's effected on all objects equals to the object where
the osg::Program has applied first. I.e. i've added two normal mapped cubes in
the scene. When i set the light between both cubes i expect that both cube faces
are enlighted arround the light, but on the 2nd cube the thame face of the first
cube is enlighted...

Have i consider something special for the sharing of (object) shaders between
objects?

Best regards,
Christian 



_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to