2012-04-02 14 views
1

Ich versuche, die VertexArray mit Android NDK für ein Projekt, das bereits kompiliert und andere Open GL ES Anrufe ok verwendet verwenden. Für die Zwecke dieser Frage sprechen wir über den Aufruf 'glGenVertexArrays' allein.wie kann ich 'glGenVertexArrays' mit Android-ndk

fand ich die folgende Definition in gl2ext.h:

GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 

es hinter GL_GLEXT_PROTOTYPES Definition definiert ist. Also habe ich es definiert und benutzt. Es kompiliert gut, aber ich bin immer der Linkfehler: undefined reference, so scheint es, es von der lib-Datei fehlt ...

Also, dann habe ich versucht, die typedef unten in gl2ext.h mit:

typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 

wie folgt aus:

PFNGLGENVERTEXARRAYSOESPROC glGenVertexArrays; 
glGenVertexArrays = (PFNGLGENVERTEXARRAYSOESPROC) eglGetProcAddress("glGenVertexArraysOES"); 

und ... nichts, wird NULL zurückgegeben.

ich versucht, auch "glGenVertexArrays" ... nichts, gibt immer noch NULL

irgendwelche Ideen geschätzt würde. Vielen Dank.

Antwort

1

Sie versuchen OpenGL ES Extensions, die möglicherweise unterstützt werden oder nicht.

http://www.khronos.org/opengles/documentation/opengles1_0/html/glIntro.html

Nur weil es in den Standard-Header ist, bedeutet nicht, dass Android oder eine bestimmte Implementierung tatsächlich, dass die API hat.

+0

Ja. Überprüfen Sie, ob die von glGetString (GL_EXTENSION) zurückgegebene Zeichenfolge GL_OES_vertex_array_object enthält. Nur wenn es enthält, können Sie Vertex-Array-Objekte verwenden. –

Verwandte Themen