测量屏幕与正交剪裁平面一起使用的好方法

时间:2011-07-26 20:45:33

标签: android opengl-es parameters screen orthographic

嘿,我正在转换我的项目,以便它使用正交投影,因为我被告知它更简单,更适合2D游戏。我不知道我真的知道如何测量剪裁平面的屏幕参数。我可以硬编码数字,但是当屏幕放入横向时会导致拉伸。我甚至不知道裁剪平面是否要固定到屏幕的边缘,但似乎是这种情况,因为我一直在尝试不同的数字,数字越大,绘制的形状越小。这导致我假设我输入的数字只是轴的极端。

我的假设是否正确?

避免拉伸的最佳方法是什么?

什么命令最适合查找屏幕大小?

1 个答案:

答案 0 :(得分:0)

啊哈得到它=)

刚才意识到我的onSurfaceChanged方法看起来像这样:

@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
    gl.glViewport(0, 0, width, height);
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glLoadIdentity();
    GLU.gluOrtho2D(gl, -width, width , -height, height);
    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glLoadIdentity();

gl.glViewPort找到屏幕尺寸,经过一段时间的播放后,我终于得到了一个中心对齐的图像,当使用线条改变方向时没有拉伸

GLU.gluOrtho2D(gl, -width, width , -height, height);

有人纠正我,如果有更好的方法来实现这个=)