gpt4 book ai didi

opengl-es - Android NDK r9 中的 OpenGL ES 3.0

转载 作者:行者123 更新时间:2023-12-04 04:47:58 25 4
gpt4 key购买 nike

最近的 Android NDK r9 推出了对 OpenGL ES 3.0 的支持。有一个例子samples/gles3jni它演示了如何从 JNI/ native 代码使用 OpenGL ES 3.0。可以通过两种不同的方式构建示例:

  • 兼容 API 级别 11 及更高版本
  • 需要 API 级别 18 或更高版本。

  • 这两个版本都包含一个 OpenGL ES 2.0 回退路径,适用于不支持 OpenGL ES 3.0 的设备。但是,在第一种情况下,使用 LOCAL_LDLIBS 静态链接到 OpenGL ES 2。选项 -lGLESv2 .在第二种情况下,它以相同的方式与 GLES 3 静态链接。

    初始化是这样的:
    const char* versionStr = (const char*)glGetString(GL_VERSION);
    if (strstr(versionStr, "OpenGL ES 3.") && gl3stubInit()) {
    g_renderer = createES3Renderer();
    } else if (strstr(versionStr, "OpenGL ES 2.")) {
    g_renderer = createES2Renderer();
    }

    如何完全省略静态链接并从 .so 动态加载 GLES 2 或 3 ?

    最佳答案

    我没有 4.3 设备来测试它,但我的理解是第一种方法实际上使用 GLES 3(如果可用),因此它等效于动态链接 libGLESv3。

    与 libglesxx.so 的动态链接也是可能的,但是您没有快捷方式,并且必须对您使用的所有功能进行 dlsym。这不值得,恕我直言。

    关于opengl-es - Android NDK r9 中的 OpenGL ES 3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17902243/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com