Files
lime/project/include/renderer/opengl/OGLExtensions.h
2013-11-25 23:32:25 -08:00

136 lines
6.0 KiB
C

#ifndef GL_UNSIGNED_SHORT_4_4_4_4
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
#endif
#ifdef HX_WINDOWS
#define CALLING_CONVENTION APIENTRY
#else
#define CALLING_CONVENTION APIENTRY
#endif
#ifdef DECLARE_EXTENSION
#define OGL_EXT(func,ret,args) \
extern ret (CALLING_CONVENTION *func)args;
#elif defined(DEFINE_EXTENSION)
#define OGL_EXT(func,ret,args) \
ret (CALLING_CONVENTION *func)args=0;
#elif defined(GET_EXTENSION)
#ifdef HX_WINDOWS
#define OGL_EXT(func,ret,args) \
{\
*(void **)&func = (void *)wglGetProcAddress(#func);\
if (!func) \
*(void **)&func = (void *)wglGetProcAddress(#func "ARB");\
}
#endif
#endif
OGL_EXT(glBindBuffer,void,(GLenum,GLuint))
OGL_EXT(glDeleteBuffers,void,(GLsizei,const GLuint *))
OGL_EXT(glGenBuffers,void,(GLsizei,GLuint*))
OGL_EXT(glBufferData,void,(GLenum,GLuint,const void *, GLenum))
OGL_EXT(glCreateShader,GLuint,(GLenum))
OGL_EXT(glGetUniformLocation,GLint,(GLuint,const char *))
OGL_EXT(glUniform4f,void,(GLint,float,float,float,float))
OGL_EXT(glUniformMatrix2fv,void,(GLint,GLsizei,GLboolean,const float *))
OGL_EXT(glUniformMatrix3fv,void,(GLint,GLsizei,GLboolean,const float *))
OGL_EXT(glUniformMatrix4fv,void,(GLint,GLsizei,GLboolean,const float *))
OGL_EXT(glDeleteShader,void,(GLint))
OGL_EXT(glDeleteProgram,void,(GLint))
OGL_EXT(glGetAttribLocation,GLint,(GLuint,const char *))
OGL_EXT(glShaderSource,void,(GLuint,GLsizei,const char **, const GLint *))
OGL_EXT(glDisableVertexAttribArray,void,(GLuint))
OGL_EXT(glEnableVertexAttribArray,void,(GLuint))
OGL_EXT(glAttachShader,void,(GLuint,GLuint))
OGL_EXT(glCreateProgram,GLuint,())
OGL_EXT(glCompileShader,void,(GLuint))
OGL_EXT(glLinkProgram,void,(GLuint))
OGL_EXT(glGetShaderiv,void,(GLuint,GLenum,GLint *))
OGL_EXT(glValidateProgram,void,(GLuint))
OGL_EXT(glGetShaderInfoLog,void,(GLuint,GLsizei,GLsizei *,char *))
OGL_EXT(glGetProgramiv,void,(GLuint,GLenum,GLint *))
OGL_EXT(glGetProgramInfoLog,void,(GLuint,GLsizei,GLsizei *,char *))
OGL_EXT(glUseProgram,void,(GLuint))
OGL_EXT(glUniform1i,void,(GLuint,GLint))
OGL_EXT(glVertexAttribPointer,void,(GLuint,GLint,GLenum,GLboolean,GLsizei,const void *))
OGL_EXT(glActiveTexture,void,(GLenum))
OGL_EXT(glIsBuffer,GLboolean,(GLuint));
OGL_EXT(glIsFramebuffer,GLboolean,(GLuint));
OGL_EXT(glIsRenderbuffer,GLboolean,(GLuint));
OGL_EXT(glBlendColor,void,(GLclampf, GLclampf, GLclampf, GLclampf));
OGL_EXT(glBlendEquation,void,(GLenum));
OGL_EXT(glBlendFuncSeparate,void,(GLenum, GLenum, GLenum, GLenum));
OGL_EXT(glBufferSubData,void,(GLenum, GLintptr, GLsizeiptr, const GLvoid *));
OGL_EXT(glGetBufferParameteriv,void,(GLenum, GLenum, GLint *));
OGL_EXT(glBindFramebuffer,void,(GLenum, GLuint));
OGL_EXT(glGenFramebuffers,void,(GLsizei, GLuint *));
OGL_EXT(glBindRenderbuffer,void,(GLenum, GLuint));
OGL_EXT(glFramebufferRenderbuffer,void,(GLenum, GLenum, GLenum, GLuint));
OGL_EXT(glFramebufferTexture2D,void,(GLenum, GLenum, GLenum, GLuint, GLint));
OGL_EXT(glRenderbufferStorage,void,(GLenum, GLenum, GLsizei, GLsizei));
OGL_EXT(glCheckFramebufferStatus,GLenum,(GLenum));
OGL_EXT(glSampleCoverage,void,(GLclampf, GLboolean));
OGL_EXT(glCompressedTexSubImage2D,void,(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *));
OGL_EXT(glCompressedTexImage2D,void,(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *));
OGL_EXT(glGenerateMipmap,void,(GLenum));
OGL_EXT(glGenRenderbuffers,void,(GLsizei, GLuint *));
OGL_EXT(glGetFramebufferAttachmentParameteriv,void,(GLenum, GLenum, GLenum, GLint *));
OGL_EXT(glGetRenderbufferParameteriv,void,(GLenum, GLenum, GLint *));
OGL_EXT(glBlendEquationSeparate,void,(GLenum, GLenum));
OGL_EXT(glDrawBuffers,void,(GLsizei, const GLenum *));
OGL_EXT(glStencilOpSeparate,void,(GLenum, GLenum, GLenum, GLenum));
OGL_EXT(glStencilFuncSeparate,void,(GLenum, GLenum, GLint, GLuint));
OGL_EXT(glStencilMaskSeparate,void,(GLenum, GLuint));
OGL_EXT(glBindAttribLocation,void,(GLuint, GLuint, const GLchar *));
OGL_EXT(glDetachShader,void,(GLuint, GLuint));
OGL_EXT(glGetActiveAttrib,void,(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *));
OGL_EXT(glGetActiveUniform,void,(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *));
OGL_EXT(glGetAttachedShaders,void,(GLuint, GLsizei, GLsizei *, GLuint *));
OGL_EXT(glGetShaderSource,void,(GLuint, GLsizei, GLsizei *, GLchar *));
OGL_EXT(glGetUniformfv,void,(GLuint, GLint, GLfloat *));
OGL_EXT(glGetUniformiv,void,(GLuint, GLint, GLint *));
OGL_EXT(glGetVertexAttribfv,void,(GLuint, GLenum, GLfloat *));
OGL_EXT(glGetVertexAttribiv,void,(GLuint, GLenum, GLint *));
OGL_EXT(glGetVertexAttribPointerv,void,(GLuint, GLenum, GLvoid* *));
OGL_EXT(glIsProgram,GLboolean,(GLuint));
OGL_EXT(glIsShader,GLboolean,(GLuint));
OGL_EXT(glUniform1f,void,(GLint, GLfloat));
OGL_EXT(glUniform2f,void,(GLint, GLfloat, GLfloat));
OGL_EXT(glUniform3f,void,(GLint, GLfloat, GLfloat, GLfloat));
OGL_EXT(glUniform2i,void,(GLint, GLint, GLint));
OGL_EXT(glUniform3i,void,(GLint, GLint, GLint, GLint));
OGL_EXT(glUniform4i,void,(GLint, GLint, GLint, GLint, GLint));
OGL_EXT(glUniform1fv,void,(GLint, GLsizei, const GLfloat *));
OGL_EXT(glUniform2fv,void,(GLint, GLsizei, const GLfloat *));
OGL_EXT(glUniform3fv,void,(GLint, GLsizei, const GLfloat *));
OGL_EXT(glUniform4fv,void,(GLint, GLsizei, const GLfloat *));
OGL_EXT(glUniform1iv,void,(GLint, GLsizei, const GLint *));
OGL_EXT(glUniform2iv,void,(GLint, GLsizei, const GLint *));
OGL_EXT(glUniform3iv,void,(GLint, GLsizei, const GLint *));
OGL_EXT(glUniform4iv,void,(GLint, GLsizei, const GLint *));
OGL_EXT(glVertexAttrib1f,void,(GLuint, GLfloat));
OGL_EXT(glVertexAttrib1fv,void,(GLuint, const GLfloat *));
OGL_EXT(glVertexAttrib2f,void,(GLuint, GLfloat, GLfloat));
OGL_EXT(glVertexAttrib2fv,void,(GLuint, const GLfloat *));
OGL_EXT(glVertexAttrib3f,void,(GLuint, GLfloat, GLfloat, GLfloat));
OGL_EXT(glVertexAttrib3fv,void,(GLuint, const GLfloat *));
OGL_EXT(glVertexAttrib4f,void,(GLuint, GLfloat, GLfloat, GLfloat, GLfloat));
OGL_EXT(glVertexAttrib4fv,void,(GLuint, const GLfloat *));
#undef OGL_EXT
#undef CALLING_CONVENTION