这可能是一个基本问题,但我无法在任何地方找到答案。 当我想翻译场景中的对象时,OpenGL使用的坐标是什么?
是-1,0
和1,0
中的X
到Y
吗? (所以我必须使用-1
和1
之间的数字来移动我的对象。
它取决于我设置的窗口大小吗? (所以我可以使用100或200之类的数字)。
如果我创建一个大小为500x500
的窗口怎么办?例如,如何确保我创建的对象位于底部?
感谢。
答案 0 :(得分:1)
对于X和Y坐标,OpenGL始终以[-1.0,1.0]间隔渲染。您可以创建自己的抽象来进行坐标转换。转换可以在OpenGL API调用或顶点着色器中完成。 "顶点着色器"对此更加方便,尤其是在进行3D渲染时。
"矩形区域"映射此空间的定义为" View Port"并且您可以使用OpenGL函数glViewport()
来设置将映射到OpenGL空间[-1.0,1.0] x [-1.0,1.0]的区域(以像素为单位)。