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
