diff options
Diffstat (limited to 'gl.h')
-rw-r--r-- | gl.h | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -1,7 +1,51 @@ #ifndef GL_H #define GL_H +#ifndef WIN32 #define GL_GLEXT_PROTOTYPES +#endif + #include <SDL_opengl.h> +#ifdef WIN32 +/* buffer */ +extern void (APIENTRY *glGenBuffers)(GLsizei, GLuint*); +extern void (APIENTRY *glDeleteBuffers)(GLsizei, GLuint*); +extern void (APIENTRY *glBindBuffer)(GLenum, GLuint); +extern void (APIENTRY *glBufferData)(GLenum, GLsizeiptr, const GLvoid*, GLenum); +extern GLvoid* (APIENTRY *glMapBuffer)(GLenum, GLenum); +extern GLboolean (APIENTRY *glUnmapBuffer)(GLenum); + +/* uniform */ +extern GLint (APIENTRY *glGetUniformLocation)(GLuint, const GLchar*); +extern void (APIENTRY *glUniform1i)(GLint, GLint); +extern void (APIENTRY *glUniform2f)(GLint, GLfloat, GLfloat); +extern void (APIENTRY *glUniform3f)(GLint, GLfloat, GLfloat, GLfloat); +extern void (APIENTRY *glUniform1iv)(GLint, GLsizei, const GLint*); + +/* texture */ +extern void (APIENTRY *glActiveTexture)(GLenum); + +/* program/shader */ +extern GLuint (APIENTRY *glCreateProgram)(void); +extern void (APIENTRY *glLinkProgram)(GLuint); +extern void (APIENTRY *glGetProgramiv)(GLuint, GLenum, GLint*); +extern void (APIENTRY *glGetProgramInfoLog)(GLuint, GLsizei, GLsizei*, GLchar*); +extern void (APIENTRY *glUseProgram)(GLuint); +extern void (APIENTRY *glDeleteProgram)(GLuint); + +extern GLuint (APIENTRY *glCreateShader)(GLenum); +extern void (APIENTRY *glShaderSource)(GLuint, GLsizei, const GLchar**, const GLint*); +extern void (APIENTRY *glCompileShader)(GLuint); +extern void (APIENTRY *glGetShaderiv)(GLuint, GLenum, GLint*); +extern void (APIENTRY *glGetShaderInfoLog)(GLuint, GLsizei, GLsizei*, GLchar*); + +extern void (APIENTRY *glAttachShader)(GLuint, GLuint); +extern void (APIENTRY *glDetachShader)(GLuint, GLuint); +extern void (APIENTRY *glDeleteShader)(GLuint); + +void win32_gl_init(); +#endif + + #endif |