【问题标题】:Getting the size of the OpenGL window in Android在 Android 中获取 OpenGL 窗口的大小
【发布时间】:2010-10-31 20:46:10
【问题描述】:

我正在尝试在 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 是窗口的宽度,y 轴上的 0.1 是窗口的高度。任何帮助将不胜感激。

干杯

【问题讨论】:

  • 如果您需要覆盖整个屏幕,是否有什么阻止您只使用背景颜色?

标签: android opengl-es


【解决方案1】:

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

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

以下网站对此进行了更好的解释。 http://www.scottlu.com/2008/04/fast-2d-graphics-wopengl-es.html

【讨论】:

    【解决方案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

    【讨论】:

    • 提供像素分辨率,我正在寻找与 openGL 视口相关的大小。
    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多