我正在尝试理解OpenGL坐标系。但是,一些教程说默认坐标系是左手坐标系(请参见http://www.c-sharpcorner.com/UploadFile/jeradus/OpenGLBasics11172005014307AM/OpenGLBasics.aspx),而另一些教程则说它是右手坐标系(请参见http://www.falloutsoftware.com/tutorials/gl/gl0.htm)。哪一个是正确的?我知道我们可以通过镜像将其中一个转换为另一个,但我想知道默认坐标。
发布于 2017-06-28 15:20:08
Opengl绝对是左撇子。你会看到很多教程都是相反的,因为它们否定了投影矩阵中的z值。在顶点着色器内部计算最终顶点时,它会将从客户端(右侧坐标)传递的顶点转换为左侧顶点,然后将顶点传递给几何体着色器和碎片着色器。如果你在客户端使用右手坐标系,Opengl并不关心。它只知道归一化的坐标系,这是左手的。
编辑:如果你不信任我,只需在你的顶点着色器中添加一个平移矩阵,你就可以很容易地看到Opengl是不是左撇子。
https://stackoverflow.com/questions/4124041
复制相似问题