When the optimizer reduces static transforms, it multiplies the verticies and normals by the current transformation matrix.  It uses TransformAttributeFunctor to do this.  However, it's transforming the normals backwards.  The comment in the TransformAttributeFunctor.cpp line 43 says to post mult by inverse for normals which makes no sense.  The normals should be transformed the same way the verticies are.  If you change the matrix from _im to _m on line 44, then the model optimizes correctly with the normals pointing the correct way.

If you want, I can submit a patch for just this.

John
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to