我还没有看到有人回答这个问题。我所看到的只是人们告诉他们一些事情是颠倒的,然后有人告诉他们翻转他们的代码。但我想知道为什么OpenGL会翻转Y型坐标?这毫无意义。
答案 0 :(得分:4)
OpenGL假设Y坐标从下到上。如果您的代码假定相反,则会将内容颠倒过来。
有关 opengl坐标系
的更多信息,请访问Google答案 1 :(得分:1)
这完全取决于您如何设置场景。有很多事情可以导致这种影响。
例如,相机位置/方向会影响您查看最终场景的方式。
gluLookAt(camera[0], camera[1], camera[2], /* look from camera XYZ */
0, 0, 0, /* look at the origin */
0, 1, 0); /* positive Y up vector */
使用纹理时,指定错误的纹理坐标可以翻转图形。
但最强烈的<常见问题可能是人们忘记了OpenGL将坐标(0,0)定义为显示的左下角(Y向上) )。
答案 2 :(得分:1)
OpenGL适用于笛卡尔坐标。在笛卡尔坐标系中,0,0位于中心,正向线向上和向右延伸。可以将任何坐标映射或转换为程序员所希望的任何坐标,但这是默认值。当你给出纹理坐标时,OpenGL期望那些是Catresian坐标,而不是自上而下的坐标。这些坐标可以通过程序进行转换,但最快的解决方法就是翻转纹理。