Ser*_*nov 5 android-ndk vertex-array
我想在Android的native-c应用程序中使用VAO.
问题是,这GL_OES_vertex_array_object是支持的,我甚至可以得到的地址glBindVertexArrayOES和glDeleteVertexArraysOES,但glGenVertexArraysOES没有找到.
存在是否GL_OES_vertex_array_object可以访问所有这些功能?
我的VAO初始化代码:
std::string vao = "GL_OES_vertex_array_object";
if ( isExtensionSupported ( vao.c_str () ) != 0 )
{
LOG ( vao << " supported" );
glBindVertexArrayOES = (PFNGLBINDVERTEXARRAYOESPROC)eglGetProcAddress ( "glBindVertexArrayOES" );
if ( !glBindVertexArrayOES )
LOG ( "Can't get proc address: glBindVertexArrayOES" );
glDeleteVertexArraysOES = (PFNGLDELETEVERTEXARRAYSOESPROC)eglGetProcAddress ( "glDeleteVertexArraysOES" );
if ( !glDeleteVertexArraysOES )
LOG ( "Can't get proc address: glDeleteVertexArraysOES" );
glGenVertexArraysOES = (PFNGLGENVERTEXARRAYSOESPROC)eglGetProcAddress ( "glGenVertexArraysOES" );
if ( glGenVertexArraysOES )
LOG ( "Can't get proc address: glGenVertexArraysOES" );
}
else
{
LOG ( vao << " not supported" );
}
Run Code Online (Sandbox Code Playgroud)
我当然得到了日志消息
Can't get proc address: glGenVertexArraysOES
我Android.mk(缩短了一点):
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := smart
LOCAL_SRC_FILES := Base/Node.cpp
...
LOCAL_LDLIBS := -llog -landroid -lGLESv2 -lEGL
LOCAL_STATIC_LIBRARIES := nv_and_util
include $(BUILD_SHARED_LIBRARY)
$(call import-add-path, C:/NVPACK/TDK_Samples/tegra_android_native_samples_v10p00/libs/jni)
$(call import-module,nv_and_util)
Run Code Online (Sandbox Code Playgroud)
设备型号三星i9003与Android 2.3.5
如果这确实是您的代码,那么错误就是您缺少“!”。比较:
if ( !glDeleteVertexArraysOES )
Run Code Online (Sandbox Code Playgroud)
到
if ( glGenVertexArraysOES )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2218 次 |
| 最近记录: |