在Android中获取OpenGL窗口的大小

时间:2009-06-06 11:46:09

标签: android opengl-es

我正试图在OpenGL ES(Android)2D中绘制一个正方形并覆盖整个屏幕。

目前我只是使用反复试验,但我确信必须有更好的方法来获得屏幕尺寸。以下是我目前正在初始化square的方法:

    float[] square = new float[] {  -0.1f, -0.1f, 0.0f,
                                0.1f, -0.1f, 0.0f,
                                -0.1f, 0.1f, 0.0f,
                                0.1f, 0.1f, 0.0f };

理想情况下,x轴上的0.1f将是窗口高度的宽度和0.1 y。任何帮助将不胜感激。

干杯

2 个答案:

答案 0 :(得分:2)

. . .
    WindowManager w = getWindowManager();
    Display d = w.getDefaultDisplay();
    int width = d.getWidth();
    int height = d.getHeight();
. . . 

请参阅http://groups.google.com/group/android-developers/browse_thread/thread/229c677ef0c5ae97

答案 1 :(得分:2)

我认为屏幕的大小取决于您的投影。对于2D图形,大多数人使用glOrtho来定义平行投影。您可以在此处指定尺寸。

此外,您可以指定更大的尺寸并在裁剪边界内放置多个2D纹理,或者您可以使用单个纹理将顶点映射到指定投影的角。这个单一纹理将包含您的整个显示内容。

以下网站更好地解释了这一点。 http://www.scottlu.com/2008/04/fast-2d-graphics-wopengl-es.html