Quiero usar VAO en mi aplicación native-c para Android.android-ndk, glGenVertexArraysOES no encontrado
El problema es, que GL_OES_vertex_array_object
se apoya y que incluso puede obtener No se encontraron las direcciones de glBindVertexArrayOES
y glDeleteVertexArraysOES
pero glGenVertexArraysOES
.
¿La presencia de GL_OES_vertex_array_object
significa que se puede acceder a todas estas funciones?
Mi código para VAO inicialización:
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");
}
Por supuesto me sale el mensaje de registro
Can't get proc address: glGenVertexArraysOES
Mi Android.mk
(se ha reducido un poco):
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)
Modelo del dispositivo Samsung i9003 con Android 2.3.5
¿Qué estás tratando de lograr? Por favor, copie algunos fragmentos de código. ¿Cómo se ve tu archivo MAKE? ¿En qué Libs confías? –
Vuelva a leer, por favor, actualicé la pregunta. –
¿Es su dispositivo "real"? Espero que no uses un emulador de Android que simule un Samsung i9003, ¿verdad? Encontré [esta publicación] (http://www.cocos2d-x.org/issues/1229) en la que podría estar interesado. "Precaución: OpenGL ES 2.0 actualmente no es compatible con el emulador de Android. Debe tener un examen físico dispositivo de prueba con Android 2.2 (nivel de API 8) o superior para ejecutar y probar el código de ejemplo en este tutorial ". –