#ifndef MSP_GL_ARB_SHADER_OBJECTS_
#define MSP_GL_ARB_SHADER_OBJECTS_
-#include <GL/gl.h>
+#include "extension.h"
+#include "gl.h"
+#include <GL/glext.h>
namespace Msp {
namespace GL {
-extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
-extern PFNGLGETHANDLEARBPROC glGetHandleARB;
-extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
-extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
-extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
-extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
-extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
-extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
-extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
-extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
-extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
-extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
-extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
-extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
-extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
-extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
-extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
-extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
-extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
-extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
-extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
-extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
-extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
-extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
-extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
-extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
-extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
-extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
-extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
-extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
-extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
-extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
-extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
-extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
-extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
-extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
-extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
-extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
-extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
+extern PFNGLATTACHOBJECTARBPROC glAttachShader;
+extern PFNGLCOMPILESHADERARBPROC glCompileShader;
+extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgram;
+extern PFNGLCREATESHADEROBJECTARBPROC glCreateShader;
+extern PFNGLDELETEOBJECTARBPROC glDeleteProgram;
+extern PFNGLDELETEOBJECTARBPROC glDeleteShader;
+extern PFNGLDETACHOBJECTARBPROC glDetachShader;
+extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniform;
+extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedShaders;
+extern PFNGLGETINFOLOGARBPROC glGetProgramInfoLog;
+extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetProgramiv;
+extern PFNGLGETINFOLOGARBPROC glGetShaderInfoLog;
+extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSource;
+extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetShaderiv;
+extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocation;
+extern PFNGLGETUNIFORMFVARBPROC glGetUniformfv;
+extern PFNGLGETUNIFORMIVARBPROC glGetUniformiv;
+extern PFNGLLINKPROGRAMARBPROC glLinkProgram;
+extern PFNGLSHADERSOURCEARBPROC glShaderSource;
+extern PFNGLUNIFORM1FARBPROC glUniform1f;
+extern PFNGLUNIFORM1FVARBPROC glUniform1fv;
+extern PFNGLUNIFORM1IARBPROC glUniform1i;
+extern PFNGLUNIFORM1IVARBPROC glUniform1iv;
+extern PFNGLUNIFORM2FARBPROC glUniform2f;
+extern PFNGLUNIFORM2FVARBPROC glUniform2fv;
+extern PFNGLUNIFORM2IARBPROC glUniform2i;
+extern PFNGLUNIFORM2IVARBPROC glUniform2iv;
+extern PFNGLUNIFORM3FARBPROC glUniform3f;
+extern PFNGLUNIFORM3FVARBPROC glUniform3fv;
+extern PFNGLUNIFORM3IARBPROC glUniform3i;
+extern PFNGLUNIFORM3IVARBPROC glUniform3iv;
+extern PFNGLUNIFORM4FARBPROC glUniform4f;
+extern PFNGLUNIFORM4FVARBPROC glUniform4fv;
+extern PFNGLUNIFORM4IARBPROC glUniform4i;
+extern PFNGLUNIFORM4IVARBPROC glUniform4iv;
+extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fv;
+extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fv;
+extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fv;
+extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgram;
+extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgram;
-void init_arb_shader_objects();
+extern Extension ARB_shader_objects;
} // namespace GL
} // namespace Msp