#ifndef GL_FUNCS_H_ #define GL_FUNCS_H_ #include #define PLTF_GL_FUNCS(X) \ X(PFNGLGETINTEGERVPROC, glGetIntegerv); \ X(PFNGLGETFLOATVPROC, glGetFloatv); \ X(PFNGLCLEARCOLORPROC, glClearColor); \ X(PFNGLCLEARPROC, glClear); \ X(PFNGLGETERRORPROC, glGetError); \ X(PFNGLGENVERTEXARRAYSPROC, glGenVertexArrays); \ X(PFNGLBINDVERTEXARRAYPROC, glBindVertexArray); \ X(PFNGLGENBUFFERSPROC, glGenBuffers); \ X(PFNGLBINDBUFFERPROC, glBindBuffer); \ X(PFNGLBUFFERDATAPROC, glBufferData); \ X(PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer); \ X(PFNGLCREATESHADERPROC, glCreateShader); \ X(PFNGLSHADERSOURCEPROC, glShaderSource); \ X(PFNGLCOMPILESHADERPROC, glCompileShader); \ X(PFNGLGETSHADERIVPROC, glGetShaderiv); \ X(PFNGLCREATEPROGRAMPROC, glCreateProgram); \ X(PFNGLATTACHSHADERPROC, glAttachShader); \ X(PFNGLLINKPROGRAMPROC, glLinkProgram); \ X(PFNGLGETPROGRAMIVPROC, glGetProgramiv); \ X(PFNGLUSEPROGRAMPROC, glUseProgram); \ X(PFNGLDRAWARRAYSPROC, glDrawArrays); \ X(PFNGLGETSHADERINFOLOGPROC, glGetShaderInfoLog); \ X(PFNGLDELETESHADERPROC, glDeleteShader); \ X(PFNGLENABLEVERTEXATTRIBARRAYPROC, glEnableVertexAttribArray); \ #define X(type, name) extern type name PLTF_GL_FUNCS(X) #undef X void* pltf_gl_function_load(const char* name); void pltf_gl_funcs_load(); #endif // GL_FUNCS_H_