Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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 如何在OpenGL ES 2.0中设置我的视图以精确显示正确的坐标数_Android_Opengl Es 2.0 - Fatal编程技术网

Android 如何在OpenGL ES 2.0中设置我的视图以精确显示正确的坐标数

Android 如何在OpenGL ES 2.0中设置我的视图以精确显示正确的坐标数,android,opengl-es-2.0,Android,Opengl Es 2.0,我正在为Android编写一个简单的2D游戏,游戏区域为300x200,坐标从(0,0到299199)。我希望这个区域尽可能地填充屏幕,同时保持其纵横比。e、 g.如果GL视图填满了设备的整个800x480,我可以将该区域缩放2.4倍至720x480,任一侧保留40个像素的空间 我不认为很多设备在两个维度上都能精确伸缩,因此代码必须处理水平或垂直方向上的间隙 所以问题是我如何做到这一点。我的游戏区域是二维的,所以我可以使用正射投影。我只是不明白我需要插入什么值来设置它。我还怀疑,由于ES 2.0

我正在为Android编写一个简单的2D游戏,游戏区域为300x200,坐标从(0,0到299199)。我希望这个区域尽可能地填充屏幕,同时保持其纵横比。e、 g.如果GL视图填满了设备的整个800x480,我可以将该区域缩放2.4倍至720x480,任一侧保留40个像素的空间

我不认为很多设备在两个维度上都能精确伸缩,因此代码必须处理水平或垂直方向上的间隙

所以问题是我如何做到这一点。我的游戏区域是二维的,所以我可以使用正射投影。我只是不明白我需要插入什么值来设置它。我还怀疑,由于ES 2.0严重依赖着色器,我可能需要将某种缩放矩阵传播到向量着色器,以确保对象渲染到正确的大小


有谁知道一个很好的教程,它的语言可能符合我的需要?我看到的大多数教程似乎都满足于将立方体或正方形转储到屏幕中间,而不是渲染精确尺寸的区域。

使用熟悉的Opengl函数,如glViewport和glProjection,这些问题应该很容易解决。GLM为Opengl ES等环境提供了这一功能,请看一看