PositionAttitudeTransform, like any OSG Transform, sets the OpenGL ModelView matrix, and that matrix is used to transform the normals (see the OpenGL spec, or any OpenGL book). So, scaling an object does indeed scale the normals.

GL_RESCALE_NORMAL works only for uniform scaling, as noted in Simon's post. For non-uniform scaling, use GL_NORMALIZE.

If you're using shaders (and I don't think you are, but if you do in the future), a third option would be to transform your normals directly in the shader code, giving you total control over how they are transformed.

Paul Martz
Skew Matrix Software LLC
_http://www.skew-matrix.com_ <http://www.skew-matrix.com/>
+1 303 859 9466



_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to