OpenGL - 翻译如何运作?

时间:2017-01-29 18:07:25

标签: opengl

这可能是一个基本问题,但我无法在任何地方找到答案。 当我想翻译场景中的对象时,OpenGL使用的坐标是什么?

-1,01,0中的XY吗? (所以我必须使用-11之间的数字来移动我的对象。 它取决于我设置的窗口大小吗? (所以我可以使用100或200之类的数字)。

如果我创建一个大小为500x500的窗口怎么办?例如,如何确保我创建的对象位于底部?

感谢。

1 个答案:

答案 0 :(得分:1)

对于X和Y坐标,OpenGL始终以[-1.0,1.0]间隔渲染。您可以创建自己的抽象来进行坐标转换。转换可以在OpenGL API调用或顶点着色器中完成。 "顶点着色器"对此更加方便,尤其是在进行3D渲染时。

"矩形区域&#​​34;映射此空间的定义为" View Port"并且您可以使用OpenGL函数glViewport()来设置将映射到OpenGL空间[-1.0,1.0] x [-1.0,1.0]的区域(以像素为单位)。