Hi Julien,

I have now done a first pass review of your changes, this has thrown
up a few questions at me end about how best to tackle this type of
feature.

One problem that the implementation looks likely to have is that it
queries the last applied osg::State lass applied program object, this
is required in some form, but opens the door to executation order
issues as this type of Unfirom is applied as an osg::StateAttribute
rather than a osg::Uniforn.

In the osg::StateSet::apply() the osg::Uniform are applied after all
osg::StateAttribute have been applied to make sure any osg::Program
have been applied first.  While we might seem the correct ordering due
to the SubroutineUniform having a higher value of Type than
osg::Program presently does this is an implicit relationship that is
valid now.  If we were to reorganize the Type enum then this would
break.

I don't yet have an answer for this.  It may be that we need to tweak
osg::State, or extend osg::Unfirom to accommodate
glUniformSubroutinesuiv()

For now I will set the submission aside for a few days and mull over the issue.

Thanks for your patience,
Robert.
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to