#include "gl.h" #ifdef WIN32 /* program/shader */ GLuint (APIENTRY *glCreateProgram)(void); void (APIENTRY *glLinkProgram)(GLuint); void (APIENTRY *glGetProgramiv)(GLuint, GLenum, GLint*); void (APIENTRY *glGetProgramInfoLog)(GLuint, GLsizei, GLsizei*, GLchar*); void (APIENTRY *glUseProgram)(GLuint); void (APIENTRY *glDeleteProgram)(GLuint); GLuint (APIENTRY *glCreateShader)(GLenum); void (APIENTRY *glShaderSource)(GLuint, GLsizei, const GLchar**, const GLint*); void (APIENTRY *glCompileShader)(GLuint); void (APIENTRY *glGetShaderiv)(GLuint, GLenum, GLint*); void (APIENTRY *glGetShaderInfoLog)(GLuint, GLsizei, GLsizei*, GLchar*); void (APIENTRY *glAttachShader)(GLuint, GLuint); void (APIENTRY *glDetachShader)(GLuint, GLuint); void (APIENTRY *glDeleteShader)(GLuint); void win32_gl_init() { glCreateProgram = (GLuint(APIENTRY*)(void))wglGetProcAddress("glCreateProgram"); glLinkProgram = (void(APIENTRY*)(GLuint))wglGetProcAddress("glLinkProgram"); glGetProgramiv = (void(APIENTRY*)(GLuint, GLenum, GLint*))wglGetProcAddress("glGetProgramiv"); glGetProgramInfoLog = (void(APIENTRY*)(GLuint, GLsizei, GLsizei*, GLchar*))wglGetProcAddress("glGetProgramInfoLog"); glUseProgram = (void(APIENTRY*)(GLuint))wglGetProcAddress("glUseProgram"); glDeleteProgram = (void(APIENTRY*)(GLuint))wglGetProcAddress("glDeleteProgram"); glCreateShader = (GLuint(APIENTRY*)(GLenum))wglGetProcAddress("glCreateShader"); glShaderSource = (void(APIENTRY*)(GLuint, GLsizei, const GLchar**, const GLint*))wglGetProcAddress("glShaderSource"); glCompileShader = (void(APIENTRY*)(GLuint))wglGetProcAddress("glCompileShader"); glGetShaderiv = (void(APIENTRY*)(GLuint, GLenum, GLint*))wglGetProcAddress("glGetShaderiv"); glGetShaderInfoLog = (void(APIENTRY*)(GLuint, GLsizei, GLsizei*, GLchar*))wglGetProcAddress("glGetShaderInfoLog"); glAttachShader = (void(APIENTRY*)(GLuint, GLuint))wglGetProcAddress("glAttachShader"); glDetachShader = (void(APIENTRY*)(GLuint, GLuint))wglGetProcAddress("glDetachShader"); glDeleteShader = (void(APIENTRY*)(GLuint))wglGetProcAddress("glDeleteShader"); } #endif