Hi All, I'm using the dae reader/writer to export and load a model, however when I read the model back in there are display issues associated with normals. Essentially what appears to be happening is that there exists a scaling on my model, which correspondingly would have the effect of scaling the normals of the model, and hence the lighting goes wrong. The author of the dae reader/writer plugin has corrected this issue by identifying that there is a resultant scaling occuring in the matrix transforms, and calls stateset->setMode(GL_RESCALE_NORMALS, with the ON and OVERRIDE state values.
Now the issue is that this isn't honoured by my graphics driver. If I replace the GL_RESCALE_NORMAL with GL_NORMALIZE everything works fine. So in some ways the solution would be for me to upgrade my drivers (if possible) to ones that support openGL1.2. However, this may or may not be possible, and may not form the most consistent solution across platforms. One of the comments I read on the mail archive seemed to imply that in general to avoid these scaling problems, the model vertices should be scaled directly, and not via matrix operations. Is this really the recommended route, and if so how do interested parties feel about someone (probably me) extending the Collada writer to try and remove the scaling on a nodepath and apply it at the geometry vertex level ? Should this be option driven, or imposed? I guess there are some complications here as if differing nodepaths to the same model produce differing scaling factors, the collada export is going to need to write geometry definitions for each of these nodepath scaled model instances. Has anyone considered this already and come up with a really neat solution ? I recognise that coding around driver issues is not ideal, and may not be desireable. Thoughts and comments welcomed as usual. Thanks Neil. _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

