Hi Dan et. al, I have had another look into this issue, looked at Dan's workaround and used Dan's test example to see investigate what might be going on. I have checked in a fix:
https://github.com/openscenegraph/OpenSceneGraph/commit/673292b995115c6ca9a3cc82c26e05023f504774 This allows the test example to work correctly in all different combinations with the realizer operation on/off etc. What I believe is the problem is that the the VertexArrayState object gets initialized by the realizer operation and uses the State::getUseVertexAttributeAliasing() that was current at the time of the realizer operation, then code then calls State::setUseVertexAttributeAliasing() afterwards to a different value, so the rest of the OSG assumes that is now the current value but the global VertexArrayState is still set up against the original value so is passing using GL vertex array settings that are inconsistent with the shaders. The solution is simple reassign the VertexArrayState for each call to State::setUseVertexAttributeAliasing(). I have only tested with Dan's test program, there is chance that other usage cases might tease out the issue in a different way, fingers crossed the just solves all these issue. Could users who've seen issues with the arrays being used correctly update to the head of the OpenSceneGraph-3.6 branch and let me know how you get on. If this all works fine then we can start looking at a release of 3.6.2 this month. Cheers, Robert. _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org