我正试图在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。任何帮助将不胜感激。
干杯
答案 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