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

Reply via email to