为什么OpenGL会把东西画颠倒?
我还没有看到有人回答这个问题。我所看到的只是人们告诉他们有些东西是颠倒的,然后其他人告诉他们翻转代码。但我想知道的是,为什么OpenGL会翻转Y坐标?这毫无意义。OpenGL假设Y坐标从下到上。如果您的代码假设相反,则会颠倒显示内容为什么OpenGL会把东西画颠倒?,opengl,drawing,rendering,flip,Opengl,Drawing,Rendering,Flip,我还没有看到有人回答这个问题。我所看到的只是人们告诉他们有些东西是颠倒的,然后其他人告诉他们翻转代码。但我想知道的是,为什么OpenGL会翻转Y坐标?这毫无意义。OpenGL假设Y坐标从下到上。如果您的代码假设相反,则会颠倒显示内容 有关详细信息,请使用Google Foropengl坐标系这一切取决于您如何设置场景。有很多事情会导致这种效果 例如,摄影机位置/方向会影响您查看最终场景的方式 gluLookAt(camera[0], camera[1], camera[2], /* look
有关详细信息,请使用Google Foropengl坐标系这一切取决于您如何设置场景。有很多事情会导致这种效果 例如,摄影机位置/方向会影响您查看最终场景的方式
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向上)。OpenGL使用笛卡尔坐标。在笛卡尔坐标系中,0,0位于中心,正坐标向上和向右延伸。任何坐标都可以映射或转换为程序员希望的任何坐标,但这是默认值。当您给出纹理坐标时,OpenGL希望这些坐标是Catresian坐标,而不是自顶向下的坐标。程序可以变换这些坐标,但最快的修复方法是翻转纹理