- QGL_InitVersion();
-
- table.major_version = g_qglMajorVersion;
- table.minor_version = g_qglMinorVersion;
-
- table.m_glAccum = glAccum;
- table.m_glAlphaFunc = glAlphaFunc;
- table.m_glAreTexturesResident = glAreTexturesResident;
- table.m_glArrayElement = glArrayElement;
- table.m_glBegin = glBegin;
- table.m_glBindTexture = glBindTexture;
- table.m_glBitmap = glBitmap;
- table.m_glBlendFunc = glBlendFunc;
- table.m_glCallList = glCallList;
- table.m_glCallLists = glCallLists;
- table.m_glClear = glClear;
- table.m_glClearAccum = glClearAccum;
- table.m_glClearColor = glClearColor;
- table.m_glClearDepth = glClearDepth;
- table.m_glClearIndex = glClearIndex;
- table.m_glClearStencil = glClearStencil;
- table.m_glClipPlane = glClipPlane;
- table.m_glColor3b = glColor3b;
- table.m_glColor3bv = glColor3bv;
- table.m_glColor3d = glColor3d;
- table.m_glColor3dv = glColor3dv;
- table.m_glColor3f = glColor3f;
- table.m_glColor3fv = glColor3fv;
- table.m_glColor3i = glColor3i;
- table.m_glColor3iv = glColor3iv;
- table.m_glColor3s = glColor3s;
- table.m_glColor3sv = glColor3sv;
- table.m_glColor3ub = glColor3ub;
- table.m_glColor3ubv = glColor3ubv;
- table.m_glColor3ui = glColor3ui;
- table.m_glColor3uiv = glColor3uiv;
- table.m_glColor3us = glColor3us;
- table.m_glColor3usv = glColor3usv;
- table.m_glColor4b = glColor4b;
- table.m_glColor4bv = glColor4bv;
- table.m_glColor4d = glColor4d;
- table.m_glColor4dv = glColor4dv;
- table.m_glColor4f = glColor4f;
- table.m_glColor4fv = glColor4fv;
- table.m_glColor4i = glColor4i;
- table.m_glColor4iv = glColor4iv;
- table.m_glColor4s = glColor4s;
- table.m_glColor4sv = glColor4sv;
- table.m_glColor4ub = glColor4ub;
- table.m_glColor4ubv = glColor4ubv;
- table.m_glColor4ui = glColor4ui;
- table.m_glColor4uiv = glColor4uiv;
- table.m_glColor4us = glColor4us;
- table.m_glColor4usv = glColor4usv;
- table.m_glColorMask = glColorMask;
- table.m_glColorMaterial = glColorMaterial;
- table.m_glColorPointer = glColorPointer;
- table.m_glCopyPixels = glCopyPixels;
- table.m_glCopyTexImage1D = glCopyTexImage1D;
- table.m_glCopyTexImage2D = glCopyTexImage2D;
- table.m_glCopyTexSubImage1D = glCopyTexSubImage1D;
- table.m_glCopyTexSubImage2D = glCopyTexSubImage2D;
- table.m_glCullFace = glCullFace;
- table.m_glDeleteLists = glDeleteLists;
- table.m_glDeleteTextures = glDeleteTextures;
- table.m_glDepthFunc = glDepthFunc;
- table.m_glDepthMask = glDepthMask;
- table.m_glDepthRange = glDepthRange;
- table.m_glDisable = glDisable;
- table.m_glDisableClientState = glDisableClientState;
- table.m_glDrawArrays = glDrawArrays;
- table.m_glDrawBuffer = glDrawBuffer;
- table.m_glDrawElements = glDrawElements;
- table.m_glDrawPixels = glDrawPixels;
- table.m_glEdgeFlag = glEdgeFlag;
- table.m_glEdgeFlagPointer = glEdgeFlagPointer;
- table.m_glEdgeFlagv = glEdgeFlagv;
- table.m_glEnable = glEnable;
- table.m_glEnableClientState = glEnableClientState;
- table.m_glEnd = glEnd;
- table.m_glEndList = glEndList;
- table.m_glEvalCoord1d = glEvalCoord1d;
- table.m_glEvalCoord1dv = glEvalCoord1dv;
- table.m_glEvalCoord1f = glEvalCoord1f;
- table.m_glEvalCoord1fv = glEvalCoord1fv;
- table.m_glEvalCoord2d = glEvalCoord2d;
- table.m_glEvalCoord2dv = glEvalCoord2dv;
- table.m_glEvalCoord2f = glEvalCoord2f;
- table.m_glEvalCoord2fv = glEvalCoord2fv;
- table.m_glEvalMesh1 = glEvalMesh1;
- table.m_glEvalMesh2 = glEvalMesh2;
- table.m_glEvalPoint1 = glEvalPoint1;
- table.m_glEvalPoint2 = glEvalPoint2;
- table.m_glFeedbackBuffer = glFeedbackBuffer;
- table.m_glFinish = glFinish;
- table.m_glFlush = glFlush;
- table.m_glFogf = glFogf;
- table.m_glFogfv = glFogfv;
- table.m_glFogi = glFogi;
- table.m_glFogiv = glFogiv;
- table.m_glFrontFace = glFrontFace;
- table.m_glFrustum = glFrustum;
- table.m_glGenLists = glGenLists;
- table.m_glGenTextures = glGenTextures;
- table.m_glGetBooleanv = glGetBooleanv;
- table.m_glGetClipPlane = glGetClipPlane;
- table.m_glGetDoublev = glGetDoublev;
- table.m_glGetError = glGetError;
- table.m_glGetFloatv = glGetFloatv;
- table.m_glGetIntegerv = glGetIntegerv;
- table.m_glGetLightfv = glGetLightfv;
- table.m_glGetLightiv = glGetLightiv;
- table.m_glGetMapdv = glGetMapdv;
- table.m_glGetMapfv = glGetMapfv;
- table.m_glGetMapiv = glGetMapiv;
- table.m_glGetMaterialfv = glGetMaterialfv;
- table.m_glGetMaterialiv = glGetMaterialiv;
- table.m_glGetPixelMapfv = glGetPixelMapfv;
- table.m_glGetPixelMapuiv = glGetPixelMapuiv;
- table.m_glGetPixelMapusv = glGetPixelMapusv;
- table.m_glGetPointerv = glGetPointerv;
- table.m_glGetPolygonStipple = glGetPolygonStipple;
- table.m_glGetString = glGetString;
- table.m_glGetTexEnvfv = glGetTexEnvfv;
- table.m_glGetTexEnviv = glGetTexEnviv;
- table.m_glGetTexGendv = glGetTexGendv;
- table.m_glGetTexGenfv = glGetTexGenfv;
- table.m_glGetTexGeniv = glGetTexGeniv;
- table.m_glGetTexImage = glGetTexImage;
- table.m_glGetTexLevelParameterfv = glGetTexLevelParameterfv;
- table.m_glGetTexLevelParameteriv = glGetTexLevelParameteriv;
- table.m_glGetTexParameterfv = glGetTexParameterfv;
- table.m_glGetTexParameteriv = glGetTexParameteriv;
- table.m_glHint = glHint;
- table.m_glIndexMask = glIndexMask;
- table.m_glIndexPointer = glIndexPointer;
- table.m_glIndexd = glIndexd;
- table.m_glIndexdv = glIndexdv;
- table.m_glIndexf = glIndexf;
- table.m_glIndexfv = glIndexfv;
- table.m_glIndexi = glIndexi;
- table.m_glIndexiv = glIndexiv;
- table.m_glIndexs = glIndexs;
- table.m_glIndexsv = glIndexsv;
- table.m_glIndexub = glIndexub;
- table.m_glIndexubv = glIndexubv;
- table.m_glInitNames = glInitNames;
- table.m_glInterleavedArrays = glInterleavedArrays;
- table.m_glIsEnabled = glIsEnabled;
- table.m_glIsList = glIsList;
- table.m_glIsTexture = glIsTexture;
- table.m_glLightModelf = glLightModelf;
- table.m_glLightModelfv = glLightModelfv;
- table.m_glLightModeli = glLightModeli;
- table.m_glLightModeliv = glLightModeliv;
- table.m_glLightf = glLightf;
- table.m_glLightfv = glLightfv;
- table.m_glLighti = glLighti;
- table.m_glLightiv = glLightiv;
- table.m_glLineStipple = glLineStipple;
- table.m_glLineWidth = glLineWidth;
- table.m_glListBase = glListBase;
- table.m_glLoadIdentity = glLoadIdentity;
- table.m_glLoadMatrixd = glLoadMatrixd;
- table.m_glLoadMatrixf = glLoadMatrixf;
- table.m_glLoadName = glLoadName;
- table.m_glLogicOp = glLogicOp;
- table.m_glMap1d = glMap1d;
- table.m_glMap1f = glMap1f;
- table.m_glMap2d = glMap2d;
- table.m_glMap2f = glMap2f;
- table.m_glMapGrid1d = glMapGrid1d;
- table.m_glMapGrid1f = glMapGrid1f;
- table.m_glMapGrid2d = glMapGrid2d;
- table.m_glMapGrid2f = glMapGrid2f;
- table.m_glMaterialf = glMaterialf;
- table.m_glMaterialfv = glMaterialfv;
- table.m_glMateriali = glMateriali;
- table.m_glMaterialiv = glMaterialiv;
- table.m_glMatrixMode = glMatrixMode;
- table.m_glMultMatrixd = glMultMatrixd;
- table.m_glMultMatrixf = glMultMatrixf;
- table.m_glNewList = glNewList;
- table.m_glNormal3b = glNormal3b;
- table.m_glNormal3bv = glNormal3bv;
- table.m_glNormal3d = glNormal3d;
- table.m_glNormal3dv = glNormal3dv;
- table.m_glNormal3f = glNormal3f;
- table.m_glNormal3fv = glNormal3fv;
- table.m_glNormal3i = glNormal3i;
- table.m_glNormal3iv = glNormal3iv;
- table.m_glNormal3s = glNormal3s;
- table.m_glNormal3sv = glNormal3sv;
- table.m_glNormalPointer = glNormalPointer;
- table.m_glOrtho = glOrtho;
- table.m_glPassThrough = glPassThrough;
- table.m_glPixelMapfv = glPixelMapfv;
- table.m_glPixelMapuiv = glPixelMapuiv;
- table.m_glPixelMapusv = glPixelMapusv;
- table.m_glPixelStoref = glPixelStoref;
- table.m_glPixelStorei = glPixelStorei;
- table.m_glPixelTransferf = glPixelTransferf;
- table.m_glPixelTransferi = glPixelTransferi;
- table.m_glPixelZoom = glPixelZoom;
- table.m_glPointSize = glPointSize;
- table.m_glPolygonMode = glPolygonMode;
- table.m_glPolygonOffset = glPolygonOffset;
- table.m_glPolygonStipple = glPolygonStipple;
- table.m_glPopAttrib = glPopAttrib;
- table.m_glPopClientAttrib = glPopClientAttrib;
- table.m_glPopMatrix = glPopMatrix;
- table.m_glPopName = glPopName;
- table.m_glPrioritizeTextures = glPrioritizeTextures;
- table.m_glPushAttrib = glPushAttrib;
- table.m_glPushClientAttrib = glPushClientAttrib;
- table.m_glPushMatrix = glPushMatrix;
- table.m_glPushName = glPushName;
- table.m_glRasterPos2d = glRasterPos2d;
- table.m_glRasterPos2dv = glRasterPos2dv;
- table.m_glRasterPos2f = glRasterPos2f;
- table.m_glRasterPos2fv = glRasterPos2fv;
- table.m_glRasterPos2i = glRasterPos2i;
- table.m_glRasterPos2iv = glRasterPos2iv;
- table.m_glRasterPos2s = glRasterPos2s;
- table.m_glRasterPos2sv = glRasterPos2sv;
- table.m_glRasterPos3d = glRasterPos3d;
- table.m_glRasterPos3dv = glRasterPos3dv;
- table.m_glRasterPos3f = glRasterPos3f;
- table.m_glRasterPos3fv = glRasterPos3fv;
- table.m_glRasterPos3i = glRasterPos3i;
- table.m_glRasterPos3iv = glRasterPos3iv;
- table.m_glRasterPos3s = glRasterPos3s;
- table.m_glRasterPos3sv = glRasterPos3sv;
- table.m_glRasterPos4d = glRasterPos4d;
- table.m_glRasterPos4dv = glRasterPos4dv;
- table.m_glRasterPos4f = glRasterPos4f;
- table.m_glRasterPos4fv = glRasterPos4fv;
- table.m_glRasterPos4i = glRasterPos4i;
- table.m_glRasterPos4iv = glRasterPos4iv;
- table.m_glRasterPos4s = glRasterPos4s;
- table.m_glRasterPos4sv = glRasterPos4sv;
- table.m_glReadBuffer = glReadBuffer;
- table.m_glReadPixels = glReadPixels;
- table.m_glRectd = glRectd;
- table.m_glRectdv = glRectdv;
- table.m_glRectf = glRectf;
- table.m_glRectfv = glRectfv;
- table.m_glRecti = glRecti;
- table.m_glRectiv = glRectiv;
- table.m_glRects = glRects;
- table.m_glRectsv = glRectsv;
- table.m_glRenderMode = glRenderMode;
- table.m_glRotated = glRotated;
- table.m_glRotatef = glRotatef;
- table.m_glScaled = glScaled;
- table.m_glScalef = glScalef;
- table.m_glScissor = glScissor;
- table.m_glSelectBuffer = glSelectBuffer;
- table.m_glShadeModel = glShadeModel;
- table.m_glStencilFunc = glStencilFunc;
- table.m_glStencilMask = glStencilMask;
- table.m_glStencilOp = glStencilOp;
- table.m_glTexCoord1d = glTexCoord1d;
- table.m_glTexCoord1dv = glTexCoord1dv;
- table.m_glTexCoord1f = glTexCoord1f;
- table.m_glTexCoord1fv = glTexCoord1fv;
- table.m_glTexCoord1i = glTexCoord1i;
- table.m_glTexCoord1iv = glTexCoord1iv;
- table.m_glTexCoord1s = glTexCoord1s;
- table.m_glTexCoord1sv = glTexCoord1sv;
- table.m_glTexCoord2d = glTexCoord2d;
- table.m_glTexCoord2dv = glTexCoord2dv;
- table.m_glTexCoord2f = glTexCoord2f;
- table.m_glTexCoord2fv = glTexCoord2fv;
- table.m_glTexCoord2i = glTexCoord2i;
- table.m_glTexCoord2iv = glTexCoord2iv;
- table.m_glTexCoord2s = glTexCoord2s;
- table.m_glTexCoord2sv = glTexCoord2sv;
- table.m_glTexCoord3d = glTexCoord3d;
- table.m_glTexCoord3dv = glTexCoord3dv;
- table.m_glTexCoord3f = glTexCoord3f;
- table.m_glTexCoord3fv = glTexCoord3fv;
- table.m_glTexCoord3i = glTexCoord3i;
- table.m_glTexCoord3iv = glTexCoord3iv;
- table.m_glTexCoord3s = glTexCoord3s;
- table.m_glTexCoord3sv = glTexCoord3sv;
- table.m_glTexCoord4d = glTexCoord4d;
- table.m_glTexCoord4dv = glTexCoord4dv;
- table.m_glTexCoord4f = glTexCoord4f;
- table.m_glTexCoord4fv = glTexCoord4fv;
- table.m_glTexCoord4i = glTexCoord4i;
- table.m_glTexCoord4iv = glTexCoord4iv;
- table.m_glTexCoord4s = glTexCoord4s;
- table.m_glTexCoord4sv = glTexCoord4sv;
- table.m_glTexCoordPointer = glTexCoordPointer;
- table.m_glTexEnvf = glTexEnvf;
- table.m_glTexEnvfv = glTexEnvfv;
- table.m_glTexEnvi = glTexEnvi;
- table.m_glTexEnviv = glTexEnviv;
- table.m_glTexGend = glTexGend;
- table.m_glTexGendv = glTexGendv;
- table.m_glTexGenf = glTexGenf;
- table.m_glTexGenfv = glTexGenfv;
- table.m_glTexGeni = glTexGeni;
- table.m_glTexGeniv = glTexGeniv;
- table.m_glTexImage1D = glTexImage1D;
- table.m_glTexImage2D = glTexImage2D;
- table.m_glTexParameterf = glTexParameterf;
- table.m_glTexParameterfv = glTexParameterfv;
- table.m_glTexParameteri = glTexParameteri;
- table.m_glTexParameteriv = glTexParameteriv;
- table.m_glTexSubImage1D = glTexSubImage1D;
- table.m_glTexSubImage2D = glTexSubImage2D;
- table.m_glTranslated = glTranslated;
- table.m_glTranslatef = glTranslatef;
- table.m_glVertex2d = glVertex2d;
- table.m_glVertex2dv = glVertex2dv;
- table.m_glVertex2f = glVertex2f;
- table.m_glVertex2fv = glVertex2fv;
- table.m_glVertex2i = glVertex2i;
- table.m_glVertex2iv = glVertex2iv;
- table.m_glVertex2s = glVertex2s;
- table.m_glVertex2sv = glVertex2sv;
- table.m_glVertex3d = glVertex3d;
- table.m_glVertex3dv = glVertex3dv;
- table.m_glVertex3f = glVertex3f;
- table.m_glVertex3fv = glVertex3fv;
- table.m_glVertex3i = glVertex3i;
- table.m_glVertex3iv = glVertex3iv;
- table.m_glVertex3s = glVertex3s;
- table.m_glVertex3sv = glVertex3sv;
- table.m_glVertex4d = glVertex4d;
- table.m_glVertex4dv = glVertex4dv;
- table.m_glVertex4f = glVertex4f;
- table.m_glVertex4fv = glVertex4fv;
- table.m_glVertex4i = glVertex4i;
- table.m_glVertex4iv = glVertex4iv;
- table.m_glVertex4s = glVertex4s;
- table.m_glVertex4sv = glVertex4sv;
- table.m_glVertexPointer = glVertexPointer;
- table.m_glViewport = glViewport;
-
- if(QGL_ExtensionSupported("GL_ARB_multitexture"))
- {
- table.support_ARB_multitexture =
- QGL_constructExtensionFunc(table.m_glActiveTextureARB, "glActiveTextureARB")
- && QGL_constructExtensionFunc(table.m_glClientActiveTextureARB, "glClientActiveTextureARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1dARB, "glMultiTexCoord1dARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1dvARB, "glMultiTexCoord1dvARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1fARB, "glMultiTexCoord1fARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1fvARB, "glMultiTexCoord1fvARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1iARB, "glMultiTexCoord1iARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1ivARB, "glMultiTexCoord1ivARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1sARB, "glMultiTexCoord1sARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1svARB, "glMultiTexCoord1svARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2dARB, "glMultiTexCoord2dARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2dvARB, "glMultiTexCoord2dvARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2fARB, "glMultiTexCoord2fARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2fvARB, "glMultiTexCoord2fvARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2iARB, "glMultiTexCoord2iARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2ivARB, "glMultiTexCoord2ivARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2sARB, "glMultiTexCoord2sARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2svARB, "glMultiTexCoord2svARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3dARB, "glMultiTexCoord3dARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3dvARB, "glMultiTexCoord3dvARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3fARB, "glMultiTexCoord3fARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3fvARB, "glMultiTexCoord3fvARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3iARB, "glMultiTexCoord3iARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3ivARB, "glMultiTexCoord3ivARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3sARB, "glMultiTexCoord3sARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3svARB, "glMultiTexCoord3svARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4dARB, "glMultiTexCoord4dARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4dvARB, "glMultiTexCoord4dvARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4fARB, "glMultiTexCoord4fARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4fvARB, "glMultiTexCoord4fvARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4iARB, "glMultiTexCoord4iARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4ivARB, "glMultiTexCoord4ivARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4sARB, "glMultiTexCoord4sARB")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4svARB, "glMultiTexCoord4svARB");
-
- if(!table.support_ARB_multitexture)
- {
- extension_not_implemented("GL_ARB_multitexture");
+ return g_maxTextureAnisotropy;
+}
+
+void QGL_sharedContextCreated(OpenGLBinding &table)
+{
+ QGL_InitVersion();
+
+ table.major_version = g_qglMajorVersion;
+ table.minor_version = g_qglMinorVersion;
+
+ table.m_glAccum = glAccum;
+ table.m_glAlphaFunc = glAlphaFunc;
+ table.m_glAreTexturesResident = glAreTexturesResident;
+ table.m_glArrayElement = glArrayElement;
+ table.m_glBegin = glBegin;
+ table.m_glBindTexture = glBindTexture;
+ table.m_glBitmap = glBitmap;
+ table.m_glBlendFunc = glBlendFunc;
+ table.m_glCallList = glCallList;
+ table.m_glCallLists = glCallLists;
+ table.m_glClear = glClear;
+ table.m_glClearAccum = glClearAccum;
+ table.m_glClearColor = glClearColor;
+ table.m_glClearDepth = glClearDepth;
+ table.m_glClearIndex = glClearIndex;
+ table.m_glClearStencil = glClearStencil;
+ table.m_glClipPlane = glClipPlane;
+ table.m_glColor3b = glColor3b;
+ table.m_glColor3bv = glColor3bv;
+ table.m_glColor3d = glColor3d;
+ table.m_glColor3dv = glColor3dv;
+ table.m_glColor3f = glColor3f;
+ table.m_glColor3fv = glColor3fv;
+ table.m_glColor3i = glColor3i;
+ table.m_glColor3iv = glColor3iv;
+ table.m_glColor3s = glColor3s;
+ table.m_glColor3sv = glColor3sv;
+ table.m_glColor3ub = glColor3ub;
+ table.m_glColor3ubv = glColor3ubv;
+ table.m_glColor3ui = glColor3ui;
+ table.m_glColor3uiv = glColor3uiv;
+ table.m_glColor3us = glColor3us;
+ table.m_glColor3usv = glColor3usv;
+ table.m_glColor4b = glColor4b;
+ table.m_glColor4bv = glColor4bv;
+ table.m_glColor4d = glColor4d;
+ table.m_glColor4dv = glColor4dv;
+ table.m_glColor4f = glColor4f;
+ table.m_glColor4fv = glColor4fv;
+ table.m_glColor4i = glColor4i;
+ table.m_glColor4iv = glColor4iv;
+ table.m_glColor4s = glColor4s;
+ table.m_glColor4sv = glColor4sv;
+ table.m_glColor4ub = glColor4ub;
+ table.m_glColor4ubv = glColor4ubv;
+ table.m_glColor4ui = glColor4ui;
+ table.m_glColor4uiv = glColor4uiv;
+ table.m_glColor4us = glColor4us;
+ table.m_glColor4usv = glColor4usv;
+ table.m_glColorMask = glColorMask;
+ table.m_glColorMaterial = glColorMaterial;
+ table.m_glColorPointer = glColorPointer;
+ table.m_glCopyPixels = glCopyPixels;
+ table.m_glCopyTexImage1D = glCopyTexImage1D;
+ table.m_glCopyTexImage2D = glCopyTexImage2D;
+ table.m_glCopyTexSubImage1D = glCopyTexSubImage1D;
+ table.m_glCopyTexSubImage2D = glCopyTexSubImage2D;
+ table.m_glCullFace = glCullFace;
+ table.m_glDeleteLists = glDeleteLists;
+ table.m_glDeleteTextures = glDeleteTextures;
+ table.m_glDepthFunc = glDepthFunc;
+ table.m_glDepthMask = glDepthMask;
+ table.m_glDepthRange = glDepthRange;
+ table.m_glDisable = glDisable;
+ table.m_glDisableClientState = glDisableClientState;
+ table.m_glDrawArrays = glDrawArrays;
+ table.m_glDrawBuffer = glDrawBuffer;
+ table.m_glDrawElements = glDrawElements;
+ table.m_glDrawPixels = glDrawPixels;
+ table.m_glEdgeFlag = glEdgeFlag;
+ table.m_glEdgeFlagPointer = glEdgeFlagPointer;
+ table.m_glEdgeFlagv = glEdgeFlagv;
+ table.m_glEnable = glEnable;
+ table.m_glEnableClientState = glEnableClientState;
+ table.m_glEnd = glEnd;
+ table.m_glEndList = glEndList;
+ table.m_glEvalCoord1d = glEvalCoord1d;
+ table.m_glEvalCoord1dv = glEvalCoord1dv;
+ table.m_glEvalCoord1f = glEvalCoord1f;
+ table.m_glEvalCoord1fv = glEvalCoord1fv;
+ table.m_glEvalCoord2d = glEvalCoord2d;
+ table.m_glEvalCoord2dv = glEvalCoord2dv;
+ table.m_glEvalCoord2f = glEvalCoord2f;
+ table.m_glEvalCoord2fv = glEvalCoord2fv;
+ table.m_glEvalMesh1 = glEvalMesh1;
+ table.m_glEvalMesh2 = glEvalMesh2;
+ table.m_glEvalPoint1 = glEvalPoint1;
+ table.m_glEvalPoint2 = glEvalPoint2;
+ table.m_glFeedbackBuffer = glFeedbackBuffer;
+ table.m_glFinish = glFinish;
+ table.m_glFlush = glFlush;
+ table.m_glFogf = glFogf;
+ table.m_glFogfv = glFogfv;
+ table.m_glFogi = glFogi;
+ table.m_glFogiv = glFogiv;
+ table.m_glFrontFace = glFrontFace;
+ table.m_glFrustum = glFrustum;
+ table.m_glGenLists = glGenLists;
+ table.m_glGenTextures = glGenTextures;
+ table.m_glGetBooleanv = glGetBooleanv;
+ table.m_glGetClipPlane = glGetClipPlane;
+ table.m_glGetDoublev = glGetDoublev;
+ table.m_glGetError = glGetError;
+ table.m_glGetFloatv = glGetFloatv;
+ table.m_glGetIntegerv = glGetIntegerv;
+ table.m_glGetLightfv = glGetLightfv;
+ table.m_glGetLightiv = glGetLightiv;
+ table.m_glGetMapdv = glGetMapdv;
+ table.m_glGetMapfv = glGetMapfv;
+ table.m_glGetMapiv = glGetMapiv;
+ table.m_glGetMaterialfv = glGetMaterialfv;
+ table.m_glGetMaterialiv = glGetMaterialiv;
+ table.m_glGetPixelMapfv = glGetPixelMapfv;
+ table.m_glGetPixelMapuiv = glGetPixelMapuiv;
+ table.m_glGetPixelMapusv = glGetPixelMapusv;
+ table.m_glGetPointerv = glGetPointerv;
+ table.m_glGetPolygonStipple = glGetPolygonStipple;
+ table.m_glGetString = glGetString;
+ table.m_glGetTexEnvfv = glGetTexEnvfv;
+ table.m_glGetTexEnviv = glGetTexEnviv;
+ table.m_glGetTexGendv = glGetTexGendv;
+ table.m_glGetTexGenfv = glGetTexGenfv;
+ table.m_glGetTexGeniv = glGetTexGeniv;
+ table.m_glGetTexImage = glGetTexImage;
+ table.m_glGetTexLevelParameterfv = glGetTexLevelParameterfv;
+ table.m_glGetTexLevelParameteriv = glGetTexLevelParameteriv;
+ table.m_glGetTexParameterfv = glGetTexParameterfv;
+ table.m_glGetTexParameteriv = glGetTexParameteriv;
+ table.m_glHint = glHint;
+ table.m_glIndexMask = glIndexMask;
+ table.m_glIndexPointer = glIndexPointer;
+ table.m_glIndexd = glIndexd;
+ table.m_glIndexdv = glIndexdv;
+ table.m_glIndexf = glIndexf;
+ table.m_glIndexfv = glIndexfv;
+ table.m_glIndexi = glIndexi;
+ table.m_glIndexiv = glIndexiv;
+ table.m_glIndexs = glIndexs;
+ table.m_glIndexsv = glIndexsv;
+ table.m_glIndexub = glIndexub;
+ table.m_glIndexubv = glIndexubv;
+ table.m_glInitNames = glInitNames;
+ table.m_glInterleavedArrays = glInterleavedArrays;
+ table.m_glIsEnabled = glIsEnabled;
+ table.m_glIsList = glIsList;
+ table.m_glIsTexture = glIsTexture;
+ table.m_glLightModelf = glLightModelf;
+ table.m_glLightModelfv = glLightModelfv;
+ table.m_glLightModeli = glLightModeli;
+ table.m_glLightModeliv = glLightModeliv;
+ table.m_glLightf = glLightf;
+ table.m_glLightfv = glLightfv;
+ table.m_glLighti = glLighti;
+ table.m_glLightiv = glLightiv;
+ table.m_glLineStipple = glLineStipple;
+ table.m_glLineWidth = glLineWidth;
+ table.m_glListBase = glListBase;
+ table.m_glLoadIdentity = glLoadIdentity;
+ table.m_glLoadMatrixd = glLoadMatrixd;
+ table.m_glLoadMatrixf = glLoadMatrixf;
+ table.m_glLoadName = glLoadName;
+ table.m_glLogicOp = glLogicOp;
+ table.m_glMap1d = glMap1d;
+ table.m_glMap1f = glMap1f;
+ table.m_glMap2d = glMap2d;
+ table.m_glMap2f = glMap2f;
+ table.m_glMapGrid1d = glMapGrid1d;
+ table.m_glMapGrid1f = glMapGrid1f;
+ table.m_glMapGrid2d = glMapGrid2d;
+ table.m_glMapGrid2f = glMapGrid2f;
+ table.m_glMaterialf = glMaterialf;
+ table.m_glMaterialfv = glMaterialfv;
+ table.m_glMateriali = glMateriali;
+ table.m_glMaterialiv = glMaterialiv;
+ table.m_glMatrixMode = glMatrixMode;
+ table.m_glMultMatrixd = glMultMatrixd;
+ table.m_glMultMatrixf = glMultMatrixf;
+ table.m_glNewList = glNewList;
+ table.m_glNormal3b = glNormal3b;
+ table.m_glNormal3bv = glNormal3bv;
+ table.m_glNormal3d = glNormal3d;
+ table.m_glNormal3dv = glNormal3dv;
+ table.m_glNormal3f = glNormal3f;
+ table.m_glNormal3fv = glNormal3fv;
+ table.m_glNormal3i = glNormal3i;
+ table.m_glNormal3iv = glNormal3iv;
+ table.m_glNormal3s = glNormal3s;
+ table.m_glNormal3sv = glNormal3sv;
+ table.m_glNormalPointer = glNormalPointer;
+ table.m_glOrtho = glOrtho;
+ table.m_glPassThrough = glPassThrough;
+ table.m_glPixelMapfv = glPixelMapfv;
+ table.m_glPixelMapuiv = glPixelMapuiv;
+ table.m_glPixelMapusv = glPixelMapusv;
+ table.m_glPixelStoref = glPixelStoref;
+ table.m_glPixelStorei = glPixelStorei;
+ table.m_glPixelTransferf = glPixelTransferf;
+ table.m_glPixelTransferi = glPixelTransferi;
+ table.m_glPixelZoom = glPixelZoom;
+ table.m_glPointSize = glPointSize;
+ table.m_glPolygonMode = glPolygonMode;
+ table.m_glPolygonOffset = glPolygonOffset;
+ table.m_glPolygonStipple = glPolygonStipple;
+ table.m_glPopAttrib = glPopAttrib;
+ table.m_glPopClientAttrib = glPopClientAttrib;
+ table.m_glPopMatrix = glPopMatrix;
+ table.m_glPopName = glPopName;
+ table.m_glPrioritizeTextures = glPrioritizeTextures;
+ table.m_glPushAttrib = glPushAttrib;
+ table.m_glPushClientAttrib = glPushClientAttrib;
+ table.m_glPushMatrix = glPushMatrix;
+ table.m_glPushName = glPushName;
+ table.m_glRasterPos2d = glRasterPos2d;
+ table.m_glRasterPos2dv = glRasterPos2dv;
+ table.m_glRasterPos2f = glRasterPos2f;
+ table.m_glRasterPos2fv = glRasterPos2fv;
+ table.m_glRasterPos2i = glRasterPos2i;
+ table.m_glRasterPos2iv = glRasterPos2iv;
+ table.m_glRasterPos2s = glRasterPos2s;
+ table.m_glRasterPos2sv = glRasterPos2sv;
+ table.m_glRasterPos3d = glRasterPos3d;
+ table.m_glRasterPos3dv = glRasterPos3dv;
+ table.m_glRasterPos3f = glRasterPos3f;
+ table.m_glRasterPos3fv = glRasterPos3fv;
+ table.m_glRasterPos3i = glRasterPos3i;
+ table.m_glRasterPos3iv = glRasterPos3iv;
+ table.m_glRasterPos3s = glRasterPos3s;
+ table.m_glRasterPos3sv = glRasterPos3sv;
+ table.m_glRasterPos4d = glRasterPos4d;
+ table.m_glRasterPos4dv = glRasterPos4dv;
+ table.m_glRasterPos4f = glRasterPos4f;
+ table.m_glRasterPos4fv = glRasterPos4fv;
+ table.m_glRasterPos4i = glRasterPos4i;
+ table.m_glRasterPos4iv = glRasterPos4iv;
+ table.m_glRasterPos4s = glRasterPos4s;
+ table.m_glRasterPos4sv = glRasterPos4sv;
+ table.m_glReadBuffer = glReadBuffer;
+ table.m_glReadPixels = glReadPixels;
+ table.m_glRectd = glRectd;
+ table.m_glRectdv = glRectdv;
+ table.m_glRectf = glRectf;
+ table.m_glRectfv = glRectfv;
+ table.m_glRecti = glRecti;
+ table.m_glRectiv = glRectiv;
+ table.m_glRects = glRects;
+ table.m_glRectsv = glRectsv;
+ table.m_glRenderMode = glRenderMode;
+ table.m_glRotated = glRotated;
+ table.m_glRotatef = glRotatef;
+ table.m_glScaled = glScaled;
+ table.m_glScalef = glScalef;
+ table.m_glScissor = glScissor;
+ table.m_glSelectBuffer = glSelectBuffer;
+ table.m_glShadeModel = glShadeModel;
+ table.m_glStencilFunc = glStencilFunc;
+ table.m_glStencilMask = glStencilMask;
+ table.m_glStencilOp = glStencilOp;
+ table.m_glTexCoord1d = glTexCoord1d;
+ table.m_glTexCoord1dv = glTexCoord1dv;
+ table.m_glTexCoord1f = glTexCoord1f;
+ table.m_glTexCoord1fv = glTexCoord1fv;
+ table.m_glTexCoord1i = glTexCoord1i;
+ table.m_glTexCoord1iv = glTexCoord1iv;
+ table.m_glTexCoord1s = glTexCoord1s;
+ table.m_glTexCoord1sv = glTexCoord1sv;
+ table.m_glTexCoord2d = glTexCoord2d;
+ table.m_glTexCoord2dv = glTexCoord2dv;
+ table.m_glTexCoord2f = glTexCoord2f;
+ table.m_glTexCoord2fv = glTexCoord2fv;
+ table.m_glTexCoord2i = glTexCoord2i;
+ table.m_glTexCoord2iv = glTexCoord2iv;
+ table.m_glTexCoord2s = glTexCoord2s;
+ table.m_glTexCoord2sv = glTexCoord2sv;
+ table.m_glTexCoord3d = glTexCoord3d;
+ table.m_glTexCoord3dv = glTexCoord3dv;
+ table.m_glTexCoord3f = glTexCoord3f;
+ table.m_glTexCoord3fv = glTexCoord3fv;
+ table.m_glTexCoord3i = glTexCoord3i;
+ table.m_glTexCoord3iv = glTexCoord3iv;
+ table.m_glTexCoord3s = glTexCoord3s;
+ table.m_glTexCoord3sv = glTexCoord3sv;
+ table.m_glTexCoord4d = glTexCoord4d;
+ table.m_glTexCoord4dv = glTexCoord4dv;
+ table.m_glTexCoord4f = glTexCoord4f;
+ table.m_glTexCoord4fv = glTexCoord4fv;
+ table.m_glTexCoord4i = glTexCoord4i;
+ table.m_glTexCoord4iv = glTexCoord4iv;
+ table.m_glTexCoord4s = glTexCoord4s;
+ table.m_glTexCoord4sv = glTexCoord4sv;
+ table.m_glTexCoordPointer = glTexCoordPointer;
+ table.m_glTexEnvf = glTexEnvf;
+ table.m_glTexEnvfv = glTexEnvfv;
+ table.m_glTexEnvi = glTexEnvi;
+ table.m_glTexEnviv = glTexEnviv;
+ table.m_glTexGend = glTexGend;
+ table.m_glTexGendv = glTexGendv;
+ table.m_glTexGenf = glTexGenf;
+ table.m_glTexGenfv = glTexGenfv;
+ table.m_glTexGeni = glTexGeni;
+ table.m_glTexGeniv = glTexGeniv;
+ table.m_glTexImage1D = glTexImage1D;
+ table.m_glTexImage2D = glTexImage2D;
+ table.m_glTexParameterf = glTexParameterf;
+ table.m_glTexParameterfv = glTexParameterfv;
+ table.m_glTexParameteri = glTexParameteri;
+ table.m_glTexParameteriv = glTexParameteriv;
+ table.m_glTexSubImage1D = glTexSubImage1D;
+ table.m_glTexSubImage2D = glTexSubImage2D;
+ table.m_glTranslated = glTranslated;
+ table.m_glTranslatef = glTranslatef;
+ table.m_glVertex2d = glVertex2d;
+ table.m_glVertex2dv = glVertex2dv;
+ table.m_glVertex2f = glVertex2f;
+ table.m_glVertex2fv = glVertex2fv;
+ table.m_glVertex2i = glVertex2i;
+ table.m_glVertex2iv = glVertex2iv;
+ table.m_glVertex2s = glVertex2s;
+ table.m_glVertex2sv = glVertex2sv;
+ table.m_glVertex3d = glVertex3d;
+ table.m_glVertex3dv = glVertex3dv;
+ table.m_glVertex3f = glVertex3f;
+ table.m_glVertex3fv = glVertex3fv;
+ table.m_glVertex3i = glVertex3i;
+ table.m_glVertex3iv = glVertex3iv;
+ table.m_glVertex3s = glVertex3s;
+ table.m_glVertex3sv = glVertex3sv;
+ table.m_glVertex4d = glVertex4d;
+ table.m_glVertex4dv = glVertex4dv;
+ table.m_glVertex4f = glVertex4f;
+ table.m_glVertex4fv = glVertex4fv;
+ table.m_glVertex4i = glVertex4i;
+ table.m_glVertex4iv = glVertex4iv;
+ table.m_glVertex4s = glVertex4s;
+ table.m_glVertex4sv = glVertex4sv;
+ table.m_glVertexPointer = glVertexPointer;
+ table.m_glViewport = glViewport;
+
+ if (QGL_ExtensionSupported("GL_ARB_multitexture")) {
+ table.support_ARB_multitexture =
+ QGL_constructExtensionFunc(table.m_glActiveTextureARB, "glActiveTextureARB")
+ && QGL_constructExtensionFunc(table.m_glClientActiveTextureARB, "glClientActiveTextureARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord1dARB, "glMultiTexCoord1dARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord1dvARB, "glMultiTexCoord1dvARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord1fARB, "glMultiTexCoord1fARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord1fvARB, "glMultiTexCoord1fvARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord1iARB, "glMultiTexCoord1iARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord1ivARB, "glMultiTexCoord1ivARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord1sARB, "glMultiTexCoord1sARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord1svARB, "glMultiTexCoord1svARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord2dARB, "glMultiTexCoord2dARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord2dvARB, "glMultiTexCoord2dvARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord2fARB, "glMultiTexCoord2fARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord2fvARB, "glMultiTexCoord2fvARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord2iARB, "glMultiTexCoord2iARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord2ivARB, "glMultiTexCoord2ivARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord2sARB, "glMultiTexCoord2sARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord2svARB, "glMultiTexCoord2svARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord3dARB, "glMultiTexCoord3dARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord3dvARB, "glMultiTexCoord3dvARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord3fARB, "glMultiTexCoord3fARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord3fvARB, "glMultiTexCoord3fvARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord3iARB, "glMultiTexCoord3iARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord3ivARB, "glMultiTexCoord3ivARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord3sARB, "glMultiTexCoord3sARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord3svARB, "glMultiTexCoord3svARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord4dARB, "glMultiTexCoord4dARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord4dvARB, "glMultiTexCoord4dvARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord4fARB, "glMultiTexCoord4fARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord4fvARB, "glMultiTexCoord4fvARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord4iARB, "glMultiTexCoord4iARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord4ivARB, "glMultiTexCoord4ivARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord4sARB, "glMultiTexCoord4sARB")
+ && QGL_constructExtensionFunc(table.m_glMultiTexCoord4svARB, "glMultiTexCoord4svARB");
+
+ if (!table.support_ARB_multitexture) {
+ extension_not_implemented("GL_ARB_multitexture");
+ }
+ } else {
+ table.support_ARB_multitexture = false;