]> git.tdb.fi Git - libs/gl.git/blobdiff - source/arb_shader_objects.h
Function pointer typedefs for core functions are not available everywhere
[libs/gl.git] / source / arb_shader_objects.h
index 56200a9f2dd4612cdabac30ea3c10023d83e7330..c40de6332cf34487e2830e37a503be58a68f6f80 100644 (file)
@@ -1,52 +1,55 @@
 #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