使用 NDK 编写 OpenGL ES 2.0 程序。我面临错误Called unimplemented OpenGL ES API
。
我的程序没有任何 OpenGL ES 1.x 调用。还启用了模拟器 GPU 支持。生成文件如下
/*Android.mk*/
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := NDKTestApp
LOCAL_SRC_FILES := firstTriangle.cpp
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv2
LOCAL_STATIC_LIBRARIES := android_native_app_glue
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
我没有在任何地方链接版本 1.x 库,但在日志中我仍然可以看到
loaded .../libGLESv1_CM_emulation.so
loaded .../libGLESv2_emulation.so
所以我认为问题是在版本 1 库中搜索函数,它不会很明显地在那里找到,错误也是如此。
那么如何停止与版本 1 库的链接,例如强制避免加载它?
上下文是使用创建的
const EGLint context_attribs[] = {
EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE
};
.
.
.
context = eglCreateContext(display, config, NULL, context_attribs);