我正在学习 openGL ES 2.0 来制作 Android 游戏。
我想知道不同的结果屏幕会如何影响我的程序?
我制作了一个旋转三角形的示例程序,并注意到当我将我的设备侧向转动时,三角形变小并且与边缘的距离不同。
这是如何运作的,我应该如何制作一款在不同设备上都能很好运行的游戏?
最佳答案
每个轴的屏幕坐标从 -1.0f
到 1.0f
,原点 (0|0) 位于屏幕中心。
考虑一个三角形
A(-1|-1), B(+1|-1), C(0|+1)
在纵向方向上正确显示,将在横向方向上水平拉伸(stretch)和垂直压缩。那是因为定位是相对于屏幕的:
A(左下)、B(右下)、C(中上)
因此,缩放是不成比例的。在进行比例缩放时,您必须使用屏幕的纵横比并在顶点着色器中适本地变换顶点。
关于android - 使用 openGL ES 管理不同分辨率的手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5223841/