#include "GLES_3_1_compatibility.h" /* fails at link time, resorting to eglGetProcAddress #define GL_GLEXT_PROTOTYPES 1 #include */ #include PFNGLGENVERTEXARRAYSOESPROC glGenVertexArraysOES; PFNGLBINDVERTEXARRAYOESPROC glBindVertexArrayOES; PFNGLDRAWBUFFERSEXTPROC glDrawBuffersEXT; void glGenVertexArrays( GLuint n, GLuint *arrays_ptr) { glGenVertexArraysOES( n, arrays_ptr); } void glBindVertexArray( GLuint array_ptr) { glBindVertexArrayOES( array_ptr); } /* https://registry.khronos.org/OpenGL/extensions/OES/OES_framebuffer_object.txt */ void glDrawBuffers( GLsizei n,GLenum *buffers_ptr) { glDrawBuffersEXT( n, buffers_ptr); } void GLES_3_1_compatibility_init(){ glGenVertexArraysOES = (PFNGLGENVERTEXARRAYSOESPROC)eglGetProcAddress("glGenVertexArraysOES"); glBindVertexArrayOES = (PFNGLBINDVERTEXARRAYOESPROC)eglGetProcAddress("glBindVertexArrayOES"); glDrawBuffersEXT = (PFNGLDRAWBUFFERSEXTPROC)eglGetProcAddress("glDrawBuffersEXT"); }