14

在 OpenGL-ES 上,我对设置之间的区别感到困惑

glOrthof()  
glViewPort()
GLU.gluOrtho2D()

及其各自的参数。因为我相信这一切都是将您可以看到的部分设置为指定的坐标(宽度,高度)。我应该使用哪个?

4

1 回答 1

23

glViewport确定 OpenGL 绘制到的窗口部分。这可能是整个窗口,也可能是一个小部分(想想主机游戏的“分屏”模式——每个玩家都有不同的视口)。

glOrthof正交投影应用于当前矩阵,通常在此调用之前设置为投影矩阵。投影矩阵与模型视图结合生成一个矩阵,将您的 OpenGL 坐标转换为屏幕坐标。

gluOrtho2D ,

这等效于使用 near = -1 和 far = 1 调用 glOrtho。

我推荐这个页面来了解更多关于如何在 OpenGL 中查看和转换的细节。

你应该使用哪个?视口和正交投影是不同的关注点,因此您需要分别调用它们。glOrthof 和 gluOrtho2D 大致等价;知道区别并使用其中一种。

于 2011-09-27T17:15:01.143 回答