diff --git a/src/Graphics/OpenGLContext/GLFunctions.cpp b/src/Graphics/OpenGLContext/GLFunctions.cpp index b454029e..5840b862 100644 --- a/src/Graphics/OpenGLContext/GLFunctions.cpp +++ b/src/Graphics/OpenGLContext/GLFunctions.cpp @@ -3,7 +3,7 @@ #ifdef OS_WINDOWS #define glGetProcAddress wglGetProcAddress -#define GL_GET_PROC_ADR(proc_type, proc_name) proc_name = (proc_type) glGetProcAddress(#proc_name) +#define GL_GET_PROC_ADR(proc_type, proc_name) g_##proc_name = (proc_type) glGetProcAddress(#proc_name) #elif defined(OS_LINUX) @@ -19,141 +19,141 @@ typedef struct __GLXFBConfigRec *GLXFBConfig; #define GLX_GLXEXT_PROTOTYPES #include #define glGetProcAddress glXGetProcAddress -#define GL_GET_PROC_ADR(proc_type, proc_name) proc_name = (proc_type) glGetProcAddress((const GLubyte*)#proc_name) +#define GL_GET_PROC_ADR(proc_type, proc_name) g_##proc_name = (proc_type) glGetProcAddress((const GLubyte*)#proc_name) #elif defined(EGL) #include #include #define glGetProcAddress eglGetProcAddress -#define GL_GET_PROC_ADR(proc_type, proc_name) proc_name = (proc_type) glGetProcAddress(#proc_name) +#define GL_GET_PROC_ADR(proc_type, proc_name) g_##proc_name = (proc_type) glGetProcAddress(#proc_name) #endif //GL Fucntions #ifdef OS_WINDOWS -PFNGLACTIVETEXTUREPROC glActiveTexture; -PFNGLBLENDCOLORPROC glBlendColor; +PFNGLACTIVETEXTUREPROC g_glActiveTexture; +PFNGLBLENDCOLORPROC g_glBlendColor; #elif defined(EGL) -PFNGLBLENDFUNCPROC glBlendFunc; -PFNGLPIXELSTOREIPROC glPixelStorei; -PFNGLCLEARCOLORPROC glClearColor; -PFNGLCULLFACEPROC glCullFace; -PFNGLDEPTHFUNCPROC glDepthFunc; -PFNGLDEPTHMASKPROC glDepthMask; -PFNGLDISABLEPROC glDisable; -PFNGLENABLEPROC glEnable; -PFNGLPOLYGONOFFSETPROC glPolygonOffset; -PFNGLSCISSORPROC glScissor; -PFNGLVIEWPORTPROC glViewport; -PFNGLBINDTEXTUREPROC glBindTexture; -PFNGLTEXIMAGE2DPROC glTexImage2D; -PFNGLTEXPARAMETERIPROC glTexParameteri; -PFNGLGETINTEGERVPROC glGetIntegerv; -PFNGLGETSTRINGPROC glGetString; -PFNGLREADPIXELSPROC glReadPixels; -PFNGLTEXSUBIMAGE2DPROC glTexSubImage2D; -PFNGLDRAWARRAYSPROC glDrawArrays; -PFNGLGETERRORPROC glGetError; -PFNGLDRAWELEMENTSPROC glDrawElements; -PFNGLLINEWIDTHPROC glLineWidth; -PFNGLCLEARPROC glClear; -PFNGLGETFLOATVPROC glGetFloatv; -PFNGLDELETETEXTURESPROC glDeleteTextures; -PFNGLGENTEXTURESPROC glGenTextures; -PFNGLTEXPARAMETERFPROC glTexParameterf; -PFNGLACTIVETEXTUREPROC glActiveTexture; -PFNGLBLENDCOLORPROC glBlendColor; -PFNGLREADBUFFERPROC glReadBuffer; +PFNGLBLENDFUNCPROC g_glBlendFunc; +PFNGLPIXELSTOREIPROC g_glPixelStorei; +PFNGLCLEARCOLORPROC g_glClearColor; +PFNGLCULLFACEPROC g_glCullFace; +PFNGLDEPTHFUNCPROC g_glDepthFunc; +PFNGLDEPTHMASKPROC g_glDepthMask; +PFNGLDISABLEPROC g_glDisable; +PFNGLENABLEPROC g_glEnable; +PFNGLPOLYGONOFFSETPROC g_glPolygonOffset; +PFNGLSCISSORPROC g_glScissor; +PFNGLVIEWPORTPROC g_glViewport; +PFNGLBINDTEXTUREPROC g_glBindTexture; +PFNGLTEXIMAGE2DPROC g_glTexImage2D; +PFNGLTEXPARAMETERIPROC g_glTexParameteri; +PFNGLGETINTEGERVPROC g_glGetIntegerv; +PFNGLGETSTRINGPROC g_glGetString; +PFNGLREADPIXELSPROC g_glReadPixels; +PFNGLTEXSUBIMAGE2DPROC g_glTexSubImage2D; +PFNGLDRAWARRAYSPROC g_glDrawArrays; +PFNGLGETERRORPROC g_glGetError; +PFNGLDRAWELEMENTSPROC g_glDrawElements; +PFNGLLINEWIDTHPROC g_glLineWidth; +PFNGLCLEARPROC g_glClear; +PFNGLGETFLOATVPROC g_glGetFloatv; +PFNGLDELETETEXTURESPROC g_glDeleteTextures; +PFNGLGENTEXTURESPROC g_glGenTextures; +PFNGLTEXPARAMETERFPROC g_glTexParameterf; +PFNGLACTIVETEXTUREPROC g_glActiveTexture; +PFNGLBLENDCOLORPROC g_glBlendColor; +PFNGLREADBUFFERPROC g_glReadBuffer; #endif -PFNGLCREATESHADERPROC glCreateShader; -PFNGLCOMPILESHADERPROC glCompileShader; -PFNGLSHADERSOURCEPROC glShaderSource; -PFNGLCREATEPROGRAMPROC glCreateProgram; -PFNGLATTACHSHADERPROC glAttachShader; -PFNGLLINKPROGRAMPROC glLinkProgram; -PFNGLUSEPROGRAMPROC glUseProgram; -PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation; -PFNGLUNIFORM1IPROC glUniform1i; -PFNGLUNIFORM1FPROC glUniform1f; -PFNGLUNIFORM2FPROC glUniform2f; -PFNGLUNIFORM2IPROC glUniform2i; -PFNGLUNIFORM4IPROC glUniform4i; -PFNGLUNIFORM4FPROC glUniform4f; -PFNGLUNIFORM3FVPROC glUniform3fv; -PFNGLUNIFORM4FVPROC glUniform4fv; -PFNGLDETACHSHADERPROC glDetachShader; -PFNGLDELETESHADERPROC glDeleteShader; -PFNGLDELETEPROGRAMPROC glDeleteProgram; -PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog; -PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog; -PFNGLGETSHADERIVPROC glGetShaderiv; -PFNGLGETPROGRAMIVPROC glGetProgramiv; +PFNGLCREATESHADERPROC g_glCreateShader; +PFNGLCOMPILESHADERPROC g_glCompileShader; +PFNGLSHADERSOURCEPROC g_glShaderSource; +PFNGLCREATEPROGRAMPROC g_glCreateProgram; +PFNGLATTACHSHADERPROC g_glAttachShader; +PFNGLLINKPROGRAMPROC g_glLinkProgram; +PFNGLUSEPROGRAMPROC g_glUseProgram; +PFNGLGETUNIFORMLOCATIONPROC g_glGetUniformLocation; +PFNGLUNIFORM1IPROC g_glUniform1i; +PFNGLUNIFORM1FPROC g_glUniform1f; +PFNGLUNIFORM2FPROC g_glUniform2f; +PFNGLUNIFORM2IPROC g_glUniform2i; +PFNGLUNIFORM4IPROC g_glUniform4i; +PFNGLUNIFORM4FPROC g_glUniform4f; +PFNGLUNIFORM3FVPROC g_glUniform3fv; +PFNGLUNIFORM4FVPROC g_glUniform4fv; +PFNGLDETACHSHADERPROC g_glDetachShader; +PFNGLDELETESHADERPROC g_glDeleteShader; +PFNGLDELETEPROGRAMPROC g_glDeleteProgram; +PFNGLGETPROGRAMINFOLOGPROC g_glGetProgramInfoLog; +PFNGLGETSHADERINFOLOGPROC g_glGetShaderInfoLog; +PFNGLGETSHADERIVPROC g_glGetShaderiv; +PFNGLGETPROGRAMIVPROC g_glGetProgramiv; -PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray; -PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray; -PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer; -PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation; -PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f; -PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv; +PFNGLENABLEVERTEXATTRIBARRAYPROC g_glEnableVertexAttribArray; +PFNGLDISABLEVERTEXATTRIBARRAYPROC g_glDisableVertexAttribArray; +PFNGLVERTEXATTRIBPOINTERPROC g_glVertexAttribPointer; +PFNGLBINDATTRIBLOCATIONPROC g_glBindAttribLocation; +PFNGLVERTEXATTRIB4FPROC g_glVertexAttrib4f; +PFNGLVERTEXATTRIB4FVPROC g_glVertexAttrib4fv; // multitexture functions -PFNGLDEPTHRANGEFPROC glDepthRangef; -PFNGLCLEARDEPTHFPROC glClearDepthf; +PFNGLDEPTHRANGEFPROC g_glDepthRangef; +PFNGLCLEARDEPTHFPROC g_glClearDepthf; -PFNGLDRAWBUFFERSPROC glDrawBuffers; -PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer; -PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers; -PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers; -PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D; -PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample; -PFNGLTEXSTORAGE2DMULTISAMPLEPROC glTexStorage2DMultisample; -PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers; -PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer; -PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage; -PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer; -PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers; -PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus; -PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer; -PFNGLGENBUFFERSPROC glGenBuffers; -PFNGLBINDBUFFERPROC glBindBuffer; -PFNGLBUFFERDATAPROC glBufferData; -PFNGLMAPBUFFERPROC glMapBuffer; -PFNGLMAPBUFFERRANGEPROC glMapBufferRange; -PFNGLUNMAPBUFFERPROC glUnmapBuffer; -PFNGLDELETEBUFFERSPROC glDeleteBuffers; -PFNGLBINDIMAGETEXTUREPROC glBindImageTexture; -PFNGLMEMORYBARRIERPROC glMemoryBarrier; -PFNGLGETSTRINGIPROC glGetStringi; -PFNGLINVALIDATEFRAMEBUFFERPROC glInvalidateFramebuffer; -PFNGLBUFFERSTORAGEPROC glBufferStorage; -PFNGLFENCESYNCPROC glFenceSync; -PFNGLCLIENTWAITSYNCPROC glClientWaitSync; -PFNGLDELETESYNCPROC glDeleteSync; +PFNGLDRAWBUFFERSPROC g_glDrawBuffers; +PFNGLBINDFRAMEBUFFERPROC g_glBindFramebuffer; +PFNGLDELETEFRAMEBUFFERSPROC g_glDeleteFramebuffers; +PFNGLGENFRAMEBUFFERSPROC g_glGenFramebuffers; +PFNGLFRAMEBUFFERTEXTURE2DPROC g_glFramebufferTexture2D; +PFNGLTEXIMAGE2DMULTISAMPLEPROC g_glTexImage2DMultisample; +PFNGLTEXSTORAGE2DMULTISAMPLEPROC g_glTexStorage2DMultisample; +PFNGLGENRENDERBUFFERSPROC g_glGenRenderbuffers; +PFNGLBINDRENDERBUFFERPROC g_glBindRenderbuffer; +PFNGLRENDERBUFFERSTORAGEPROC g_glRenderbufferStorage; +PFNGLFRAMEBUFFERRENDERBUFFERPROC g_glFramebufferRenderbuffer; +PFNGLDELETERENDERBUFFERSPROC g_glDeleteRenderbuffers; +PFNGLCHECKFRAMEBUFFERSTATUSPROC g_glCheckFramebufferStatus; +PFNGLBLITFRAMEBUFFERPROC g_glBlitFramebuffer; +PFNGLGENBUFFERSPROC g_glGenBuffers; +PFNGLBINDBUFFERPROC g_glBindBuffer; +PFNGLBUFFERDATAPROC g_glBufferData; +PFNGLMAPBUFFERPROC g_glMapBuffer; +PFNGLMAPBUFFERRANGEPROC g_glMapBufferRange; +PFNGLUNMAPBUFFERPROC g_glUnmapBuffer; +PFNGLDELETEBUFFERSPROC g_glDeleteBuffers; +PFNGLBINDIMAGETEXTUREPROC g_glBindImageTexture; +PFNGLMEMORYBARRIERPROC g_glMemoryBarrier; +PFNGLGETSTRINGIPROC g_glGetStringi; +PFNGLINVALIDATEFRAMEBUFFERPROC g_glInvalidateFramebuffer; +PFNGLBUFFERSTORAGEPROC g_glBufferStorage; +PFNGLFENCESYNCPROC g_glFenceSync; +PFNGLCLIENTWAITSYNCPROC g_glClientWaitSync; +PFNGLDELETESYNCPROC g_glDeleteSync; -PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex; -PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding; -PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv; -PFNGLGETUNIFORMINDICESPROC glGetUniformIndices; -PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv; -PFNGLBINDBUFFERBASEPROC glBindBufferBase; -PFNGLBUFFERSUBDATAPROC glBufferSubData; +PFNGLGETUNIFORMBLOCKINDEXPROC g_glGetUniformBlockIndex; +PFNGLUNIFORMBLOCKBINDINGPROC g_glUniformBlockBinding; +PFNGLGETACTIVEUNIFORMBLOCKIVPROC g_glGetActiveUniformBlockiv; +PFNGLGETUNIFORMINDICESPROC g_glGetUniformIndices; +PFNGLGETACTIVEUNIFORMSIVPROC g_glGetActiveUniformsiv; +PFNGLBINDBUFFERBASEPROC g_glBindBufferBase; +PFNGLBUFFERSUBDATAPROC g_glBufferSubData; -PFNGLGETPROGRAMBINARYPROC glGetProgramBinary; -PFNGLPROGRAMBINARYPROC glProgramBinary; -PFNGLPROGRAMPARAMETERIPROC glProgramParameteri; +PFNGLGETPROGRAMBINARYPROC g_glGetProgramBinary; +PFNGLPROGRAMBINARYPROC g_glProgramBinary; +PFNGLPROGRAMPARAMETERIPROC g_glProgramParameteri; -PFNGLTEXSTORAGE2DPROC glTexStorage2D; -PFNGLTEXTURESTORAGE2DPROC glTextureStorage2D; -PFNGLTEXTURESUBIMAGE2DPROC glTextureSubImage2D; -PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glTextureStorage2DMultisample; -PFNGLTEXTUREPARAMETERIPROC glTextureParameteri; -PFNGLTEXTUREPARAMETERFPROC glTextureParameterf; -PFNGLCREATETEXTURESPROC glCreateTextures; -PFNGLCREATEBUFFERSPROC glCreateBuffers; -PFNGLCREATEFRAMEBUFFERSPROC glCreateFramebuffers; -PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glNamedFramebufferTexture; +PFNGLTEXSTORAGE2DPROC g_glTexStorage2D; +PFNGLTEXTURESTORAGE2DPROC g_glTextureStorage2D; +PFNGLTEXTURESUBIMAGE2DPROC g_glTextureSubImage2D; +PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC g_glTextureStorage2DMultisample; +PFNGLTEXTUREPARAMETERIPROC g_glTextureParameteri; +PFNGLTEXTUREPARAMETERFPROC g_glTextureParameterf; +PFNGLCREATETEXTURESPROC g_glCreateTextures; +PFNGLCREATEBUFFERSPROC g_glCreateBuffers; +PFNGLCREATEFRAMEBUFFERSPROC g_glCreateFramebuffers; +PFNGLNAMEDFRAMEBUFFERTEXTUREPROC g_glNamedFramebufferTexture; void initGLFunctions() { diff --git a/src/Graphics/OpenGLContext/GLFunctions.h b/src/Graphics/OpenGLContext/GLFunctions.h index 68de8300..b1c2b0c7 100644 --- a/src/Graphics/OpenGLContext/GLFunctions.h +++ b/src/Graphics/OpenGLContext/GLFunctions.h @@ -17,131 +17,252 @@ #include #ifdef EGL +#define glBlendFunc g_glBlendFunc +#define glPixelStorei g_glPixelStorei +#define glClearColor g_glClearColor +#define glCullFace g_glCullFace +#define glDepthFunc g_glDepthFunc +#define glDepthMask g_glDepthMask +#define glDisable g_glDisable +#define glEnable g_glEnable +#define glPolygonOffset g_glPolygonOffset +#define glScissor g_glScissor +#define glViewport g_glViewport +#define glBindTexture g_glBindTexture +#define glTexImage2D g_glTexImage2D +#define glTexParameteri g_glTexParameteri +#define glGetIntegerv g_glGetIntegerv +#define glGetString g_glGetString +#define glReadPixels g_glReadPixels +#define glTexSubImage2D g_glTexSubImage2D +#define glDrawArrays g_glDrawArrays +#define glGetError g_glGetError +#define glDrawElements g_glDrawElements +#define glLineWidth g_glLineWidth +#define glClear g_glClear +#define glGetFloatv g_glGetFloatv +#define glDeleteTextures g_glDeleteTextures +#define glGenTextures g_glGenTextures +#define glTexParameterf g_glTexParameterf +#define glActiveTexture g_glActiveTexture +#define glBlendColor g_glBlendColor +#define glReadBuffer g_glReadBuffer -extern PFNGLBLENDFUNCPROC glBlendFunc; -extern PFNGLPIXELSTOREIPROC glPixelStorei; -extern PFNGLCLEARCOLORPROC glClearColor; -extern PFNGLCULLFACEPROC glCullFace; -extern PFNGLDEPTHFUNCPROC glDepthFunc; -extern PFNGLDEPTHMASKPROC glDepthMask; -extern PFNGLDISABLEPROC glDisable; -extern PFNGLENABLEPROC glEnable; -extern PFNGLPOLYGONOFFSETPROC glPolygonOffset; -extern PFNGLSCISSORPROC glScissor; -extern PFNGLVIEWPORTPROC glViewport; -extern PFNGLBINDTEXTUREPROC glBindTexture; -extern PFNGLTEXIMAGE2DPROC glTexImage2D; -extern PFNGLTEXPARAMETERIPROC glTexParameteri; -extern PFNGLGETINTEGERVPROC glGetIntegerv; -extern PFNGLGETSTRINGPROC glGetString; -extern PFNGLREADPIXELSPROC glReadPixels; -extern PFNGLTEXSUBIMAGE2DPROC glTexSubImage2D; -extern PFNGLDRAWARRAYSPROC glDrawArrays; -extern PFNGLGETERRORPROC glGetError; -extern PFNGLDRAWELEMENTSPROC glDrawElements; -extern PFNGLLINEWIDTHPROC glLineWidth; -extern PFNGLCLEARPROC glClear; -extern PFNGLGETFLOATVPROC glGetFloatv; -extern PFNGLDELETETEXTURESPROC glDeleteTextures; -extern PFNGLGENTEXTURESPROC glGenTextures; -extern PFNGLTEXPARAMETERFPROC glTexParameterf; -extern PFNGLACTIVETEXTUREPROC glActiveTexture; -extern PFNGLBLENDCOLORPROC glBlendColor; -extern PFNGLREADBUFFERPROC glReadBuffer; +extern PFNGLBLENDFUNCPROC g_glBlendFunc; +extern PFNGLPIXELSTOREIPROC g_glPixelStorei; +extern PFNGLCLEARCOLORPROC g_glClearColor; +extern PFNGLCULLFACEPROC g_glCullFace; +extern PFNGLDEPTHFUNCPROC g_glDepthFunc; +extern PFNGLDEPTHMASKPROC g_glDepthMask; +extern PFNGLDISABLEPROC g_glDisable; +extern PFNGLENABLEPROC g_glEnable; +extern PFNGLPOLYGONOFFSETPROC g_glPolygonOffset; +extern PFNGLSCISSORPROC g_glScissor; +extern PFNGLVIEWPORTPROC g_glViewport; +extern PFNGLBINDTEXTUREPROC g_glBindTexture; +extern PFNGLTEXIMAGE2DPROC g_glTexImage2D; +extern PFNGLTEXPARAMETERIPROC g_glTexParameteri; +extern PFNGLGETINTEGERVPROC g_glGetIntegerv; +extern PFNGLGETSTRINGPROC g_glGetString; +extern PFNGLREADPIXELSPROC g_glReadPixels; +extern PFNGLTEXSUBIMAGE2DPROC g_glTexSubImage2D; +extern PFNGLDRAWARRAYSPROC g_glDrawArrays; +extern PFNGLGETERRORPROC g_glGetError; +extern PFNGLDRAWELEMENTSPROC g_glDrawElements; +extern PFNGLLINEWIDTHPROC g_glLineWidth; +extern PFNGLCLEARPROC g_glClear; +extern PFNGLGETFLOATVPROC g_glGetFloatv; +extern PFNGLDELETETEXTURESPROC g_glDeleteTextures; +extern PFNGLGENTEXTURESPROC g_glGenTextures; +extern PFNGLTEXPARAMETERFPROC g_glTexParameterf; +extern PFNGLACTIVETEXTUREPROC g_glActiveTexture; +extern PFNGLBLENDCOLORPROC g_glBlendColor; +extern PFNGLREADBUFFERPROC g_glReadBuffer; #endif #ifdef OS_WINDOWS -extern PFNGLACTIVETEXTUREPROC glActiveTexture; -extern PFNGLBLENDCOLORPROC glBlendColor; +#define glActiveTexture g_glActiveTexture +#define glBlendColor g_glBlendColor + +extern PFNGLACTIVETEXTUREPROC g_glActiveTexture; +extern PFNGLBLENDCOLORPROC g_glBlendColor; #endif -extern PFNGLCREATESHADERPROC glCreateShader; -extern PFNGLCOMPILESHADERPROC glCompileShader; -extern PFNGLSHADERSOURCEPROC glShaderSource; -extern PFNGLCREATEPROGRAMPROC glCreateProgram; -extern PFNGLATTACHSHADERPROC glAttachShader; -extern PFNGLLINKPROGRAMPROC glLinkProgram; -extern PFNGLUSEPROGRAMPROC glUseProgram; -extern PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation; -extern PFNGLUNIFORM1IPROC glUniform1i; -extern PFNGLUNIFORM1FPROC glUniform1f; -extern PFNGLUNIFORM2FPROC glUniform2f; -extern PFNGLUNIFORM2IPROC glUniform2i; -extern PFNGLUNIFORM4IPROC glUniform4i; +#define glCreateShader g_glCreateShader +#define glCompileShader g_glCompileShader +#define glShaderSource g_glShaderSource +#define glCreateProgram g_glCreateProgram +#define glAttachShader g_glAttachShader +#define glLinkProgram g_glLinkProgram +#define glUseProgram g_glUseProgram +#define glGetUniformLocation g_glGetUniformLocation +#define glUniform1i g_glUniform1i +#define glUniform1f g_glUniform1f +#define glUniform2f g_glUniform2f +#define glUniform2i g_glUniform2i +#define glUniform4i g_glUniform4i -extern PFNGLUNIFORM4FPROC glUniform4f; -extern PFNGLUNIFORM3FVPROC glUniform3fv; -extern PFNGLUNIFORM4FVPROC glUniform4fv; -extern PFNGLDETACHSHADERPROC glDetachShader; -extern PFNGLDELETESHADERPROC glDeleteShader; -extern PFNGLDELETEPROGRAMPROC glDeleteProgram; -extern PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog; -extern PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog; -extern PFNGLGETSHADERIVPROC glGetShaderiv; -extern PFNGLGETPROGRAMIVPROC glGetProgramiv; +#define glUniform4f g_glUniform4f +#define glUniform3fv g_glUniform3fv +#define glUniform4fv g_glUniform4fv +#define glDetachShader g_glDetachShader +#define glDeleteShader g_glDeleteShader +#define glDeleteProgram g_glDeleteProgram +#define glGetProgramInfoLog g_glGetProgramInfoLog +#define glGetShaderInfoLog g_glGetShaderInfoLog +#define glGetShaderiv g_glGetShaderiv +#define glGetProgramiv g_glGetProgramiv -extern PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray; -extern PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray; -extern PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer; -extern PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation; -extern PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f; -extern PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv; +#define glEnableVertexAttribArray g_glEnableVertexAttribArray +#define glDisableVertexAttribArray g_glDisableVertexAttribArray +#define glVertexAttribPointer g_glVertexAttribPointer +#define glBindAttribLocation g_glBindAttribLocation +#define glVertexAttrib4f g_glVertexAttrib4f +#define glVertexAttrib4fv g_glVertexAttrib4fv -extern PFNGLDEPTHRANGEFPROC glDepthRangef; -extern PFNGLCLEARDEPTHFPROC glClearDepthf; +#define glDepthRangef g_glDepthRangef +#define glClearDepthf g_glClearDepthf -extern PFNGLDRAWBUFFERSPROC glDrawBuffers; -extern PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers; -extern PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer; -extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers; -extern PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D; -extern PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample; -extern PFNGLTEXSTORAGE2DMULTISAMPLEPROC glTexStorage2DMultisample; -extern PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers; -extern PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer; -extern PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage; -extern PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers; -extern PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer; -extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus; -extern PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer; -extern PFNGLGENBUFFERSPROC glGenBuffers; -extern PFNGLBINDBUFFERPROC glBindBuffer; -extern PFNGLBUFFERDATAPROC glBufferData; -extern PFNGLMAPBUFFERPROC glMapBuffer; -extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange; -extern PFNGLUNMAPBUFFERPROC glUnmapBuffer; -extern PFNGLDELETEBUFFERSPROC glDeleteBuffers; -extern PFNGLBINDIMAGETEXTUREPROC glBindImageTexture; -extern PFNGLMEMORYBARRIERPROC glMemoryBarrier; -extern PFNGLGETSTRINGIPROC glGetStringi; -extern PFNGLINVALIDATEFRAMEBUFFERPROC glInvalidateFramebuffer; -extern PFNGLBUFFERSTORAGEPROC glBufferStorage; -extern PFNGLFENCESYNCPROC glFenceSync; -extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync; -extern PFNGLDELETESYNCPROC glDeleteSync; +#define glDrawBuffers g_glDrawBuffers +#define glGenFramebuffers g_glGenFramebuffers +#define glBindFramebuffer g_glBindFramebuffer +#define glDeleteFramebuffers g_glDeleteFramebuffers +#define glFramebufferTexture2D g_glFramebufferTexture2D +#define glTexImage2DMultisample g_glTexImage2DMultisample +#define glTexStorage2DMultisample g_glTexStorage2DMultisample +#define glGenRenderbuffers g_glGenRenderbuffers +#define glBindRenderbuffer g_glBindRenderbuffer +#define glRenderbufferStorage g_glRenderbufferStorage +#define glDeleteRenderbuffers g_glDeleteRenderbuffers +#define glFramebufferRenderbuffer g_glFramebufferRenderbuffer +#define glCheckFramebufferStatus g_glCheckFramebufferStatus +#define glBlitFramebuffer g_glBlitFramebuffer +#define glGenBuffers g_glGenBuffers +#define glBindBuffer g_glBindBuffer +#define glBufferData g_glBufferData +#define glMapBuffer g_glMapBuffer +#define glMapBufferRange g_glMapBufferRange +#define glUnmapBuffer g_glUnmapBuffer +#define glDeleteBuffers g_glDeleteBuffers +#define glBindImageTexture g_glBindImageTexture +#define glMemoryBarrier g_glMemoryBarrier +#define glGetStringi g_glGetStringi +#define glInvalidateFramebuffer g_glInvalidateFramebuffer +#define glBufferStorage g_glBufferStorage +#define glFenceSync g_glFenceSync +#define glClientWaitSync g_glClientWaitSync +#define glDeleteSync g_glDeleteSync -extern PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex; -extern PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding; -extern PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv; -extern PFNGLGETUNIFORMINDICESPROC glGetUniformIndices; -extern PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv; -extern PFNGLBINDBUFFERBASEPROC glBindBufferBase; -extern PFNGLBUFFERSUBDATAPROC glBufferSubData; +#define glGetUniformBlockIndex g_glGetUniformBlockIndex +#define glUniformBlockBinding g_glUniformBlockBinding +#define glGetActiveUniformBlockiv g_glGetActiveUniformBlockiv +#define glGetUniformIndices g_glGetUniformIndices +#define glGetActiveUniformsiv g_glGetActiveUniformsiv +#define glBindBufferBase g_glBindBufferBase +#define glBufferSubData g_glBufferSubData -extern PFNGLGETPROGRAMBINARYPROC glGetProgramBinary; -extern PFNGLPROGRAMBINARYPROC glProgramBinary; -extern PFNGLPROGRAMPARAMETERIPROC glProgramParameteri; +#define glGetProgramBinary g_glGetProgramBinary +#define glProgramBinary g_glProgramBinary +#define glProgramParameteri g_glProgramParameteri -extern PFNGLTEXSTORAGE2DPROC glTexStorage2D; -extern PFNGLTEXTURESTORAGE2DPROC glTextureStorage2D; -extern PFNGLTEXTURESUBIMAGE2DPROC glTextureSubImage2D; -extern PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glTextureStorage2DMultisample; -extern PFNGLTEXTUREPARAMETERIPROC glTextureParameteri; -extern PFNGLTEXTUREPARAMETERFPROC glTextureParameterf; -extern PFNGLCREATETEXTURESPROC glCreateTextures; -extern PFNGLCREATEBUFFERSPROC glCreateBuffers; -extern PFNGLCREATEFRAMEBUFFERSPROC glCreateFramebuffers; -extern PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glNamedFramebufferTexture; +#define glTexStorage2D g_glTexStorage2D +#define glTextureStorage2D g_glTextureStorage2D +#define glTextureSubImage2D g_glTextureSubImage2D +#define glTextureStorage2DMultisample g_glTextureStorage2DMultisample +#define glTextureParameteri g_glTextureParameteri +#define glTextureParameterf g_glTextureParameterf +#define glCreateTextures g_glCreateTextures +#define glCreateBuffers g_glCreateBuffers +#define glCreateFramebuffers g_glCreateFramebuffers +#define glNamedFramebufferTexture g_glNamedFramebufferTexture + +extern PFNGLCREATESHADERPROC g_glCreateShader; +extern PFNGLCOMPILESHADERPROC g_glCompileShader; +extern PFNGLSHADERSOURCEPROC g_glShaderSource; +extern PFNGLCREATEPROGRAMPROC g_glCreateProgram; +extern PFNGLATTACHSHADERPROC g_glAttachShader; +extern PFNGLLINKPROGRAMPROC g_glLinkProgram; +extern PFNGLUSEPROGRAMPROC g_glUseProgram; +extern PFNGLGETUNIFORMLOCATIONPROC g_glGetUniformLocation; +extern PFNGLUNIFORM1IPROC g_glUniform1i; +extern PFNGLUNIFORM1FPROC g_glUniform1f; +extern PFNGLUNIFORM2FPROC g_glUniform2f; +extern PFNGLUNIFORM2IPROC g_glUniform2i; +extern PFNGLUNIFORM4IPROC g_glUniform4i; + +extern PFNGLUNIFORM4FPROC g_glUniform4f; +extern PFNGLUNIFORM3FVPROC g_glUniform3fv; +extern PFNGLUNIFORM4FVPROC g_glUniform4fv; +extern PFNGLDETACHSHADERPROC g_glDetachShader; +extern PFNGLDELETESHADERPROC g_glDeleteShader; +extern PFNGLDELETEPROGRAMPROC g_glDeleteProgram; +extern PFNGLGETPROGRAMINFOLOGPROC g_glGetProgramInfoLog; +extern PFNGLGETSHADERINFOLOGPROC g_glGetShaderInfoLog; +extern PFNGLGETSHADERIVPROC g_glGetShaderiv; +extern PFNGLGETPROGRAMIVPROC g_glGetProgramiv; + +extern PFNGLENABLEVERTEXATTRIBARRAYPROC g_glEnableVertexAttribArray; +extern PFNGLDISABLEVERTEXATTRIBARRAYPROC g_glDisableVertexAttribArray; +extern PFNGLVERTEXATTRIBPOINTERPROC g_glVertexAttribPointer; +extern PFNGLBINDATTRIBLOCATIONPROC g_glBindAttribLocation; +extern PFNGLVERTEXATTRIB4FPROC g_glVertexAttrib4f; +extern PFNGLVERTEXATTRIB4FVPROC g_glVertexAttrib4fv; + +extern PFNGLDEPTHRANGEFPROC g_glDepthRangef; +extern PFNGLCLEARDEPTHFPROC g_glClearDepthf; + +extern PFNGLDRAWBUFFERSPROC g_glDrawBuffers; +extern PFNGLGENFRAMEBUFFERSPROC g_glGenFramebuffers; +extern PFNGLBINDFRAMEBUFFERPROC g_glBindFramebuffer; +extern PFNGLDELETEFRAMEBUFFERSPROC g_glDeleteFramebuffers; +extern PFNGLFRAMEBUFFERTEXTURE2DPROC g_glFramebufferTexture2D; +extern PFNGLTEXIMAGE2DMULTISAMPLEPROC g_glTexImage2DMultisample; +extern PFNGLTEXSTORAGE2DMULTISAMPLEPROC g_glTexStorage2DMultisample; +extern PFNGLGENRENDERBUFFERSPROC g_glGenRenderbuffers; +extern PFNGLBINDRENDERBUFFERPROC g_glBindRenderbuffer; +extern PFNGLRENDERBUFFERSTORAGEPROC g_glRenderbufferStorage; +extern PFNGLDELETERENDERBUFFERSPROC g_glDeleteRenderbuffers; +extern PFNGLFRAMEBUFFERRENDERBUFFERPROC g_glFramebufferRenderbuffer; +extern PFNGLCHECKFRAMEBUFFERSTATUSPROC g_glCheckFramebufferStatus; +extern PFNGLBLITFRAMEBUFFERPROC g_glBlitFramebuffer; +extern PFNGLGENBUFFERSPROC g_glGenBuffers; +extern PFNGLBINDBUFFERPROC g_glBindBuffer; +extern PFNGLBUFFERDATAPROC g_glBufferData; +extern PFNGLMAPBUFFERPROC g_glMapBuffer; +extern PFNGLMAPBUFFERRANGEPROC g_glMapBufferRange; +extern PFNGLUNMAPBUFFERPROC g_glUnmapBuffer; +extern PFNGLDELETEBUFFERSPROC g_glDeleteBuffers; +extern PFNGLBINDIMAGETEXTUREPROC g_glBindImageTexture; +extern PFNGLMEMORYBARRIERPROC g_glMemoryBarrier; +extern PFNGLGETSTRINGIPROC g_glGetStringi; +extern PFNGLINVALIDATEFRAMEBUFFERPROC g_glInvalidateFramebuffer; +extern PFNGLBUFFERSTORAGEPROC g_glBufferStorage; +extern PFNGLFENCESYNCPROC g_glFenceSync; +extern PFNGLCLIENTWAITSYNCPROC g_glClientWaitSync; +extern PFNGLDELETESYNCPROC g_glDeleteSync; + +extern PFNGLGETUNIFORMBLOCKINDEXPROC g_glGetUniformBlockIndex; +extern PFNGLUNIFORMBLOCKBINDINGPROC g_glUniformBlockBinding; +extern PFNGLGETACTIVEUNIFORMBLOCKIVPROC g_glGetActiveUniformBlockiv; +extern PFNGLGETUNIFORMINDICESPROC g_glGetUniformIndices; +extern PFNGLGETACTIVEUNIFORMSIVPROC g_glGetActiveUniformsiv; +extern PFNGLBINDBUFFERBASEPROC g_glBindBufferBase; +extern PFNGLBUFFERSUBDATAPROC g_glBufferSubData; + +extern PFNGLGETPROGRAMBINARYPROC g_glGetProgramBinary; +extern PFNGLPROGRAMBINARYPROC g_glProgramBinary; +extern PFNGLPROGRAMPARAMETERIPROC g_glProgramParameteri; + +extern PFNGLTEXSTORAGE2DPROC g_glTexStorage2D; +extern PFNGLTEXTURESTORAGE2DPROC g_glTextureStorage2D; +extern PFNGLTEXTURESUBIMAGE2DPROC g_glTextureSubImage2D; +extern PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC g_glTextureStorage2DMultisample; +extern PFNGLTEXTUREPARAMETERIPROC g_glTextureParameteri; +extern PFNGLTEXTUREPARAMETERFPROC g_glTextureParameterf; +extern PFNGLCREATETEXTURESPROC g_glCreateTextures; +extern PFNGLCREATEBUFFERSPROC g_glCreateBuffers; +extern PFNGLCREATEFRAMEBUFFERSPROC g_glCreateFramebuffers; +extern PFNGLNAMEDFRAMEBUFFERTEXTUREPROC g_glNamedFramebufferTexture; void initGLFunctions();