Just as a followup, I did discover why OSG was adding the MVP and Vertex 
declarations to the vertex file.  I had previously started with version 120 
code that included the line


Code:

gl_Position = ftransform();




In my effort to carefully transition from 120 to 140+, I only commented out the 
ftransform() statement - I didn't remove it.  

Thus, my transitioned code looked like:


Code:

gl_Position = osg_ModelViewProjectionMatrix * osg_Vetex; //ftransform(); 




The automatic conversion, then, saw the call to ftransform() and did what it 
was supposed to do - replaced ftranform() with osg_MVP * osg_Vertex and 
declared both at the start of the file.  The end result would be that osg_MVP 
and osg_Vertex get declared twice (once by me and once by the auto converter) 
and the gl_Position statement ends up looking like:


Code:

gl_Position = osg_ModelViewProjectionMatrix * osg_Vertex; 
//osg_ModelViewProjectionMatrix * osg_Vertex;




I suppose that's a bug, which requires detecting commented code in the source 
string to fix, but I can't imagine anyone else but me would go to the effort to 
create the condition that caused it...

Anyway, the moral of the story is: don't leave any commented out calls to 
ftransform() in legacy shader code!

Whoops. :)

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=47776#47776





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to