Android OpenGL ES 3.0:称为未实现的opengl es api

时间:2016-05-13 07:37:49

标签: android opengl-es

您好我在Nexus 7,Android 5.0上运行了一个应用程序。它给了我错误称为未实现的opengl es api 。我正在尝试使用opengl es 3.0。我在我的清单文件中添加了以下内容

<uses-feature android:glEsVersion="0x00030000"/>
<uses-sdk android:minSdkVersion="21"/>

然后在我的make文件中我有

LOCAL_LDLIBS    := -llog -lGLESv3

我调试了代码,发现在guardedrun函数中的GLSurfaceView类中出现了错误。我有自定义GlSurfaceview和GLSurfaceView.Renderer。 GLSurfaceView类首先调用OnSurfaceCreated,它运行顺畅。它调用onSurfaceChanged函数时失败。我在onSurfaceChanged函数中调用了我的jni draw函数。所以它在C ++代码中失败了。我无法调试jni代码。以下是我创建上下文的代码

    private static int EGL_CONTEXT_CLIENT_VERSION = 0x3098;
    public EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig) {
        Log.w(TAG, "creating OpenGL ES 3.0 context");
        checkEglError("Before eglCreateContext", egl);
        int[] attrib_list = {EGL_CONTEXT_CLIENT_VERSION, 3, EGL10.EGL_NONE };
        EGLContext context = egl.eglCreateContext(display, eglConfig, EGL10.EGL_NO_CONTEXT, attrib_list);
        checkEglError("After eglCreateContext", egl);
        return context;
    }

0 个答案:

没有答案