On 09/15/2011 01:23 PM, Mik Wells wrote:
Hi,
As far as I know it's not explicitly specified but is implicit in the projection 
transforms. Assuming the ModelView matrix is the identity, the matrices generated by the 
traditional Ortho/Frustum functions would result in a vertex's Y value determing its 
height on the screen. That scenario is enough for me to adopt Y as the 
"natural" up axis.

The point is that the x-right, y-up convention has nothing to do with OpenGL. It comes from the transformation from world space to screen space. The 2D screen is where the x-right, y-up comes into play. If you adopt a right-handed coordinate convention (which you don't have to, but it makes certain things in OpenGL more convenient), then the identity modelview and projection matrices will give you a projection where x is right, y is up and Z is toward you (out of the screen). Some window systems might even tack their own transform onto the end of this (XRandR, for example will change the x-right, y-up convention so you can rotate your monitor).

Paul's original point is that nothing in OpenGL is enforcing this, and once you start manipulating the modelview and projection matrices, it doesn't really mean anything anyway. There's no reason to pay any attention to the "default" orientation, since you can change that with a simple transform concatenated into the dozens of transforms you're already doing anyway. There are no absolutes when it comes to coordinate systems, everything is relative.

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

Reply via email to