-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;
- }
-
- if(QGL_ExtensionSupported("GL_ARB_texture_compression"))
- {
- table.support_ARB_texture_compression =
- QGL_constructExtensionFunc(table.m_glCompressedTexImage3DARB, "glCompressedTexImage3DARB")
- && QGL_constructExtensionFunc(table.m_glCompressedTexImage2DARB, "glCompressedTexImage2DARB")
- && QGL_constructExtensionFunc(table.m_glCompressedTexImage1DARB, "glCompressedTexImage1DARB")
- && QGL_constructExtensionFunc(table.m_glCompressedTexSubImage3DARB, "glCompressedTexSubImage3DARB")
- && QGL_constructExtensionFunc(table.m_glCompressedTexSubImage2DARB, "glCompressedTexSubImage2DARB")
- && QGL_constructExtensionFunc(table.m_glCompressedTexSubImage1DARB, "glCompressedTexSubImage1DARB")
- && QGL_constructExtensionFunc(table.m_glGetCompressedTexImageARB, "glGetCompressedTexImageARB");
-
- if(!table.support_ARB_texture_compression)
- {
- extension_not_implemented("GL_ARB_texture_compression");
- }
- }
- else
- {
- table.support_ARB_texture_compression = false;
- }
-
- table.support_EXT_texture_compression_s3tc = QGL_ExtensionSupported("GL_EXT_texture_compression_s3tc");
-
- // GL 1.2
- if(table.major_version > 1 || table.minor_version >= 2)
- {
- table.support_GL_1_2 =
- QGL_constructExtensionFunc(table.m_glCopyTexSubImage3D, "glCopyTexSubImage3D")
- && QGL_constructExtensionFunc(table.m_glDrawRangeElements, "glDrawRangeElements")
- && QGL_constructExtensionFunc(table.m_glTexImage3D, "glTexImage3D")
- && QGL_constructExtensionFunc(table.m_glTexSubImage3D, "glTexSubImage3D");
-
- if(!table.support_GL_1_2)
- {
- extension_not_implemented("GL_VERSION_1_2");
- }
- }
- else
- {
- table.support_GL_1_2 = false;
- }
-
- // GL 1.3
- if(table.major_version > 1 || table.minor_version >= 3)
- {
- table.support_GL_1_3 =
- QGL_constructExtensionFunc(table.m_glActiveTexture, "glActiveTexture")
- && QGL_constructExtensionFunc(table.m_glClientActiveTexture, "glClientActiveTexture")
- && QGL_constructExtensionFunc(table.m_glCompressedTexImage1D, "glCompressedTexImage1D")
- && QGL_constructExtensionFunc(table.m_glCompressedTexImage2D, "glCompressedTexImage2D")
- && QGL_constructExtensionFunc(table.m_glCompressedTexImage3D, "glCompressedTexImage3D")
- && QGL_constructExtensionFunc(table.m_glCompressedTexSubImage1D, "glCompressedTexSubImage1D")
- && QGL_constructExtensionFunc(table.m_glCompressedTexSubImage2D, "glCompressedTexSubImage2D")
- && QGL_constructExtensionFunc(table.m_glCompressedTexSubImage3D, "glCompressedTexSubImage3D")
- && QGL_constructExtensionFunc(table.m_glGetCompressedTexImage, "glGetCompressedTexImage")
- && QGL_constructExtensionFunc(table.m_glLoadTransposeMatrixd, "glLoadTransposeMatrixd")
- && QGL_constructExtensionFunc(table.m_glLoadTransposeMatrixf, "glLoadTransposeMatrixf")
- && QGL_constructExtensionFunc(table.m_glMultTransposeMatrixd, "glMultTransposeMatrixd")
- && QGL_constructExtensionFunc(table.m_glMultTransposeMatrixf, "glMultTransposeMatrixf")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1d, "glMultiTexCoord1d")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1dv, "glMultiTexCoord1dv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1f, "glMultiTexCoord1f")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1fv, "glMultiTexCoord1fv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1i, "glMultiTexCoord1i")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1iv, "glMultiTexCoord1iv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1s, "glMultiTexCoord1s")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord1sv, "glMultiTexCoord1sv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2d, "glMultiTexCoord2d")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2dv, "glMultiTexCoord2dv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2f, "glMultiTexCoord2f")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2fv, "glMultiTexCoord2fv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2i, "glMultiTexCoord2i")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2iv, "glMultiTexCoord2iv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2s, "glMultiTexCoord2s")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord2sv, "glMultiTexCoord2sv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3d, "glMultiTexCoord3d")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3dv, "glMultiTexCoord3dv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3f, "glMultiTexCoord3f")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3fv, "glMultiTexCoord3fv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3i, "glMultiTexCoord3i")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3iv, "glMultiTexCoord3iv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3s, "glMultiTexCoord3s")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord3sv, "glMultiTexCoord3sv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4d, "glMultiTexCoord4d")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4dv, "glMultiTexCoord4dv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4f, "glMultiTexCoord4f")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4fv, "glMultiTexCoord4fv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4i, "glMultiTexCoord4i")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4iv, "glMultiTexCoord4iv")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4s, "glMultiTexCoord4s")
- && QGL_constructExtensionFunc(table.m_glMultiTexCoord4sv, "glMultiTexCoord4sv")
- && QGL_constructExtensionFunc(table.m_glSampleCoverage, "glSampleCoverage");
-
- if(!table.support_GL_1_3)
- {
- extension_not_implemented("GL_VERSION_1_3");
- }
- }
- else
- {
- table.support_GL_1_3 = false;
- }
-
- // GL 1.4
- if(table.major_version > 1 || table.minor_version >= 4)
- {
- table.support_GL_1_4 =
- QGL_constructExtensionFunc(table.m_glBlendColor, "glBlendColor")
- && QGL_constructExtensionFunc(table.m_glBlendEquation, "glBlendEquation")
- && QGL_constructExtensionFunc(table.m_glBlendFuncSeparate, "glBlendFuncSeparate")
- && QGL_constructExtensionFunc(table.m_glFogCoordPointer, "glFogCoordPointer")
- && QGL_constructExtensionFunc(table.m_glFogCoordd, "glFogCoordd")
- && QGL_constructExtensionFunc(table.m_glFogCoorddv, "glFogCoorddv")
- && QGL_constructExtensionFunc(table.m_glFogCoordf, "glFogCoordf")
- && QGL_constructExtensionFunc(table.m_glFogCoordfv, "glFogCoordfv")
- && QGL_constructExtensionFunc(table.m_glMultiDrawArrays, "glMultiDrawArrays")
- && QGL_constructExtensionFunc(table.m_glMultiDrawElements, "glMultiDrawElements")
- && QGL_constructExtensionFunc(table.m_glPointParameterf, "glPointParameterf")
- && QGL_constructExtensionFunc(table.m_glPointParameterfv, "glPointParameterfv")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3b, "glSecondaryColor3b")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3bv, "glSecondaryColor3bv")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3d, "glSecondaryColor3d")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3dv, "glSecondaryColor3dv")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3f, "glSecondaryColor3f")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3fv, "glSecondaryColor3fv")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3i, "glSecondaryColor3i")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3iv, "glSecondaryColor3iv")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3s, "glSecondaryColor3s")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3sv, "glSecondaryColor3sv")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3ub, "glSecondaryColor3ub")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3ubv, "glSecondaryColor3ubv")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3ui, "glSecondaryColor3ui")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3uiv, "glSecondaryColor3uiv")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3us, "glSecondaryColor3us")
- && QGL_constructExtensionFunc(table.m_glSecondaryColor3usv, "glSecondaryColor3usv")
- && QGL_constructExtensionFunc(table.m_glSecondaryColorPointer, "glSecondaryColorPointer")
- && QGL_constructExtensionFunc(table.m_glWindowPos2d, "glWindowPos2d")
- && QGL_constructExtensionFunc(table.m_glWindowPos2dv, "glWindowPos2dv")
- && QGL_constructExtensionFunc(table.m_glWindowPos2f, "glWindowPos2f")
- && QGL_constructExtensionFunc(table.m_glWindowPos2fv, "glWindowPos2fv")
- && QGL_constructExtensionFunc(table.m_glWindowPos2i, "glWindowPos2i")
- && QGL_constructExtensionFunc(table.m_glWindowPos2iv, "glWindowPos2iv")
- && QGL_constructExtensionFunc(table.m_glWindowPos2s, "glWindowPos2s")
- && QGL_constructExtensionFunc(table.m_glWindowPos2sv, "glWindowPos2sv")
- && QGL_constructExtensionFunc(table.m_glWindowPos3d, "glWindowPos3d")
- && QGL_constructExtensionFunc(table.m_glWindowPos3dv, "glWindowPos3dv")
- && QGL_constructExtensionFunc(table.m_glWindowPos3f, "glWindowPos3f")
- && QGL_constructExtensionFunc(table.m_glWindowPos3fv, "glWindowPos3fv")
- && QGL_constructExtensionFunc(table.m_glWindowPos3i, "glWindowPos3i")
- && QGL_constructExtensionFunc(table.m_glWindowPos3iv, "glWindowPos3iv")
- && QGL_constructExtensionFunc(table.m_glWindowPos3s, "glWindowPos3s")
- && QGL_constructExtensionFunc(table.m_glWindowPos3sv, "glWindowPos3sv");
-
- if(!table.support_GL_1_4)
- {
- extension_not_implemented("GL_VERSION_1_4");
- }
- }
- else
- {
- table.support_GL_1_4 = false;
- }
-
- // GL 1.5
- if(table.major_version > 1 || table.minor_version >= 5)
- {
- table.support_GL_1_5 =
- QGL_constructExtensionFunc(table.m_glBeginQuery, "glBeginQuery")
- && QGL_constructExtensionFunc(table.m_glBindBuffer, "glBindBuffer")
- && QGL_constructExtensionFunc(table.m_glBufferData, "glBufferData")
- && QGL_constructExtensionFunc(table.m_glBufferSubData, "glBufferSubData")
- && QGL_constructExtensionFunc(table.m_glDeleteBuffers, "glDeleteBuffers")
- && QGL_constructExtensionFunc(table.m_glDeleteQueries, "glDeleteQueries")
- && QGL_constructExtensionFunc(table.m_glEndQuery, "glEndQuery")
- && QGL_constructExtensionFunc(table.m_glGenBuffers, "glGenBuffers")
- && QGL_constructExtensionFunc(table.m_glGenQueries, "glGenQueries")
- && QGL_constructExtensionFunc(table.m_glGetBufferParameteriv, "glGetBufferParameteriv")
- && QGL_constructExtensionFunc(table.m_glGetBufferPointerv, "glGetBufferPointerv")
- && QGL_constructExtensionFunc(table.m_glGetBufferSubData, "glGetBufferSubData")
- && QGL_constructExtensionFunc(table.m_glGetQueryObjectiv, "glGetQueryObjectiv")
- && QGL_constructExtensionFunc(table.m_glGetQueryObjectuiv, "glGetQueryObjectuiv")
- && QGL_constructExtensionFunc(table.m_glGetQueryiv, "glGetQueryiv")
- && QGL_constructExtensionFunc(table.m_glIsBuffer, "glIsBuffer")
- && QGL_constructExtensionFunc(table.m_glIsQuery, "glIsQuery")
- && QGL_constructExtensionFunc(table.m_glMapBuffer, "glMapBuffer")
- && QGL_constructExtensionFunc(table.m_glUnmapBuffer, "glUnmapBuffer");
-
- if(!table.support_GL_1_5)
- {
- extension_not_implemented("GL_VERSION_1_5");
- }
- }
- else
- {
- table.support_GL_1_5 = false;
- }
-
-
- if(QGL_ExtensionSupported("GL_ARB_vertex_program"))
- {
- table.support_ARB_vertex_program =
- QGL_constructExtensionFunc(table.m_glVertexAttrib1sARB, "glVertexAttrib1sARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1fARB, "glVertexAttrib1fARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1dARB, "glVertexAttrib1dARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2sARB, "glVertexAttrib2sARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2fARB, "glVertexAttrib2fARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2dARB, "glVertexAttrib2dARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3sARB, "glVertexAttrib3sARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3fARB, "glVertexAttrib3fARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3dARB, "glVertexAttrib3dARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4sARB, "glVertexAttrib4sARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4fARB, "glVertexAttrib4fARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4dARB, "glVertexAttrib4dARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NubARB, "glVertexAttrib4NubARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1svARB, "glVertexAttrib1svARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1fvARB, "glVertexAttrib1fvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1dvARB, "glVertexAttrib1dvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2svARB, "glVertexAttrib2svARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2fvARB, "glVertexAttrib2fvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2dvARB, "glVertexAttrib2dvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3svARB, "glVertexAttrib3svARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3fvARB, "glVertexAttrib3fvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3dvARB, "glVertexAttrib3dvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4bvARB, "glVertexAttrib4bvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4svARB, "glVertexAttrib4svARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4ivARB, "glVertexAttrib4ivARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4ubvARB, "glVertexAttrib4ubvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4usvARB, "glVertexAttrib4usvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4uivARB, "glVertexAttrib4uivARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4fvARB, "glVertexAttrib4fvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4dvARB, "glVertexAttrib4dvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NbvARB, "glVertexAttrib4NbvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NsvARB, "glVertexAttrib4NsvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NivARB, "glVertexAttrib4NivARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NubvARB, "glVertexAttrib4NubvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NusvARB, "glVertexAttrib4NusvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NuivARB, "glVertexAttrib4NuivARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttribPointerARB, "glVertexAttribPointerARB")
- && QGL_constructExtensionFunc(table.m_glEnableVertexAttribArrayARB, "glEnableVertexAttribArrayARB")
- && QGL_constructExtensionFunc(table.m_glDisableVertexAttribArrayARB, "glDisableVertexAttribArrayARB")
- && QGL_constructExtensionFunc(table.m_glProgramStringARB, "glProgramStringARB")
- && QGL_constructExtensionFunc(table.m_glBindProgramARB, "glBindProgramARB")
- && QGL_constructExtensionFunc(table.m_glDeleteProgramsARB, "glDeleteProgramsARB")
- && QGL_constructExtensionFunc(table.m_glGenProgramsARB, "glGenProgramsARB")
- && QGL_constructExtensionFunc(table.m_glProgramEnvParameter4dARB, "glProgramEnvParameter4dARB")
- && QGL_constructExtensionFunc(table.m_glProgramEnvParameter4dvARB, "glProgramEnvParameter4dvARB")
- && QGL_constructExtensionFunc(table.m_glProgramEnvParameter4fARB, "glProgramEnvParameter4fARB")
- && QGL_constructExtensionFunc(table.m_glProgramEnvParameter4fvARB, "glProgramEnvParameter4fvARB")
- && QGL_constructExtensionFunc(table.m_glProgramLocalParameter4dARB, "glProgramLocalParameter4dARB")
- && QGL_constructExtensionFunc(table.m_glProgramLocalParameter4dvARB, "glProgramLocalParameter4dvARB")
- && QGL_constructExtensionFunc(table.m_glProgramLocalParameter4fARB, "glProgramLocalParameter4fARB")
- && QGL_constructExtensionFunc(table.m_glProgramLocalParameter4fvARB, "glProgramLocalParameter4fvARB")
- && QGL_constructExtensionFunc(table.m_glGetProgramEnvParameterdvARB, "glGetProgramEnvParameterdvARB")
- && QGL_constructExtensionFunc(table.m_glGetProgramEnvParameterfvARB, "glGetProgramEnvParameterfvARB")
- && QGL_constructExtensionFunc(table.m_glGetProgramLocalParameterdvARB, "glGetProgramLocalParameterdvARB")
- && QGL_constructExtensionFunc(table.m_glGetProgramLocalParameterfvARB, "glGetProgramLocalParameterfvARB")
- && QGL_constructExtensionFunc(table.m_glGetProgramivARB, "glGetProgramivARB")
- && QGL_constructExtensionFunc(table.m_glGetProgramStringARB, "glGetProgramStringARB")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribdvARB, "glGetVertexAttribdvARB")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribfvARB, "glGetVertexAttribfvARB")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribivARB, "glGetVertexAttribivARB")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribPointervARB, "glGetVertexAttribPointervARB")
- && QGL_constructExtensionFunc(table.m_glIsProgramARB, "glIsProgramARB");
-
- if(!table.support_ARB_vertex_program)
- {
- extension_not_implemented("GL_ARB_vertex_program");
- }
- }
- else
- {
- table.support_ARB_vertex_program = false;
- }
-
-
- table.support_ARB_fragment_program = QGL_ExtensionSupported("GL_ARB_fragment_program");
-
- if(QGL_ExtensionSupported("GL_ARB_shader_objects"))
- {
- table.support_ARB_shader_objects =
- QGL_constructExtensionFunc(table.m_glDeleteObjectARB, "glDeleteObjectARB")
- && QGL_constructExtensionFunc(table.m_glGetHandleARB, "glGetHandleARB")
- && QGL_constructExtensionFunc(table.m_glDetachObjectARB, "glDetachObjectARB")
- && QGL_constructExtensionFunc(table.m_glCreateShaderObjectARB, "glCreateShaderObjectARB")
- && QGL_constructExtensionFunc(table.m_glShaderSourceARB, "glShaderSourceARB")
- && QGL_constructExtensionFunc(table.m_glCompileShaderARB, "glCompileShaderARB")
- && QGL_constructExtensionFunc(table.m_glCreateProgramObjectARB, "glCreateProgramObjectARB")
- && QGL_constructExtensionFunc(table.m_glAttachObjectARB, "glAttachObjectARB")
- && QGL_constructExtensionFunc(table.m_glLinkProgramARB, "glLinkProgramARB")
- && QGL_constructExtensionFunc(table.m_glUseProgramObjectARB, "glUseProgramObjectARB")
- && QGL_constructExtensionFunc(table.m_glValidateProgramARB, "glValidateProgramARB")
- && QGL_constructExtensionFunc(table.m_glUniform1fARB, "glUniform1fARB")
- && QGL_constructExtensionFunc(table.m_glUniform2fARB, "glUniform2fARB")
- && QGL_constructExtensionFunc(table.m_glUniform3fARB, "glUniform3fARB")
- && QGL_constructExtensionFunc(table.m_glUniform4fARB, "glUniform4fARB")
- && QGL_constructExtensionFunc(table.m_glUniform1iARB, "glUniform1iARB")
- && QGL_constructExtensionFunc(table.m_glUniform2iARB, "glUniform2iARB")
- && QGL_constructExtensionFunc(table.m_glUniform3iARB, "glUniform3iARB")
- && QGL_constructExtensionFunc(table.m_glUniform4iARB, "glUniform4iARB")
- && QGL_constructExtensionFunc(table.m_glUniform1fvARB, "glUniform1fvARB")
- && QGL_constructExtensionFunc(table.m_glUniform2fvARB, "glUniform2fvARB")
- && QGL_constructExtensionFunc(table.m_glUniform3fvARB, "glUniform3fvARB")
- && QGL_constructExtensionFunc(table.m_glUniform4fvARB, "glUniform4fvARB")
- && QGL_constructExtensionFunc(table.m_glUniform1ivARB, "glUniform1ivARB")
- && QGL_constructExtensionFunc(table.m_glUniform2ivARB, "glUniform2ivARB")
- && QGL_constructExtensionFunc(table.m_glUniform3ivARB, "glUniform3ivARB")
- && QGL_constructExtensionFunc(table.m_glUniform4ivARB, "glUniform4ivARB")
- && QGL_constructExtensionFunc(table.m_glUniformMatrix2fvARB, "glUniformMatrix2fvARB")
- && QGL_constructExtensionFunc(table.m_glUniformMatrix3fvARB, "glUniformMatrix3fvARB")
- && QGL_constructExtensionFunc(table.m_glUniformMatrix4fvARB, "glUniformMatrix4fvARB")
- && QGL_constructExtensionFunc(table.m_glGetObjectParameterfvARB, "glGetObjectParameterfvARB")
- && QGL_constructExtensionFunc(table.m_glGetObjectParameterivARB, "glGetObjectParameterivARB")
- && QGL_constructExtensionFunc(table.m_glGetInfoLogARB, "glGetInfoLogARB")
- && QGL_constructExtensionFunc(table.m_glGetAttachedObjectsARB, "glGetAttachedObjectsARB")
- && QGL_constructExtensionFunc(table.m_glGetUniformLocationARB, "glGetUniformLocationARB")
- && QGL_constructExtensionFunc(table.m_glGetActiveUniformARB, "glGetActiveUniformARB")
- && QGL_constructExtensionFunc(table.m_glGetUniformfvARB, "glGetUniformfvARB")
- && QGL_constructExtensionFunc(table.m_glGetUniformivARB, "glGetUniformivARB")
- && QGL_constructExtensionFunc(table.m_glGetShaderSourceARB, "glGetShaderSourceARB");
-
- if(!table.support_ARB_shader_objects)
- {
- extension_not_implemented("GL_ARB_shader_objects");
- }
- }
- else
- {
- table.support_ARB_shader_objects = false;
- }
-
- if(QGL_ExtensionSupported("GL_ARB_vertex_shader"))
- {
- table.support_ARB_vertex_shader =
- QGL_constructExtensionFunc(table.m_glVertexAttrib1fARB, "glVertexAttrib1fARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1sARB, "glVertexAttrib1sARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1dARB, "glVertexAttrib1dARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2fARB, "glVertexAttrib2fARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2sARB, "glVertexAttrib2sARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2dARB, "glVertexAttrib2dARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3fARB, "glVertexAttrib3fARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3sARB, "glVertexAttrib3sARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3dARB, "glVertexAttrib3dARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4fARB, "glVertexAttrib4fARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4sARB, "glVertexAttrib4sARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4dARB, "glVertexAttrib4dARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NubARB, "glVertexAttrib4NubARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1fvARB, "glVertexAttrib1fvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1svARB, "glVertexAttrib1svARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1dvARB, "glVertexAttrib1dvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2fvARB, "glVertexAttrib2fvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2svARB, "glVertexAttrib2svARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2dvARB, "glVertexAttrib2dvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3fvARB, "glVertexAttrib3fvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3svARB, "glVertexAttrib3svARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3dvARB, "glVertexAttrib3dvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4fvARB, "glVertexAttrib4fvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4svARB, "glVertexAttrib4svARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4dvARB, "glVertexAttrib4dvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4ivARB, "glVertexAttrib4ivARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4bvARB, "glVertexAttrib4bvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4ubvARB, "glVertexAttrib4ubvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4usvARB, "glVertexAttrib4usvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4uivARB, "glVertexAttrib4uivARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NbvARB, "glVertexAttrib4NbvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NsvARB, "glVertexAttrib4NsvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NivARB, "glVertexAttrib4NivARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NubvARB, "glVertexAttrib4NubvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NusvARB, "glVertexAttrib4NusvARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4NuivARB, "glVertexAttrib4NuivARB")
- && QGL_constructExtensionFunc(table.m_glVertexAttribPointerARB, "glVertexAttribPointerARB")
- && QGL_constructExtensionFunc(table.m_glEnableVertexAttribArrayARB, "glEnableVertexAttribArrayARB")
- && QGL_constructExtensionFunc(table.m_glDisableVertexAttribArrayARB, "glDisableVertexAttribArrayARB")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribdvARB, "glGetVertexAttribdvARB")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribfvARB, "glGetVertexAttribfvARB")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribivARB, "glGetVertexAttribivARB")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribPointervARB, "glGetVertexAttribPointervARB")
- && QGL_constructExtensionFunc(table.m_glBindAttribLocationARB, "glBindAttribLocationARB")
- && QGL_constructExtensionFunc(table.m_glGetActiveAttribARB, "glGetActiveAttribARB")
- && QGL_constructExtensionFunc(table.m_glGetAttribLocationARB, "glGetAttribLocationARB");
-
- if(!table.support_ARB_vertex_shader)
- {
- extension_not_implemented("GL_ARB_vertex_shader");
- }
- }
- else
- {
- table.support_ARB_vertex_shader = false;
- }
-
- if(QGL_ExtensionSupported("GL_NV_vertex_program2"))
- {
- table.support_NV_vertex_program2 =
- QGL_constructExtensionFunc(table.m_glAreProgramsResidentNV, "glAreProgramsResidentNV")
- && QGL_constructExtensionFunc(table.m_glBindProgramNV, "glBindProgramNV")
- && QGL_constructExtensionFunc(table.m_glDeleteProgramsNV, "glDeleteProgramsNV")
- && QGL_constructExtensionFunc(table.m_glExecuteProgramNV, "glExecuteProgramNV")
- && QGL_constructExtensionFunc(table.m_glGenProgramsNV, "glGenProgramsNV")
- && QGL_constructExtensionFunc(table.m_glGetProgramParameterdvNV, "glGetProgramParameterdvNV")
- && QGL_constructExtensionFunc(table.m_glGetProgramParameterfvNV, "glGetProgramParameterfvNV")
- && QGL_constructExtensionFunc(table.m_glGetProgramivNV, "glGetProgramivNV")
- && QGL_constructExtensionFunc(table.m_glGetProgramStringNV, "glGetProgramStringNV")
- && QGL_constructExtensionFunc(table.m_glGetTrackMatrixivNV, "glGetTrackMatrixivNV")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribdvNV, "glGetVertexAttribdvNV")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribfvNV, "glGetVertexAttribfvNV")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribivNV, "glGetVertexAttribivNV")
- && QGL_constructExtensionFunc(table.m_glGetVertexAttribPointervNV, "glGetVertexAttribPointervNV")
- && QGL_constructExtensionFunc(table.m_glIsProgramNV, "glIsProgramNV")
- && QGL_constructExtensionFunc(table.m_glLoadProgramNV, "glLoadProgramNV")
- && QGL_constructExtensionFunc(table.m_glProgramParameter4fNV, "glProgramParameter4fNV")
- && QGL_constructExtensionFunc(table.m_glProgramParameter4fvNV, "glProgramParameter4fvNV")
- && QGL_constructExtensionFunc(table.m_glProgramParameters4fvNV, "glProgramParameters4fvNV")
- && QGL_constructExtensionFunc(table.m_glRequestResidentProgramsNV, "glRequestResidentProgramsNV")
- && QGL_constructExtensionFunc(table.m_glTrackMatrixNV, "glTrackMatrixNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttribPointerNV, "glVertexAttribPointerNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1fNV, "glVertexAttrib1fNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib1fvNV, "glVertexAttrib1fvNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2fNV, "glVertexAttrib2fNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib2fvNV, "glVertexAttrib2fvNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3fNV, "glVertexAttrib3fNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib3fvNV, "glVertexAttrib3fvNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4fNV, "glVertexAttrib4fNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttrib4fvNV, "glVertexAttrib4fvNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttribs1fvNV, "glVertexAttribs1fvNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttribs2fvNV, "glVertexAttribs2fvNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttribs3fvNV, "glVertexAttribs3fvNV")
- && QGL_constructExtensionFunc(table.m_glVertexAttribs4fvNV, "glVertexAttribs4fvNV");
-
- if(!table.support_NV_vertex_program2)
- {
- extension_not_implemented("GL_NV_vertex_program2");
- }
- }
- else
- {
- table.support_NV_vertex_program2 = false;
- QGL_invalidateExtensionFunc(table.m_glAreProgramsResidentNV);
- QGL_invalidateExtensionFunc(table.m_glBindProgramNV);
- QGL_invalidateExtensionFunc(table.m_glDeleteProgramsNV);
- QGL_invalidateExtensionFunc(table.m_glExecuteProgramNV);
- QGL_invalidateExtensionFunc(table.m_glGenProgramsNV);
- QGL_invalidateExtensionFunc(table.m_glGetProgramParameterdvNV);
- QGL_invalidateExtensionFunc(table.m_glGetProgramParameterfvNV);
- QGL_invalidateExtensionFunc(table.m_glGetProgramivNV);
- QGL_invalidateExtensionFunc(table.m_glGetProgramStringNV);
- QGL_invalidateExtensionFunc(table.m_glGetTrackMatrixivNV);
- QGL_invalidateExtensionFunc(table.m_glGetVertexAttribdvNV);
- QGL_invalidateExtensionFunc(table.m_glGetVertexAttribfvNV);
- QGL_invalidateExtensionFunc(table.m_glGetVertexAttribivNV);
- QGL_invalidateExtensionFunc(table.m_glGetVertexAttribPointervNV);
- QGL_invalidateExtensionFunc(table.m_glIsProgramNV);
- QGL_invalidateExtensionFunc(table.m_glLoadProgramNV);
- QGL_invalidateExtensionFunc(table.m_glProgramParameter4fNV);
- QGL_invalidateExtensionFunc(table.m_glProgramParameter4fvNV);
- QGL_invalidateExtensionFunc(table.m_glProgramParameters4fvNV);
- QGL_invalidateExtensionFunc(table.m_glRequestResidentProgramsNV);
- QGL_invalidateExtensionFunc(table.m_glTrackMatrixNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttribPointerNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttrib1fNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttrib1fvNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttrib2fNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttrib2fvNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttrib3fNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttrib3fvNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttrib4fNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttrib4fvNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttribs1fvNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttribs2fvNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttribs3fvNV);
- QGL_invalidateExtensionFunc(table.m_glVertexAttribs4fvNV);
- }
-
- if(QGL_ExtensionSupported("GL_NV_fragment_program"))
- {
- table.support_NV_fragment_program =
- QGL_constructExtensionFunc(table.m_glProgramNamedParameter4fNV, "glProgramNamedParameter4fNV")
- && QGL_constructExtensionFunc(table.m_glProgramNamedParameter4fvNV, "glProgramNamedParameter4fvNV")
- && QGL_constructExtensionFunc(table.m_glGetProgramNamedParameterfvNV, "glGetProgramNamedParameterfvNV");
-
- if(!table.support_NV_fragment_program)
- {
- extension_not_implemented("GL_NV_fragment_program");
- }
- }
- else
- {
- table.support_NV_fragment_program = false;
- }
-
- table.support_ARB_fragment_shader = QGL_ExtensionSupported("GL_ARB_fragment_shader");
- table.support_ARB_shading_language_100 = QGL_ExtensionSupported("GL_ARB_shading_language_100");
-
- if(QGL_ExtensionSupported("GL_EXT_texture_filter_anisotropic"))
- {
- glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &g_maxTextureAnisotropy);
- globalOutputStream() << "Anisotropic filtering possible (max " << g_maxTextureAnisotropy << "x)\n";
- }
- else
- {
- globalOutputStream() << "No Anisotropic filtering available\n";
- g_maxTextureAnisotropy = 0;
- }
+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;
+ }
+
+ if ( QGL_ExtensionSupported( "GL_ARB_texture_compression" ) ) {
+ table.support_ARB_texture_compression =
+ QGL_constructExtensionFunc( table.m_glCompressedTexImage3DARB, "glCompressedTexImage3DARB" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexImage2DARB, "glCompressedTexImage2DARB" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexImage1DARB, "glCompressedTexImage1DARB" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexSubImage3DARB, "glCompressedTexSubImage3DARB" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexSubImage2DARB, "glCompressedTexSubImage2DARB" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexSubImage1DARB, "glCompressedTexSubImage1DARB" )
+ && QGL_constructExtensionFunc( table.m_glGetCompressedTexImageARB, "glGetCompressedTexImageARB" );
+
+ if ( !table.support_ARB_texture_compression ) {
+ extension_not_implemented( "GL_ARB_texture_compression" );
+ }
+ }
+ else
+ {
+ table.support_ARB_texture_compression = false;
+ }
+
+ table.support_EXT_texture_compression_s3tc = QGL_ExtensionSupported( "GL_EXT_texture_compression_s3tc" );
+
+ // GL 1.2
+ if ( table.major_version > 1 || table.minor_version >= 2 ) {
+ table.support_GL_1_2 =
+ QGL_constructExtensionFunc( table.m_glCopyTexSubImage3D, "glCopyTexSubImage3D" )
+ && QGL_constructExtensionFunc( table.m_glDrawRangeElements, "glDrawRangeElements" )
+ && QGL_constructExtensionFunc( table.m_glTexImage3D, "glTexImage3D" )
+ && QGL_constructExtensionFunc( table.m_glTexSubImage3D, "glTexSubImage3D" );
+
+ if ( !table.support_GL_1_2 ) {
+ extension_not_implemented( "GL_VERSION_1_2" );
+ }
+ }
+ else
+ {
+ table.support_GL_1_2 = false;
+ }
+
+ // GL 1.3
+ if ( table.major_version > 1 || table.minor_version >= 3 ) {
+ table.support_GL_1_3 =
+ QGL_constructExtensionFunc( table.m_glActiveTexture, "glActiveTexture" )
+ && QGL_constructExtensionFunc( table.m_glClientActiveTexture, "glClientActiveTexture" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexImage1D, "glCompressedTexImage1D" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexImage2D, "glCompressedTexImage2D" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexImage3D, "glCompressedTexImage3D" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexSubImage1D, "glCompressedTexSubImage1D" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexSubImage2D, "glCompressedTexSubImage2D" )
+ && QGL_constructExtensionFunc( table.m_glCompressedTexSubImage3D, "glCompressedTexSubImage3D" )
+ && QGL_constructExtensionFunc( table.m_glGetCompressedTexImage, "glGetCompressedTexImage" )
+ && QGL_constructExtensionFunc( table.m_glLoadTransposeMatrixd, "glLoadTransposeMatrixd" )
+ && QGL_constructExtensionFunc( table.m_glLoadTransposeMatrixf, "glLoadTransposeMatrixf" )
+ && QGL_constructExtensionFunc( table.m_glMultTransposeMatrixd, "glMultTransposeMatrixd" )
+ && QGL_constructExtensionFunc( table.m_glMultTransposeMatrixf, "glMultTransposeMatrixf" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord1d, "glMultiTexCoord1d" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord1dv, "glMultiTexCoord1dv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord1f, "glMultiTexCoord1f" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord1fv, "glMultiTexCoord1fv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord1i, "glMultiTexCoord1i" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord1iv, "glMultiTexCoord1iv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord1s, "glMultiTexCoord1s" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord1sv, "glMultiTexCoord1sv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord2d, "glMultiTexCoord2d" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord2dv, "glMultiTexCoord2dv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord2f, "glMultiTexCoord2f" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord2fv, "glMultiTexCoord2fv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord2i, "glMultiTexCoord2i" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord2iv, "glMultiTexCoord2iv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord2s, "glMultiTexCoord2s" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord2sv, "glMultiTexCoord2sv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord3d, "glMultiTexCoord3d" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord3dv, "glMultiTexCoord3dv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord3f, "glMultiTexCoord3f" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord3fv, "glMultiTexCoord3fv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord3i, "glMultiTexCoord3i" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord3iv, "glMultiTexCoord3iv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord3s, "glMultiTexCoord3s" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord3sv, "glMultiTexCoord3sv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord4d, "glMultiTexCoord4d" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord4dv, "glMultiTexCoord4dv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord4f, "glMultiTexCoord4f" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord4fv, "glMultiTexCoord4fv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord4i, "glMultiTexCoord4i" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord4iv, "glMultiTexCoord4iv" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord4s, "glMultiTexCoord4s" )
+ && QGL_constructExtensionFunc( table.m_glMultiTexCoord4sv, "glMultiTexCoord4sv" )
+ && QGL_constructExtensionFunc( table.m_glSampleCoverage, "glSampleCoverage" );
+
+ if ( !table.support_GL_1_3 ) {
+ extension_not_implemented( "GL_VERSION_1_3" );
+ }
+ }
+ else
+ {
+ table.support_GL_1_3 = false;
+ }
+
+ // GL 1.4
+ if ( table.major_version > 1 || table.minor_version >= 4 ) {
+ table.support_GL_1_4 =
+ QGL_constructExtensionFunc( table.m_glBlendColor, "glBlendColor" )
+ && QGL_constructExtensionFunc( table.m_glBlendEquation, "glBlendEquation" )
+ && QGL_constructExtensionFunc( table.m_glBlendFuncSeparate, "glBlendFuncSeparate" )
+ && QGL_constructExtensionFunc( table.m_glFogCoordPointer, "glFogCoordPointer" )
+ && QGL_constructExtensionFunc( table.m_glFogCoordd, "glFogCoordd" )
+ && QGL_constructExtensionFunc( table.m_glFogCoorddv, "glFogCoorddv" )
+ && QGL_constructExtensionFunc( table.m_glFogCoordf, "glFogCoordf" )
+ && QGL_constructExtensionFunc( table.m_glFogCoordfv, "glFogCoordfv" )
+ && QGL_constructExtensionFunc( table.m_glMultiDrawArrays, "glMultiDrawArrays" )
+ && QGL_constructExtensionFunc( table.m_glMultiDrawElements, "glMultiDrawElements" )
+ && QGL_constructExtensionFunc( table.m_glPointParameterf, "glPointParameterf" )
+ && QGL_constructExtensionFunc( table.m_glPointParameterfv, "glPointParameterfv" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3b, "glSecondaryColor3b" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3bv, "glSecondaryColor3bv" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3d, "glSecondaryColor3d" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3dv, "glSecondaryColor3dv" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3f, "glSecondaryColor3f" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3fv, "glSecondaryColor3fv" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3i, "glSecondaryColor3i" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3iv, "glSecondaryColor3iv" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3s, "glSecondaryColor3s" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3sv, "glSecondaryColor3sv" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3ub, "glSecondaryColor3ub" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3ubv, "glSecondaryColor3ubv" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3ui, "glSecondaryColor3ui" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3uiv, "glSecondaryColor3uiv" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3us, "glSecondaryColor3us" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColor3usv, "glSecondaryColor3usv" )
+ && QGL_constructExtensionFunc( table.m_glSecondaryColorPointer, "glSecondaryColorPointer" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos2d, "glWindowPos2d" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos2dv, "glWindowPos2dv" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos2f, "glWindowPos2f" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos2fv, "glWindowPos2fv" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos2i, "glWindowPos2i" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos2iv, "glWindowPos2iv" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos2s, "glWindowPos2s" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos2sv, "glWindowPos2sv" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos3d, "glWindowPos3d" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos3dv, "glWindowPos3dv" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos3f, "glWindowPos3f" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos3fv, "glWindowPos3fv" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos3i, "glWindowPos3i" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos3iv, "glWindowPos3iv" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos3s, "glWindowPos3s" )
+ && QGL_constructExtensionFunc( table.m_glWindowPos3sv, "glWindowPos3sv" );
+
+ if ( !table.support_GL_1_4 ) {
+ extension_not_implemented( "GL_VERSION_1_4" );
+ }
+ }
+ else
+ {
+ table.support_GL_1_4 = false;
+ }
+
+ // GL 1.5
+ if ( table.major_version > 1 || table.minor_version >= 5 ) {
+ table.support_GL_1_5 =
+ QGL_constructExtensionFunc( table.m_glBeginQuery, "glBeginQuery" )
+ && QGL_constructExtensionFunc( table.m_glBindBuffer, "glBindBuffer" )
+ && QGL_constructExtensionFunc( table.m_glBufferData, "glBufferData" )
+ && QGL_constructExtensionFunc( table.m_glBufferSubData, "glBufferSubData" )
+ && QGL_constructExtensionFunc( table.m_glDeleteBuffers, "glDeleteBuffers" )
+ && QGL_constructExtensionFunc( table.m_glDeleteQueries, "glDeleteQueries" )
+ && QGL_constructExtensionFunc( table.m_glEndQuery, "glEndQuery" )
+ && QGL_constructExtensionFunc( table.m_glGenBuffers, "glGenBuffers" )
+ && QGL_constructExtensionFunc( table.m_glGenQueries, "glGenQueries" )
+ && QGL_constructExtensionFunc( table.m_glGetBufferParameteriv, "glGetBufferParameteriv" )
+ && QGL_constructExtensionFunc( table.m_glGetBufferPointerv, "glGetBufferPointerv" )
+ && QGL_constructExtensionFunc( table.m_glGetBufferSubData, "glGetBufferSubData" )
+ && QGL_constructExtensionFunc( table.m_glGetQueryObjectiv, "glGetQueryObjectiv" )
+ && QGL_constructExtensionFunc( table.m_glGetQueryObjectuiv, "glGetQueryObjectuiv" )
+ && QGL_constructExtensionFunc( table.m_glGetQueryiv, "glGetQueryiv" )
+ && QGL_constructExtensionFunc( table.m_glIsBuffer, "glIsBuffer" )
+ && QGL_constructExtensionFunc( table.m_glIsQuery, "glIsQuery" )
+ && QGL_constructExtensionFunc( table.m_glMapBuffer, "glMapBuffer" )
+ && QGL_constructExtensionFunc( table.m_glUnmapBuffer, "glUnmapBuffer" );
+
+ if ( !table.support_GL_1_5 ) {
+ extension_not_implemented( "GL_VERSION_1_5" );
+ }
+ }
+ else
+ {
+ table.support_GL_1_5 = false;
+ }
+
+
+ if ( QGL_ExtensionSupported( "GL_ARB_vertex_program" ) ) {
+ table.support_ARB_vertex_program =
+ QGL_constructExtensionFunc( table.m_glVertexAttrib1sARB, "glVertexAttrib1sARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1fARB, "glVertexAttrib1fARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1dARB, "glVertexAttrib1dARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2sARB, "glVertexAttrib2sARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2fARB, "glVertexAttrib2fARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2dARB, "glVertexAttrib2dARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3sARB, "glVertexAttrib3sARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3fARB, "glVertexAttrib3fARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3dARB, "glVertexAttrib3dARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4sARB, "glVertexAttrib4sARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4fARB, "glVertexAttrib4fARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4dARB, "glVertexAttrib4dARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NubARB, "glVertexAttrib4NubARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1svARB, "glVertexAttrib1svARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1fvARB, "glVertexAttrib1fvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1dvARB, "glVertexAttrib1dvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2svARB, "glVertexAttrib2svARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2fvARB, "glVertexAttrib2fvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2dvARB, "glVertexAttrib2dvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3svARB, "glVertexAttrib3svARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3fvARB, "glVertexAttrib3fvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3dvARB, "glVertexAttrib3dvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4bvARB, "glVertexAttrib4bvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4svARB, "glVertexAttrib4svARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4ivARB, "glVertexAttrib4ivARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4ubvARB, "glVertexAttrib4ubvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4usvARB, "glVertexAttrib4usvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4uivARB, "glVertexAttrib4uivARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4fvARB, "glVertexAttrib4fvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4dvARB, "glVertexAttrib4dvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NbvARB, "glVertexAttrib4NbvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NsvARB, "glVertexAttrib4NsvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NivARB, "glVertexAttrib4NivARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NubvARB, "glVertexAttrib4NubvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NusvARB, "glVertexAttrib4NusvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NuivARB, "glVertexAttrib4NuivARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttribPointerARB, "glVertexAttribPointerARB" )
+ && QGL_constructExtensionFunc( table.m_glEnableVertexAttribArrayARB, "glEnableVertexAttribArrayARB" )
+ && QGL_constructExtensionFunc( table.m_glDisableVertexAttribArrayARB, "glDisableVertexAttribArrayARB" )
+ && QGL_constructExtensionFunc( table.m_glProgramStringARB, "glProgramStringARB" )
+ && QGL_constructExtensionFunc( table.m_glBindProgramARB, "glBindProgramARB" )
+ && QGL_constructExtensionFunc( table.m_glDeleteProgramsARB, "glDeleteProgramsARB" )
+ && QGL_constructExtensionFunc( table.m_glGenProgramsARB, "glGenProgramsARB" )
+ && QGL_constructExtensionFunc( table.m_glProgramEnvParameter4dARB, "glProgramEnvParameter4dARB" )
+ && QGL_constructExtensionFunc( table.m_glProgramEnvParameter4dvARB, "glProgramEnvParameter4dvARB" )
+ && QGL_constructExtensionFunc( table.m_glProgramEnvParameter4fARB, "glProgramEnvParameter4fARB" )
+ && QGL_constructExtensionFunc( table.m_glProgramEnvParameter4fvARB, "glProgramEnvParameter4fvARB" )
+ && QGL_constructExtensionFunc( table.m_glProgramLocalParameter4dARB, "glProgramLocalParameter4dARB" )
+ && QGL_constructExtensionFunc( table.m_glProgramLocalParameter4dvARB, "glProgramLocalParameter4dvARB" )
+ && QGL_constructExtensionFunc( table.m_glProgramLocalParameter4fARB, "glProgramLocalParameter4fARB" )
+ && QGL_constructExtensionFunc( table.m_glProgramLocalParameter4fvARB, "glProgramLocalParameter4fvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramEnvParameterdvARB, "glGetProgramEnvParameterdvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramEnvParameterfvARB, "glGetProgramEnvParameterfvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramLocalParameterdvARB, "glGetProgramLocalParameterdvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramLocalParameterfvARB, "glGetProgramLocalParameterfvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramivARB, "glGetProgramivARB" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramStringARB, "glGetProgramStringARB" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribdvARB, "glGetVertexAttribdvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribfvARB, "glGetVertexAttribfvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribivARB, "glGetVertexAttribivARB" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribPointervARB, "glGetVertexAttribPointervARB" )
+ && QGL_constructExtensionFunc( table.m_glIsProgramARB, "glIsProgramARB" );
+
+ if ( !table.support_ARB_vertex_program ) {
+ extension_not_implemented( "GL_ARB_vertex_program" );
+ }
+ }
+ else
+ {
+ table.support_ARB_vertex_program = false;
+ }
+
+
+ table.support_ARB_fragment_program = QGL_ExtensionSupported( "GL_ARB_fragment_program" );
+
+ if ( QGL_ExtensionSupported( "GL_ARB_shader_objects" ) ) {
+ table.support_ARB_shader_objects =
+ QGL_constructExtensionFunc( table.m_glDeleteObjectARB, "glDeleteObjectARB" )
+ && QGL_constructExtensionFunc( table.m_glGetHandleARB, "glGetHandleARB" )
+ && QGL_constructExtensionFunc( table.m_glDetachObjectARB, "glDetachObjectARB" )
+ && QGL_constructExtensionFunc( table.m_glCreateShaderObjectARB, "glCreateShaderObjectARB" )
+ && QGL_constructExtensionFunc( table.m_glShaderSourceARB, "glShaderSourceARB" )
+ && QGL_constructExtensionFunc( table.m_glCompileShaderARB, "glCompileShaderARB" )
+ && QGL_constructExtensionFunc( table.m_glCreateProgramObjectARB, "glCreateProgramObjectARB" )
+ && QGL_constructExtensionFunc( table.m_glAttachObjectARB, "glAttachObjectARB" )
+ && QGL_constructExtensionFunc( table.m_glLinkProgramARB, "glLinkProgramARB" )
+ && QGL_constructExtensionFunc( table.m_glUseProgramObjectARB, "glUseProgramObjectARB" )
+ && QGL_constructExtensionFunc( table.m_glValidateProgramARB, "glValidateProgramARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform1fARB, "glUniform1fARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform2fARB, "glUniform2fARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform3fARB, "glUniform3fARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform4fARB, "glUniform4fARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform1iARB, "glUniform1iARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform2iARB, "glUniform2iARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform3iARB, "glUniform3iARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform4iARB, "glUniform4iARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform1fvARB, "glUniform1fvARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform2fvARB, "glUniform2fvARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform3fvARB, "glUniform3fvARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform4fvARB, "glUniform4fvARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform1ivARB, "glUniform1ivARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform2ivARB, "glUniform2ivARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform3ivARB, "glUniform3ivARB" )
+ && QGL_constructExtensionFunc( table.m_glUniform4ivARB, "glUniform4ivARB" )
+ && QGL_constructExtensionFunc( table.m_glUniformMatrix2fvARB, "glUniformMatrix2fvARB" )
+ && QGL_constructExtensionFunc( table.m_glUniformMatrix3fvARB, "glUniformMatrix3fvARB" )
+ && QGL_constructExtensionFunc( table.m_glUniformMatrix4fvARB, "glUniformMatrix4fvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetObjectParameterfvARB, "glGetObjectParameterfvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetObjectParameterivARB, "glGetObjectParameterivARB" )
+ && QGL_constructExtensionFunc( table.m_glGetInfoLogARB, "glGetInfoLogARB" )
+ && QGL_constructExtensionFunc( table.m_glGetAttachedObjectsARB, "glGetAttachedObjectsARB" )
+ && QGL_constructExtensionFunc( table.m_glGetUniformLocationARB, "glGetUniformLocationARB" )
+ && QGL_constructExtensionFunc( table.m_glGetActiveUniformARB, "glGetActiveUniformARB" )
+ && QGL_constructExtensionFunc( table.m_glGetUniformfvARB, "glGetUniformfvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetUniformivARB, "glGetUniformivARB" )
+ && QGL_constructExtensionFunc( table.m_glGetShaderSourceARB, "glGetShaderSourceARB" );
+
+ if ( !table.support_ARB_shader_objects ) {
+ extension_not_implemented( "GL_ARB_shader_objects" );
+ }
+ }
+ else
+ {
+ table.support_ARB_shader_objects = false;
+ }
+
+ if ( QGL_ExtensionSupported( "GL_ARB_vertex_shader" ) ) {
+ table.support_ARB_vertex_shader =
+ QGL_constructExtensionFunc( table.m_glVertexAttrib1fARB, "glVertexAttrib1fARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1sARB, "glVertexAttrib1sARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1dARB, "glVertexAttrib1dARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2fARB, "glVertexAttrib2fARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2sARB, "glVertexAttrib2sARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2dARB, "glVertexAttrib2dARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3fARB, "glVertexAttrib3fARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3sARB, "glVertexAttrib3sARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3dARB, "glVertexAttrib3dARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4fARB, "glVertexAttrib4fARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4sARB, "glVertexAttrib4sARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4dARB, "glVertexAttrib4dARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NubARB, "glVertexAttrib4NubARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1fvARB, "glVertexAttrib1fvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1svARB, "glVertexAttrib1svARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1dvARB, "glVertexAttrib1dvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2fvARB, "glVertexAttrib2fvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2svARB, "glVertexAttrib2svARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2dvARB, "glVertexAttrib2dvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3fvARB, "glVertexAttrib3fvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3svARB, "glVertexAttrib3svARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3dvARB, "glVertexAttrib3dvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4fvARB, "glVertexAttrib4fvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4svARB, "glVertexAttrib4svARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4dvARB, "glVertexAttrib4dvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4ivARB, "glVertexAttrib4ivARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4bvARB, "glVertexAttrib4bvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4ubvARB, "glVertexAttrib4ubvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4usvARB, "glVertexAttrib4usvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4uivARB, "glVertexAttrib4uivARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NbvARB, "glVertexAttrib4NbvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NsvARB, "glVertexAttrib4NsvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NivARB, "glVertexAttrib4NivARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NubvARB, "glVertexAttrib4NubvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NusvARB, "glVertexAttrib4NusvARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4NuivARB, "glVertexAttrib4NuivARB" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttribPointerARB, "glVertexAttribPointerARB" )
+ && QGL_constructExtensionFunc( table.m_glEnableVertexAttribArrayARB, "glEnableVertexAttribArrayARB" )
+ && QGL_constructExtensionFunc( table.m_glDisableVertexAttribArrayARB, "glDisableVertexAttribArrayARB" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribdvARB, "glGetVertexAttribdvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribfvARB, "glGetVertexAttribfvARB" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribivARB, "glGetVertexAttribivARB" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribPointervARB, "glGetVertexAttribPointervARB" )
+ && QGL_constructExtensionFunc( table.m_glBindAttribLocationARB, "glBindAttribLocationARB" )
+ && QGL_constructExtensionFunc( table.m_glGetActiveAttribARB, "glGetActiveAttribARB" )
+ && QGL_constructExtensionFunc( table.m_glGetAttribLocationARB, "glGetAttribLocationARB" );
+
+ if ( !table.support_ARB_vertex_shader ) {
+ extension_not_implemented( "GL_ARB_vertex_shader" );
+ }
+ }
+ else
+ {
+ table.support_ARB_vertex_shader = false;
+ }
+
+ if ( QGL_ExtensionSupported( "GL_NV_vertex_program2" ) ) {
+ table.support_NV_vertex_program2 =
+ QGL_constructExtensionFunc( table.m_glAreProgramsResidentNV, "glAreProgramsResidentNV" )
+ && QGL_constructExtensionFunc( table.m_glBindProgramNV, "glBindProgramNV" )
+ && QGL_constructExtensionFunc( table.m_glDeleteProgramsNV, "glDeleteProgramsNV" )
+ && QGL_constructExtensionFunc( table.m_glExecuteProgramNV, "glExecuteProgramNV" )
+ && QGL_constructExtensionFunc( table.m_glGenProgramsNV, "glGenProgramsNV" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramParameterdvNV, "glGetProgramParameterdvNV" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramParameterfvNV, "glGetProgramParameterfvNV" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramivNV, "glGetProgramivNV" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramStringNV, "glGetProgramStringNV" )
+ && QGL_constructExtensionFunc( table.m_glGetTrackMatrixivNV, "glGetTrackMatrixivNV" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribdvNV, "glGetVertexAttribdvNV" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribfvNV, "glGetVertexAttribfvNV" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribivNV, "glGetVertexAttribivNV" )
+ && QGL_constructExtensionFunc( table.m_glGetVertexAttribPointervNV, "glGetVertexAttribPointervNV" )
+ && QGL_constructExtensionFunc( table.m_glIsProgramNV, "glIsProgramNV" )
+ && QGL_constructExtensionFunc( table.m_glLoadProgramNV, "glLoadProgramNV" )
+ && QGL_constructExtensionFunc( table.m_glProgramParameter4fNV, "glProgramParameter4fNV" )
+ && QGL_constructExtensionFunc( table.m_glProgramParameter4fvNV, "glProgramParameter4fvNV" )
+ && QGL_constructExtensionFunc( table.m_glProgramParameters4fvNV, "glProgramParameters4fvNV" )
+ && QGL_constructExtensionFunc( table.m_glRequestResidentProgramsNV, "glRequestResidentProgramsNV" )
+ && QGL_constructExtensionFunc( table.m_glTrackMatrixNV, "glTrackMatrixNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttribPointerNV, "glVertexAttribPointerNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1fNV, "glVertexAttrib1fNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib1fvNV, "glVertexAttrib1fvNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2fNV, "glVertexAttrib2fNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib2fvNV, "glVertexAttrib2fvNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3fNV, "glVertexAttrib3fNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib3fvNV, "glVertexAttrib3fvNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4fNV, "glVertexAttrib4fNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttrib4fvNV, "glVertexAttrib4fvNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttribs1fvNV, "glVertexAttribs1fvNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttribs2fvNV, "glVertexAttribs2fvNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttribs3fvNV, "glVertexAttribs3fvNV" )
+ && QGL_constructExtensionFunc( table.m_glVertexAttribs4fvNV, "glVertexAttribs4fvNV" );
+
+ if ( !table.support_NV_vertex_program2 ) {
+ extension_not_implemented( "GL_NV_vertex_program2" );
+ }
+ }
+ else
+ {
+ table.support_NV_vertex_program2 = false;
+ QGL_invalidateExtensionFunc( table.m_glAreProgramsResidentNV );
+ QGL_invalidateExtensionFunc( table.m_glBindProgramNV );
+ QGL_invalidateExtensionFunc( table.m_glDeleteProgramsNV );
+ QGL_invalidateExtensionFunc( table.m_glExecuteProgramNV );
+ QGL_invalidateExtensionFunc( table.m_glGenProgramsNV );
+ QGL_invalidateExtensionFunc( table.m_glGetProgramParameterdvNV );
+ QGL_invalidateExtensionFunc( table.m_glGetProgramParameterfvNV );
+ QGL_invalidateExtensionFunc( table.m_glGetProgramivNV );
+ QGL_invalidateExtensionFunc( table.m_glGetProgramStringNV );
+ QGL_invalidateExtensionFunc( table.m_glGetTrackMatrixivNV );
+ QGL_invalidateExtensionFunc( table.m_glGetVertexAttribdvNV );
+ QGL_invalidateExtensionFunc( table.m_glGetVertexAttribfvNV );
+ QGL_invalidateExtensionFunc( table.m_glGetVertexAttribivNV );
+ QGL_invalidateExtensionFunc( table.m_glGetVertexAttribPointervNV );
+ QGL_invalidateExtensionFunc( table.m_glIsProgramNV );
+ QGL_invalidateExtensionFunc( table.m_glLoadProgramNV );
+ QGL_invalidateExtensionFunc( table.m_glProgramParameter4fNV );
+ QGL_invalidateExtensionFunc( table.m_glProgramParameter4fvNV );
+ QGL_invalidateExtensionFunc( table.m_glProgramParameters4fvNV );
+ QGL_invalidateExtensionFunc( table.m_glRequestResidentProgramsNV );
+ QGL_invalidateExtensionFunc( table.m_glTrackMatrixNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttribPointerNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttrib1fNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttrib1fvNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttrib2fNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttrib2fvNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttrib3fNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttrib3fvNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttrib4fNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttrib4fvNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttribs1fvNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttribs2fvNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttribs3fvNV );
+ QGL_invalidateExtensionFunc( table.m_glVertexAttribs4fvNV );
+ }
+
+ if ( QGL_ExtensionSupported( "GL_NV_fragment_program" ) ) {
+ table.support_NV_fragment_program =
+ QGL_constructExtensionFunc( table.m_glProgramNamedParameter4fNV, "glProgramNamedParameter4fNV" )
+ && QGL_constructExtensionFunc( table.m_glProgramNamedParameter4fvNV, "glProgramNamedParameter4fvNV" )
+ && QGL_constructExtensionFunc( table.m_glGetProgramNamedParameterfvNV, "glGetProgramNamedParameterfvNV" );
+
+ if ( !table.support_NV_fragment_program ) {
+ extension_not_implemented( "GL_NV_fragment_program" );
+ }
+ }
+ else
+ {
+ table.support_NV_fragment_program = false;
+ }
+
+ table.support_ARB_fragment_shader = QGL_ExtensionSupported( "GL_ARB_fragment_shader" );
+ table.support_ARB_shading_language_100 = QGL_ExtensionSupported( "GL_ARB_shading_language_100" );
+
+ if ( QGL_ExtensionSupported( "GL_EXT_texture_filter_anisotropic" ) ) {
+ glGetFloatv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &g_maxTextureAnisotropy );
+ globalOutputStream() << "Anisotropic filtering possible (max " << g_maxTextureAnisotropy << "x)\n";
+ }
+ else
+ {
+ globalOutputStream() << "No Anisotropic filtering available\n";
+ g_maxTextureAnisotropy = 0;
+ }