這個函數不在基本操作規範中,所以它們沒有默認定義,但是作爲擴展提供。
如果您使用的設備支持此擴展名,您可以獲取函數的phsical地址並通過函數指針使用它。
應該這樣看:
PFNGLGENVERTEXARRAYSOESPROC glGenVertexArraysOES;
PFNGLBINDVERTEXARRAYOESPROC glBindVertexArrayOES;
PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArraysOES;
PFNGLISVERTEXARRAYOESPROC glIsVertexArrayOES;
glGenVertexArraysOES = (PFNGLGENVERTEXARRAYSOESPROC)eglGetProcAddress ("glGenVertexArraysOES");
glBindVertexArrayOES = (PFNGLBINDVERTEXARRAYOESPROC)eglGetProcAddress ("glBindVertexArrayOES");
glDeleteVertexArraysOES = (PFNGLDELETEVERTEXARRAYSOESPROC)eglGetProcAddress ("glDeleteVertexArraysOES");
glIsVertexArrayOES = (PFNGLISVERTEXARRAYOESPROC)eglGetProcAddress ("glIsVertexArrayOES");
比你可以使用的功能。不要忘記這個綁定發生在運行時,所以檢查這個函數是否被支持是一個好主意。如果設備不支持,指針將爲0.
您是否認爲您的OpenGL ES實現不支持OES_vertex_array_object? –
在glext.h我看到GL_API void GL_APIENTRY glBindVertexArrayOES(GLuint array); GL_API void GL_APIENTRY glDeleteVertexArraysOES(GLsizei n,常量GLuint *數組); GL_API無效GL_APIENTRY glGenVertexArraysOES(GLsizei n,GLuint *數組); – Suvitruf