android - glOrthof 和 glViewPort 之间的区别

标签 android opengl-es 2d orthographic

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

glOrthof()  
glViewPort()
GLU.gluOrtho2D()

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

最佳答案

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

glOrthof应用 orthographic projection到当前矩阵,通常在调用之前设置为投影矩阵。投影矩阵与模型 View 结合生成一个矩阵,将 OpenGL 坐标转换为屏幕坐标。

gluOrtho2D ,

This is equivalent to calling glOrtho with near = -1 and far = 1.

我推荐 this page有关 OpenGL 中查看和转换如何工作的更多详细信息。

您应该使用哪个?视口(viewport)和正交投影是不同的关注点,因此您需要分别调用。 glOrthof 和 gluOrtho2D 大致相同;了解其中的区别并使用其中之一。

关于android - glOrthof 和 glViewPort 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7572862/

相关文章:

php将二维数组插入mysql

c - c中的双指针和二维数组

java - 重启后第二天闹钟管理器不起作用

安卓 NFC : Can we uniquely identify the NFC beam of each mobile device?

android - 带有 spongycaSTLe LICENSE.class 的 java.util.zip.ZipException

java - 混合 Android View 和 GLSurfaceView

android - ACTION_MEDIA_BUTTON 在 BroadcastReceiver 中不起作用

Android、GL、沉浸模式下的屏幕尺寸

Android (JNI/NDK) OpenGL - FPS 显示帮助

python |从二维数组中提取元素