【问题标题】:How do I create an OpenGL ES 2 context in a native activity?如何在本机活动中创建 OpenGL ES 2 上下文?
【发布时间】:2012-07-13 19:18:09
【问题描述】:

在我的一生中,我找不到任何适用于 OpenGL ES 2 的好的纯 Android NDK 示例。包含的 native-activity 示例项目构建了一个 ES 1 上下文。是否有任何示例程序演示了在纯 C++ 中创建 ES 2 上下文?

【问题讨论】:

    标签: c++ opengl-es android-ndk egl


    【解决方案1】:

    创建 OpenGL ES 2 上下文应该与创建 OpenGL ES 1 大致相同。基于 NDK 中的“native-activity”示例,您只需将其添加到传递给eglChooseConfig 的属性列表中:

    const EGLint attribs[] =
    {
        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
        ...
        EGL_NONE
    };
    

    这应该确保您的配置与 ES2 兼容。

    然后将这个属性列表传递给eglCreateContext

    EGLint AttribList[] = 
    {
        EGL_CONTEXT_CLIENT_VERSION, 2,
        EGL_NONE
    };
    

    这样的调用:

    context = eglCreateContext(display, config, NULL, AttribList);
    

    【讨论】:

    • 具有讽刺意味的是,我在 Raspberry Pi 上的 OpenGL ES 2 教程中找到了解决方案。不过,感谢您的明确回答。这确实是答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    相关资源
    最近更新 更多