1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00

Make GLFunctions.cpp for EGL common for EGL and Windows.

This commit is contained in:
Sergey Lipskiy 2016-05-30 13:56:37 +06:00
parent f92c5f1c05
commit 70a476bb2a
5 changed files with 222 additions and 363 deletions

View File

@ -222,6 +222,7 @@
<ClCompile Include="..\..\src\Combiner.cpp" />
<ClCompile Include="..\..\src\CommonPluginAPI.cpp" />
<ClCompile Include="..\..\src\common\CommonAPIImpl_common.cpp" />
<ClCompile Include="..\..\src\common\GLFunctions.cpp" />
<ClCompile Include="..\..\src\Config.cpp" />
<ClCompile Include="..\..\src\CRC.cpp" />
<ClCompile Include="..\..\src\DepthBuffer.cpp" />
@ -286,7 +287,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_mupenplus|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_mupenplus|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\windows\GLFunctions_windows.cpp" />
<ClCompile Include="..\..\src\windows\GLideN64_windows.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_mupenplus|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_mupenplus|Win32'">true</ExcludedFromBuild>

View File

@ -188,9 +188,6 @@
<ClCompile Include="..\..\src\Keys.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\windows\GLFunctions_windows.cpp">
<Filter>Source Files\windows</Filter>
</ClCompile>
<ClCompile Include="..\..\src\OGL3X\UniformBlock.cpp">
<Filter>Source Files\OGL3X</Filter>
</ClCompile>
@ -215,6 +212,9 @@
<ClCompile Include="..\..\src\BufferCopy\ColorBufferToRDRAMDesktop.cpp">
<Filter>Source Files\BufferCopy</Filter>
</ClCompile>
<ClCompile Include="..\..\src\common\GLFunctions.cpp">
<Filter>Source Files\common</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\3DMath.h">

View File

@ -1,210 +0,0 @@
#include "../OpenGL.h"
#include <EGL/egl.h>
#include <EGL/eglext.h>
//GL Fucntions
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;
// GLSL functions
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;
PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray;
PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray;
PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer;
PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation;
PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f;
PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv;
// multitexture functions
PFNGLACTIVETEXTUREPROC glActiveTexture;
PFNGLDEPTHRANGEFPROC glDepthRangef;
PFNGLCLEARDEPTHFPROC glClearDepthf;
PFNGLBLENDCOLORPROC glBlendColor;
PFNGLDRAWBUFFERSPROC glDrawBuffers;
PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample;
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;
PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv;
PFNGLGETUNIFORMINDICESPROC glGetUniformIndices;
PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv;
PFNGLBINDBUFFERBASEPROC glBindBufferBase;
PFNGLBUFFERSUBDATAPROC glBufferSubData;
PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
PFNGLPROGRAMBINARYPROC glProgramBinary;
PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
void initGLFunctions()
{
#ifdef EGL
glBlendFunc = (PFNGLBLENDFUNCPROC)eglGetProcAddress("glBlendFunc");
glPixelStorei = (PFNGLPIXELSTOREIPROC)eglGetProcAddress("glPixelStorei");
glClearColor = (PFNGLCLEARCOLORPROC)eglGetProcAddress("glClearColor");
glCullFace = (PFNGLCULLFACEPROC)eglGetProcAddress("glCullFace");
glDepthFunc = (PFNGLDEPTHFUNCPROC)eglGetProcAddress("glDepthFunc");
glDepthMask = (PFNGLDEPTHMASKPROC)eglGetProcAddress("glDepthMask");
glDisable = (PFNGLDISABLEPROC)eglGetProcAddress("glDisable");
glEnable = (PFNGLENABLEPROC)eglGetProcAddress("glEnable");
glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)eglGetProcAddress("glPolygonOffset");
glScissor = (PFNGLSCISSORPROC)eglGetProcAddress("glScissor");
glViewport = (PFNGLVIEWPORTPROC)eglGetProcAddress("glViewport");
glBindTexture = (PFNGLBINDTEXTUREPROC)eglGetProcAddress("glBindTexture");
glTexImage2D = (PFNGLTEXIMAGE2DPROC)eglGetProcAddress("glTexImage2D");
glTexParameteri = (PFNGLTEXPARAMETERIPROC)eglGetProcAddress("glTexParameteri");
glGetIntegerv = (PFNGLGETINTEGERVPROC)eglGetProcAddress("glGetIntegerv");
glGetString = (PFNGLGETSTRINGPROC)eglGetProcAddress("glGetString");
glReadPixels = (PFNGLREADPIXELSPROC)eglGetProcAddress("glReadPixels");
glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)eglGetProcAddress("glTexSubImage2D");
glDrawArrays = (PFNGLDRAWARRAYSPROC)eglGetProcAddress("glDrawArrays");
glGetError = (PFNGLGETERRORPROC)eglGetProcAddress("glGetError");
glDrawElements = (PFNGLDRAWELEMENTSPROC)eglGetProcAddress("glDrawElements");
glLineWidth = (PFNGLLINEWIDTHPROC)eglGetProcAddress("glLineWidth");
glClear = (PFNGLCLEARPROC)eglGetProcAddress("glClear");
glGetFloatv = (PFNGLGETFLOATVPROC)eglGetProcAddress("glGetFloatv");
glDeleteTextures = (PFNGLDELETETEXTURESPROC)eglGetProcAddress("glDeleteTextures");
glGenTextures = (PFNGLGENTEXTURESPROC)eglGetProcAddress("glGenTextures");
glTexParameterf = (PFNGLTEXPARAMETERFPROC)eglGetProcAddress("glTexParameterf");
#endif
glCreateShader = (PFNGLCREATESHADERPROC)eglGetProcAddress("glCreateShader");
glCompileShader = (PFNGLCOMPILESHADERPROC)eglGetProcAddress("glCompileShader");
glShaderSource = (PFNGLSHADERSOURCEPROC)eglGetProcAddress("glShaderSource");
glCreateProgram = (PFNGLCREATEPROGRAMPROC)eglGetProcAddress("glCreateProgram");
glAttachShader = (PFNGLATTACHSHADERPROC)eglGetProcAddress("glAttachShader");
glLinkProgram = (PFNGLLINKPROGRAMPROC)eglGetProcAddress("glLinkProgram");
glUseProgram = (PFNGLUSEPROGRAMPROC)eglGetProcAddress("glUseProgram");
glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)eglGetProcAddress("glGetUniformLocation");
glUniform1i = (PFNGLUNIFORM1IPROC)eglGetProcAddress("glUniform1i");
glUniform1f = (PFNGLUNIFORM1FPROC)eglGetProcAddress("glUniform1f");
glUniform2f = (PFNGLUNIFORM2FPROC)eglGetProcAddress("glUniform2f");
glUniform2i = (PFNGLUNIFORM2IPROC)eglGetProcAddress("glUniform2i");
glUniform4i = (PFNGLUNIFORM4IPROC)eglGetProcAddress("glUniform4i");
glUniform4f = (PFNGLUNIFORM4FPROC)eglGetProcAddress("glUniform4f");
glUniform3fv = (PFNGLUNIFORM3FVPROC)eglGetProcAddress("glUniform3fv");
glUniform4fv = (PFNGLUNIFORM4FVPROC)eglGetProcAddress("glUniform4fv");
glDetachShader = (PFNGLDETACHSHADERPROC)eglGetProcAddress("glDetachShader");
glDeleteShader = (PFNGLDELETESHADERPROC)eglGetProcAddress("glDeleteShader");
glDeleteProgram = (PFNGLDELETEPROGRAMPROC)eglGetProcAddress("glDeleteProgram");
glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)eglGetProcAddress("glGetProgramInfoLog");
glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)eglGetProcAddress("glGetShaderInfoLog");
glGetShaderiv = (PFNGLGETSHADERIVPROC)eglGetProcAddress("glGetShaderiv");
glGetProgramiv = (PFNGLGETPROGRAMIVPROC)eglGetProcAddress("glGetProgramiv");
glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)eglGetProcAddress("glEnableVertexAttribArray");
glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)eglGetProcAddress("glDisableVertexAttribArray");
glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)eglGetProcAddress("glVertexAttribPointer");
glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)eglGetProcAddress("glBindAttribLocation");
glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)eglGetProcAddress("glVertexAttrib4f");
glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)eglGetProcAddress("glVertexAttrib4fv");
glActiveTexture = (PFNGLACTIVETEXTUREPROC)eglGetProcAddress( "glActiveTexture" );
glDepthRangef = (PFNGLDEPTHRANGEFPROC)eglGetProcAddress( "glDepthRangef" );
glClearDepthf = (PFNGLCLEARDEPTHFPROC)eglGetProcAddress( "glClearDepthf" );
glBlendColor = (PFNGLBLENDCOLORPROC)eglGetProcAddress( "glBlendColor" );
glDrawBuffers = (PFNGLDRAWBUFFERSPROC)eglGetProcAddress( "glDrawBuffers" );
glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)eglGetProcAddress( "glBindFramebuffer" );
glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)eglGetProcAddress( "glDeleteFramebuffers" );
glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)eglGetProcAddress( "glGenFramebuffers" );
glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)eglGetProcAddress( "glFramebufferTexture2D" );
glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)eglGetProcAddress("glTexImage2DMultisample");
glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)eglGetProcAddress( "glGenRenderbuffers" );
glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)eglGetProcAddress( "glBindRenderbuffer" );
glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)eglGetProcAddress( "glRenderbufferStorage" );
glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)eglGetProcAddress( "glFramebufferRenderbuffer" );
glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)eglGetProcAddress( "glDeleteRenderbuffers" );
glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)eglGetProcAddress( "glCheckFramebufferStatus" );
glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)eglGetProcAddress( "glBlitFramebuffer" );
glGenBuffers = (PFNGLGENBUFFERSPROC)eglGetProcAddress( "glGenBuffers" );
glBindBuffer = (PFNGLBINDBUFFERPROC)eglGetProcAddress( "glBindBuffer" );
glBufferData = (PFNGLBUFFERDATAPROC)eglGetProcAddress( "glBufferData" );
glMapBuffer = (PFNGLMAPBUFFERPROC)eglGetProcAddress( "glMapBuffer" );
glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)eglGetProcAddress("glMapBufferRange");
glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)eglGetProcAddress( "glUnmapBuffer" );
glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)eglGetProcAddress( "glDeleteBuffers" );
glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)eglGetProcAddress( "glBindImageTexture" );
glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)eglGetProcAddress( "glMemoryBarrier" );
glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)eglGetProcAddress("glGetUniformBlockIndex");
glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)eglGetProcAddress("glUniformBlockBinding");
glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)eglGetProcAddress("glGetActiveUniformBlockiv");
glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)eglGetProcAddress("glGetUniformIndices");
glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)eglGetProcAddress("glGetActiveUniformsiv");
glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)eglGetProcAddress("glBindBufferBase");
glBufferSubData = (PFNGLBUFFERSUBDATAPROC)eglGetProcAddress("glBufferSubData");
glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)eglGetProcAddress("glGetProgramBinary");
glProgramBinary = (PFNGLPROGRAMBINARYPROC)eglGetProcAddress("glProgramBinary");
glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)eglGetProcAddress("glProgramParameteri");
}

218
src/common/GLFunctions.cpp Normal file
View File

@ -0,0 +1,218 @@
#include "../OpenGL.h"
#ifndef EGL
#ifdef OS_WINDOWS
#define glGetProcAddress wglGetProcAddress
#else
#error Must not compile for this OS
#endif
#else // EGL
#include <EGL/egl.h>
#include <EGL/eglext.h>
#define glGetProcAddress eglGetProcAddress
//GL Fucntions
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;
#endif // EGL
// GLSL functions
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;
PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray;
PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray;
PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer;
PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation;
PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f;
PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv;
// multitexture functions
PFNGLACTIVETEXTUREPROC glActiveTexture;
PFNGLDEPTHRANGEFPROC glDepthRangef;
PFNGLCLEARDEPTHFPROC glClearDepthf;
PFNGLBLENDCOLORPROC glBlendColor;
PFNGLDRAWBUFFERSPROC glDrawBuffers;
PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample;
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;
PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv;
PFNGLGETUNIFORMINDICESPROC glGetUniformIndices;
PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv;
PFNGLBINDBUFFERBASEPROC glBindBufferBase;
PFNGLBUFFERSUBDATAPROC glBufferSubData;
PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
PFNGLPROGRAMBINARYPROC glProgramBinary;
PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
void initGLFunctions()
{
#ifdef EGL
glBlendFunc = (PFNGLBLENDFUNCPROC)glGetProcAddress("glBlendFunc");
glPixelStorei = (PFNGLPIXELSTOREIPROC)glGetProcAddress("glPixelStorei");
glClearColor = (PFNGLCLEARCOLORPROC)glGetProcAddress("glClearColor");
glCullFace = (PFNGLCULLFACEPROC)glGetProcAddress("glCullFace");
glDepthFunc = (PFNGLDEPTHFUNCPROC)glGetProcAddress("glDepthFunc");
glDepthMask = (PFNGLDEPTHMASKPROC)glGetProcAddress("glDepthMask");
glDisable = (PFNGLDISABLEPROC)glGetProcAddress("glDisable");
glEnable = (PFNGLENABLEPROC)glGetProcAddress("glEnable");
glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)glGetProcAddress("glPolygonOffset");
glScissor = (PFNGLSCISSORPROC)glGetProcAddress("glScissor");
glViewport = (PFNGLVIEWPORTPROC)glGetProcAddress("glViewport");
glBindTexture = (PFNGLBINDTEXTUREPROC)glGetProcAddress("glBindTexture");
glTexImage2D = (PFNGLTEXIMAGE2DPROC)glGetProcAddress("glTexImage2D");
glTexParameteri = (PFNGLTEXPARAMETERIPROC)glGetProcAddress("glTexParameteri");
glGetIntegerv = (PFNGLGETINTEGERVPROC)glGetProcAddress("glGetIntegerv");
glGetString = (PFNGLGETSTRINGPROC)glGetProcAddress("glGetString");
glReadPixels = (PFNGLREADPIXELSPROC)glGetProcAddress("glReadPixels");
glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)glGetProcAddress("glTexSubImage2D");
glDrawArrays = (PFNGLDRAWARRAYSPROC)glGetProcAddress("glDrawArrays");
glGetError = (PFNGLGETERRORPROC)glGetProcAddress("glGetError");
glDrawElements = (PFNGLDRAWELEMENTSPROC)glGetProcAddress("glDrawElements");
glLineWidth = (PFNGLLINEWIDTHPROC)glGetProcAddress("glLineWidth");
glClear = (PFNGLCLEARPROC)glGetProcAddress("glClear");
glGetFloatv = (PFNGLGETFLOATVPROC)glGetProcAddress("glGetFloatv");
glDeleteTextures = (PFNGLDELETETEXTURESPROC)glGetProcAddress("glDeleteTextures");
glGenTextures = (PFNGLGENTEXTURESPROC)glGetProcAddress("glGenTextures");
glTexParameterf = (PFNGLTEXPARAMETERFPROC)glGetProcAddress("glTexParameterf");
#endif
glCreateShader = (PFNGLCREATESHADERPROC)glGetProcAddress("glCreateShader");
glCompileShader = (PFNGLCOMPILESHADERPROC)glGetProcAddress("glCompileShader");
glShaderSource = (PFNGLSHADERSOURCEPROC)glGetProcAddress("glShaderSource");
glCreateProgram = (PFNGLCREATEPROGRAMPROC)glGetProcAddress("glCreateProgram");
glAttachShader = (PFNGLATTACHSHADERPROC)glGetProcAddress("glAttachShader");
glLinkProgram = (PFNGLLINKPROGRAMPROC)glGetProcAddress("glLinkProgram");
glUseProgram = (PFNGLUSEPROGRAMPROC)glGetProcAddress("glUseProgram");
glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)glGetProcAddress("glGetUniformLocation");
glUniform1i = (PFNGLUNIFORM1IPROC)glGetProcAddress("glUniform1i");
glUniform1f = (PFNGLUNIFORM1FPROC)glGetProcAddress("glUniform1f");
glUniform2f = (PFNGLUNIFORM2FPROC)glGetProcAddress("glUniform2f");
glUniform2i = (PFNGLUNIFORM2IPROC)glGetProcAddress("glUniform2i");
glUniform4i = (PFNGLUNIFORM4IPROC)glGetProcAddress("glUniform4i");
glUniform4f = (PFNGLUNIFORM4FPROC)glGetProcAddress("glUniform4f");
glUniform3fv = (PFNGLUNIFORM3FVPROC)glGetProcAddress("glUniform3fv");
glUniform4fv = (PFNGLUNIFORM4FVPROC)glGetProcAddress("glUniform4fv");
glDetachShader = (PFNGLDETACHSHADERPROC)glGetProcAddress("glDetachShader");
glDeleteShader = (PFNGLDELETESHADERPROC)glGetProcAddress("glDeleteShader");
glDeleteProgram = (PFNGLDELETEPROGRAMPROC)glGetProcAddress("glDeleteProgram");
glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)glGetProcAddress("glGetProgramInfoLog");
glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)glGetProcAddress("glGetShaderInfoLog");
glGetShaderiv = (PFNGLGETSHADERIVPROC)glGetProcAddress("glGetShaderiv");
glGetProgramiv = (PFNGLGETPROGRAMIVPROC)glGetProcAddress("glGetProgramiv");
glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)glGetProcAddress("glEnableVertexAttribArray");
glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)glGetProcAddress("glDisableVertexAttribArray");
glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)glGetProcAddress("glVertexAttribPointer");
glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)glGetProcAddress("glBindAttribLocation");
glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)glGetProcAddress("glVertexAttrib4f");
glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)glGetProcAddress("glVertexAttrib4fv");
glActiveTexture = (PFNGLACTIVETEXTUREPROC)glGetProcAddress( "glActiveTexture" );
glDepthRangef = (PFNGLDEPTHRANGEFPROC)glGetProcAddress( "glDepthRangef" );
glClearDepthf = (PFNGLCLEARDEPTHFPROC)glGetProcAddress( "glClearDepthf" );
glBlendColor = (PFNGLBLENDCOLORPROC)glGetProcAddress( "glBlendColor" );
glDrawBuffers = (PFNGLDRAWBUFFERSPROC)glGetProcAddress( "glDrawBuffers" );
glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)glGetProcAddress( "glBindFramebuffer" );
glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)glGetProcAddress( "glDeleteFramebuffers" );
glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)glGetProcAddress( "glGenFramebuffers" );
glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)glGetProcAddress( "glFramebufferTexture2D" );
glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)glGetProcAddress("glTexImage2DMultisample");
glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)glGetProcAddress( "glGenRenderbuffers" );
glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)glGetProcAddress( "glBindRenderbuffer" );
glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)glGetProcAddress( "glRenderbufferStorage" );
glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)glGetProcAddress( "glFramebufferRenderbuffer" );
glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)glGetProcAddress( "glDeleteRenderbuffers" );
glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)glGetProcAddress( "glCheckFramebufferStatus" );
glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)glGetProcAddress( "glBlitFramebuffer" );
glGenBuffers = (PFNGLGENBUFFERSPROC)glGetProcAddress( "glGenBuffers" );
glBindBuffer = (PFNGLBINDBUFFERPROC)glGetProcAddress( "glBindBuffer" );
glBufferData = (PFNGLBUFFERDATAPROC)glGetProcAddress( "glBufferData" );
glMapBuffer = (PFNGLMAPBUFFERPROC)glGetProcAddress( "glMapBuffer" );
glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)glGetProcAddress("glMapBufferRange");
glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)glGetProcAddress( "glUnmapBuffer" );
glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)glGetProcAddress( "glDeleteBuffers" );
glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)glGetProcAddress( "glBindImageTexture" );
glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)glGetProcAddress( "glMemoryBarrier" );
glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)glGetProcAddress("glGetUniformBlockIndex");
glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)glGetProcAddress("glUniformBlockBinding");
glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)glGetProcAddress("glGetActiveUniformBlockiv");
glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)glGetProcAddress("glGetUniformIndices");
glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)glGetProcAddress("glGetActiveUniformsiv");
glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)glGetProcAddress("glBindBufferBase");
glBufferSubData = (PFNGLBUFFERSUBDATAPROC)glGetProcAddress("glBufferSubData");
glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)glGetProcAddress("glGetProgramBinary");
glProgramBinary = (PFNGLPROGRAMBINARYPROC)glGetProcAddress("glProgramBinary");
glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)glGetProcAddress("glProgramParameteri");
}

View File

@ -1,149 +0,0 @@
#include "GLideN64_Windows.h"
#include "../OpenGL.h"
// GLSL functions
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;
PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray;
PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray;
PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer;
PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation;
PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f;
PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv;
// multitexture functions
PFNGLACTIVETEXTUREPROC glActiveTexture;
PFNGLDEPTHRANGEFPROC glDepthRangef;
PFNGLCLEARDEPTHFPROC glClearDepthf;
PFNGLBLENDCOLORPROC glBlendColor;
PFNGLDRAWBUFFERSPROC glDrawBuffers;
PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample;
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;
PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv;
PFNGLGETUNIFORMINDICESPROC glGetUniformIndices;
PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv;
PFNGLBINDBUFFERBASEPROC glBindBufferBase;
PFNGLBUFFERSUBDATAPROC glBufferSubData;
PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
PFNGLPROGRAMBINARYPROC glProgramBinary;
PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
void initGLFunctions()
{
glCreateShader = (PFNGLCREATESHADERPROC)wglGetProcAddress("glCreateShader");
glCompileShader = (PFNGLCOMPILESHADERPROC)wglGetProcAddress("glCompileShader");
glShaderSource = (PFNGLSHADERSOURCEPROC)wglGetProcAddress("glShaderSource");
glCreateProgram = (PFNGLCREATEPROGRAMPROC)wglGetProcAddress("glCreateProgram");
glAttachShader = (PFNGLATTACHSHADERPROC)wglGetProcAddress("glAttachShader");
glLinkProgram = (PFNGLLINKPROGRAMPROC)wglGetProcAddress("glLinkProgram");
glUseProgram = (PFNGLUSEPROGRAMPROC)wglGetProcAddress("glUseProgram");
glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)wglGetProcAddress("glGetUniformLocation");
glUniform1i = (PFNGLUNIFORM1IPROC)wglGetProcAddress("glUniform1i");
glUniform1f = (PFNGLUNIFORM1FPROC)wglGetProcAddress("glUniform1f");
glUniform2f = (PFNGLUNIFORM2FPROC)wglGetProcAddress("glUniform2f");
glUniform2i = (PFNGLUNIFORM2IPROC)wglGetProcAddress("glUniform2i");
glUniform4i = (PFNGLUNIFORM4IPROC)wglGetProcAddress("glUniform4i");
glUniform4f = (PFNGLUNIFORM4FPROC)wglGetProcAddress("glUniform4f");
glUniform3fv = (PFNGLUNIFORM3FVPROC)wglGetProcAddress("glUniform3fv");
glUniform4fv = (PFNGLUNIFORM4FVPROC)wglGetProcAddress("glUniform4fv");
glDetachShader = (PFNGLDETACHSHADERPROC)wglGetProcAddress("glDetachShader");
glDeleteShader = (PFNGLDELETESHADERPROC)wglGetProcAddress("glDeleteShader");
glDeleteProgram = (PFNGLDELETEPROGRAMPROC)wglGetProcAddress("glDeleteProgram");
glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)wglGetProcAddress("glGetProgramInfoLog");
glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)wglGetProcAddress("glGetShaderInfoLog");
glGetShaderiv = (PFNGLGETSHADERIVPROC)wglGetProcAddress("glGetShaderiv");
glGetProgramiv = (PFNGLGETPROGRAMIVPROC)wglGetProcAddress("glGetProgramiv");
glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)wglGetProcAddress("glEnableVertexAttribArray");
glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)wglGetProcAddress("glDisableVertexAttribArray");
glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)wglGetProcAddress("glVertexAttribPointer");
glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)wglGetProcAddress("glBindAttribLocation");
glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)wglGetProcAddress("glVertexAttrib4f");
glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)wglGetProcAddress("glVertexAttrib4fv");
glActiveTexture = (PFNGLACTIVETEXTUREPROC)wglGetProcAddress( "glActiveTexture" );
glDepthRangef = (PFNGLDEPTHRANGEFPROC)wglGetProcAddress( "glDepthRangef" );
glClearDepthf = (PFNGLCLEARDEPTHFPROC)wglGetProcAddress( "glClearDepthf" );
glBlendColor = (PFNGLBLENDCOLORPROC)wglGetProcAddress( "glBlendColor" );
glDrawBuffers = (PFNGLDRAWBUFFERSPROC)wglGetProcAddress( "glDrawBuffers" );
glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)wglGetProcAddress( "glBindFramebuffer" );
glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)wglGetProcAddress( "glDeleteFramebuffers" );
glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)wglGetProcAddress( "glGenFramebuffers" );
glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)wglGetProcAddress( "glFramebufferTexture2D" );
glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)wglGetProcAddress("glTexImage2DMultisample");
glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)wglGetProcAddress( "glGenRenderbuffers" );
glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)wglGetProcAddress( "glBindRenderbuffer" );
glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)wglGetProcAddress( "glRenderbufferStorage" );
glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)wglGetProcAddress( "glFramebufferRenderbuffer" );
glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)wglGetProcAddress( "glDeleteRenderbuffers" );
glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)wglGetProcAddress( "glCheckFramebufferStatus" );
glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)wglGetProcAddress( "glBlitFramebuffer" );
glGenBuffers = (PFNGLGENBUFFERSPROC)wglGetProcAddress( "glGenBuffers" );
glBindBuffer = (PFNGLBINDBUFFERPROC)wglGetProcAddress( "glBindBuffer" );
glBufferData = (PFNGLBUFFERDATAPROC)wglGetProcAddress( "glBufferData" );
glMapBuffer = (PFNGLMAPBUFFERPROC)wglGetProcAddress( "glMapBuffer" );
glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)wglGetProcAddress("glMapBufferRange");
glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)wglGetProcAddress( "glUnmapBuffer" );
glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)wglGetProcAddress( "glDeleteBuffers" );
glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)wglGetProcAddress( "glBindImageTexture" );
glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)wglGetProcAddress( "glMemoryBarrier" );
glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)wglGetProcAddress("glGetUniformBlockIndex");
glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)wglGetProcAddress("glUniformBlockBinding");
glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)wglGetProcAddress("glGetActiveUniformBlockiv");
glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)wglGetProcAddress("glGetUniformIndices");
glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)wglGetProcAddress("glGetActiveUniformsiv");
glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)wglGetProcAddress("glBindBufferBase");
glBufferSubData = (PFNGLBUFFERSUBDATAPROC)wglGetProcAddress("glBufferSubData");
glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)wglGetProcAddress("glGetProgramBinary");
glProgramBinary = (PFNGLPROGRAMBINARYPROC)wglGetProcAddress("glProgramBinary");
glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)wglGetProcAddress("glProgramParameteri");
}