在OpenGL-ES中,我对设置以下内容的差异感到困惑:
glOrthof()
glViewPort()
GLU.gluOrtho2D()
使用它各自的参数。我认为这一切都是将您可以看到的部分设置为指定的坐标(宽度、高度)。我应该使用哪一个?
在OpenGL-ES中,我对设置以下内容的差异感到困惑:
glOrthof()
glViewPort()
GLU.gluOrtho2D()
使用它各自的参数。我认为这一切都是将您可以看到的部分设置为指定的坐标(宽度、高度)。我应该使用哪一个?
glViewport确定OpenGL绘制的窗口部分。这可以是整个窗口,也可以是子部分(考虑控制台游戏的“分屏”模式-每个玩家都有一个不同的视口)。
glOrthof对当前矩阵应用正交投影,通常在此调用之前设置为投影矩阵。将投影矩阵与模型视图相结合,产生一个将OpenGL坐标转换为屏幕坐标的矩阵。
这相当于使用near = -1和far = 1调用glOrtho。
我建议这个页面以获取有关OpenGL中查看和转换工作原理的更多详细信息。
你应该使用哪个?视口和正交投影是不同的问题,因此你需要分别调用它们。 glOrthof和gluOrtho2D大致等效;了解差异并使用其中之一。