Android OpenGL坐标匹配屏幕坐标?
Android opengl es视图问题。因此,在openGL中,相机和视图的默认位置为0,0。如何设置视图和摄影机,使其与顶部为0,0的计算机屏幕坐标基本相同。我已经调用了gl.glOrthof(-screenWidth/2,screenWidth/2,-ScreenHeight/2,ScreenHeight/2)。但我认为这是错误的。我还需要设置相机以查看整个区域。我不知道如何使用gl.GLFRUSTOMF来完成此任务。要使用顶点坐标作为屏幕坐标,只需在投影矩阵上使用glOrtho(0,宽度,高度,0,-1,1),并保留modelview矩阵标识(这是默认设置)。请注意,我翻转了底部和顶部,如GL(0,0)位于左下角,您希望它位于顶部(但请记住,这也会翻转每个对象,因此三角形顺序)。您还忘记设置近平面和远平面(z超出此间隔的所有平面都不会显示)。但是当您现在使用z=0绘制所有对象时(这是默认值,仅绘制二维顶点时),一切都应该正常Android OpenGL坐标匹配屏幕坐标?,android,opengl-es,coordinates,Android,Opengl Es,Coordinates,Android opengl es视图问题。因此,在openGL中,相机和视图的默认位置为0,0。如何设置视图和摄影机,使其与顶部为0,0的计算机屏幕坐标基本相同。我已经调用了gl.glOrthof(-screenWidth/2,screenWidth/2,-ScreenHeight/2,ScreenHeight/2)。但我认为这是错误的。我还需要设置相机以查看整个区域。我不知道如何使用gl.GLFRUSTOMF来完成此任务。要使用顶点坐标作为屏幕坐标,只需在投影矩阵上使用glOrtho(0,宽
glFrustum
只是glOrtho
的替代品。当glOrtho
construct切割正交(平行)视图时,glFrustum
构造透视视图。所以你不需要glurtho(0,宽度,0,高度,-1,1)?@treehau5如果你阅读了整个答案,尤其是glurtho
调用之后的句子:“注意,我翻转了底部和顶部,就像GL(0,0)在左下角,你希望它在顶部一样。”右。现在主要的问题是,你为什么要这样做?@treehau5好吧,我怎么知道OP为什么需要左上角的原点。但考虑到许多2D绘图和窗口系统都是以这种方式工作的,因此也有这样的用例。