Hi Robert,
> The only parts I'd query about is the removal of existing methods as these > could break the build Yes, I know that, it's always a little risky to remove methods... To help you during your review, here is how to port from "old API" to "new API" : 1/ replace the methods "setUseModelViewAndProjectionUniforms" and "getUseModelViewAndProjectionUniforms" which use a boolean type by "setActiveBuiltInUniforms" and "getActiveBuiltInUniforms" which use an unsigned int as argument to specify flags => I think this is an easy port, because in a classic project you don't call these methods more than once to configure your State 2/ replace the StateSet methods "getAttributeList", "getTextureAttributeList" and "getUniformList" which return non-const reference by version which return const reference => I think this is a little more difficult port, but it is probably necessary to avoid modifying the StateSet content whitout the StateSet knows it. I've made the port every where it was used : osgAnimation/LinkVisitor.cpp osgDB/SharedStateManager.cpp osgUtil/GLObjectsVisitor.cpp osgUtil/IncrementalCompileOperation.cpp osgUtil/Optimizer.cpp osgUtil/RenderLeaf.cpp Every time, it was solved by just adding a "const" before a variable declaration or a by replacing a "iterator" with a "const_iterator" 3/ there are a few other API changes, but for "internal methods" only, for example : void applyBuiltInMatrixUniformsIfRequired(); void updateBuiltInMatrixUniformsIfRequired(unsigned int buildInMatrixUniformsToUpdate); void resetBuiltInMatrixUniforms(); are new methods which replace older ones, but the were used only inside the State class. Thank you, and have fun time with your family ! Cheers, Aurelien ------------------ Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=52593#52593 _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
