0

我正在为 Android 编写一个简单的 2D 游戏,游戏区域为 300x200,坐标从(0,0 到 299,199)运行。我希望这个区域尽可能地填充屏幕,同时保持其纵横比。例如,如果 GL 视图填满了设备的全部 800x480,我可以将该区域缩放 2.4x 到 720x480,从而在两侧留下 40 像素的空间。

我不认为许多设备会在两个维度上完全缩放,因此代码必须应对水平或垂直的间隙。

所以问题是我该怎么做。我的游戏区是 2D 的,所以我可以使用正交投影。我只是不明白我需要插入什么值来设置它。我还怀疑因为 ES 2.0 严重依赖着色器,我可能需要将某种缩放矩阵传播到矢量着色器以确保对象被渲染到正确的大小。

有谁知道一个很好的教程,它可能会用对我的需求有意义的术语来说话?我见过的大多数教程似乎都满足于将一个立方体或正方形倾倒到屏幕中间,而不是渲染一个精确尺寸的区域。

4

1 回答 1

0

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

http://glm.g-truc.net/

于 2012-04-18T12:42:59.643 回答