Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android glOrthof和glViewPort之间的差异_Android_Opengl Es_2d_Orthographic - Fatal编程技术网

Android glOrthof和glViewPort之间的差异

Android glOrthof和glViewPort之间的差异,android,opengl-es,2d,orthographic,Android,Opengl Es,2d,Orthographic,在OpenGL ES上,我不清楚设置和 glOrthof() glViewPort() GLU.gluOrtho2D() 用它各自的参数。因为我相信这都是将你能看到的部分设置为指定的坐标(宽度、高度)。我应该使用哪一个?确定OpenGL要绘制到的窗口部分。这可能是整个窗口,也可能是一个子窗口(想想控制台游戏的“分屏”模式——每个玩家都有一个不同的视口) 将应用于当前矩阵,该矩阵通常在此调用之前设置为投影矩阵。投影矩阵与modelview相结合,生成一个将OpenGL坐标转换为屏幕坐标的矩阵

在OpenGL ES上,我不清楚设置和

glOrthof()  
glViewPort()
GLU.gluOrtho2D()
用它各自的参数。因为我相信这都是将你能看到的部分设置为指定的坐标(宽度、高度)。我应该使用哪一个?

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

将应用于当前矩阵,该矩阵通常在此调用之前设置为投影矩阵。投影矩阵与modelview相结合,生成一个将OpenGL坐标转换为屏幕坐标的矩阵

,

这相当于使用near=-1和far=1调用glOrtho

我建议您了解更多有关如何在OpenGL中进行查看和转换的详细信息


你应该用哪一种?视口和正交投影是不同的关注点,因此需要对它们进行调用。glOrthof和gluOrtho2D大致相当;了解差异并使用其中一种。

关于分屏模式,这是否意味着glViewport就像指向3d世界中的某个位置?顺便说一句,我会在有时间的时候研究链接;)谢谢例如,如果我想在世界/地图上滚动,平移所有对象,或者改变GLVIEWORP或glOrtho投影?(抱歉,无法再编辑)视口与3D世界无关。它与最终屏幕坐标有关。若要在三维空间中移动对象,请在模型视图矩阵处于活动状态时进行旋转/平移。一定要看看那个链接。