Hi Robert,

I posted a while ago a question how to get the osg::Program associated with
the shaders from the StandardShadowMap in order to extend. And it is localy
defined as you can see in the code. However I found a workaround, by
extending the ShadowingScene and catch the StateSet from the Cull
traversal. But, this will not work since the line below. Here is my
proposed change, it will not hurt anyone I think - these ShadowMap* classes
are over-encapsulated in my opinion.

void StandardShadowMap::ViewData::cullShadowReceivingScene( )

{

    _cv->pushStateSet( _stateset.get() );


#if 0

    _st->getShadowedScene()->osg::Group::traverse( *_cv );

#else

    _st->getShadowedScene()->traverse( *_cv );

#endif


    _cv->popStateSet();

}


It will be nice if this forcing of osg::Group::traverse is replaced by
ordinary traverse thus anyone can re-write and extend. What you think?


Please let me know and thanks a bunch as always!


Nick


-- 
trajce nikolov nick
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to