arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

glew.c

Go to the documentation of this file.
00001 /*
00002 ** License Applicability. Except to the extent portions of this file are
00003 ** made subject to an alternative license as permitted in the SGI Free
00004 ** Software License B, Version 1.1 (the "License"), the contents of this
00005 ** file are subject only to the provisions of the License. You may not use
00006 ** this file except in compliance with the License. You may obtain a copy
00007 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
00008 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
00009 ** 
00010 ** http://oss.sgi.com/projects/FreeB
00011 ** 
00012 ** Note that, as provided in the License, the Software is distributed on an
00013 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
00014 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
00015 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
00016 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
00017 ** 
00018 ** Original Code. The Original Code is: OpenGL Sample Implementation,
00019 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
00020 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
00021 ** Copyright in any portions created by third parties is as indicated
00022 ** elsewhere herein. All Rights Reserved.
00023 ** 
00024 ** Additional Notice Provisions: This software was created using the
00025 ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
00026 ** not been independently verified as being compliant with the OpenGL(R)
00027 ** version 1.2.1 Specification.
00028 */
00029 
00030 /*
00031 ** The contents of this file are subject to the GLX Public License Version 1.0
00032 ** (the "License"). You may not use this file except in compliance with the
00033 ** License. You may obtain a copy of the License at Silicon Graphics, Inc.,
00034 ** attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
00035 ** or at http://www.sgi.com/software/opensource/glx/license.html.
00036 **
00037 ** Software distributed under the License is distributed on an "AS IS"
00038 ** basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
00039 ** IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
00040 ** PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
00041 ** language governing rights and limitations under the License.
00042 **
00043 ** The Original Software is GLX version 1.2 source code, released February,
00044 ** 1999. The developer of the Original Software is Silicon Graphics, Inc.
00045 ** Those portions of the Subject Software created by Silicon Graphics, Inc.
00046 ** are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
00047 */
00048 
00049 /*
00050 ** Copyright (C) 2002, Lev Povalahev
00051 ** All rights reserved.
00052 ** 
00053 ** Redistribution and use in source and binary forms, with or without 
00054 ** modification, are permitted provided that the following conditions are met:
00055 ** 
00056 ** * Redistributions of source code must retain the above copyright notice, 
00057 **   this list of conditions and the following disclaimer.
00058 ** * Redistributions in binary form must reproduce the above copyright notice, 
00059 **   this list of conditions and the following disclaimer in the documentation 
00060 **   and/or other materials provided with the distribution.
00061 ** * The name of the author may be used to endorse or promote products 
00062 **   derived from this software without specific prior written permission.
00063 **
00064 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
00065 ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
00066 ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00067 ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
00068 ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
00069 ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
00070 ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00071 ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00072 ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00073 ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
00074 ** THE POSSIBILITY OF SUCH DAMAGE.
00075 */
00076 
00077 /*
00078 ** The OpenGL Extension Wrangler Library
00079 ** Copyright (C) 2002 Milan Ikits
00080 **
00081 ** This library is free software; you can redistribute it and/or
00082 ** modify it under the terms of the GNU Lesser General Public
00083 ** License as published by the Free Software Foundation; either
00084 ** version 2.1 of the License, or (at your option) any later version.
00085 **
00086 ** This library is distributed in the hope that it will be useful,
00087 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
00088 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00089 ** Lesser General Public License for more details.
00090 **
00091 ** You should have received a copy of the GNU Lesser General Public
00092 ** License along with this library; if not, write to the Free Software
00093 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00094 */
00095 
00096 #include <GL/glew.h>
00097 #include <GL/wglew.h>
00098 #include <GL/glxew.h>
00099 
00100 #ifdef _WIN32
00101 #define glewGetProcAddress(name) wglGetProcAddress(name)
00102 #else
00103 #define glewGetProcAddress(name) (*glXGetProcAddressARB)(name)
00104 #endif
00105 
00106 /* ------------------------------ OpenGL 1.2 ------------------------------ */
00107 
00108 #ifdef GL_VERSION_1_2
00109 PFNGLCOPYTEXSUBIMAGE3DPROC glCopyTexSubImage3D = NULL;
00110 PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements = NULL;
00111 PFNGLTEXIMAGE3DPROC glTexImage3D = NULL;
00112 PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D = NULL;
00113 
00114 static GLboolean _glewInit_12 ()
00115 {
00116   GLboolean r = GL_FALSE;
00117   r = r || (glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)glewGetProcAddress("glCopyTexSubImage3D")) == NULL;
00118   r = r || (glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)glewGetProcAddress("glDrawRangeElements")) == NULL;
00119   r = r || (glTexImage3D = (PFNGLTEXIMAGE3DPROC)glewGetProcAddress("glTexImage3D")) == NULL;
00120   r = r || (glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)glewGetProcAddress("glTexSubImage3D")) == NULL;
00121   return r;
00122 }
00123 #endif /* GL_VERSION_1_2 */
00124 
00125 /* ------------------------------ OpenGL 1.3 ------------------------------ */
00126 
00127 #ifdef GL_VERSION_1_3
00128 PFNGLACTIVETEXTUREPROC glActiveTexture = NULL;
00129 PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture = NULL;
00130 PFNGLMULTITEXCOORD1DPROC glMultiTexCoord1d = NULL;
00131 PFNGLMULTITEXCOORD1DVPROC glMultiTexCoord1dv = NULL;
00132 PFNGLMULTITEXCOORD1FPROC glMultiTexCoord1f = NULL;
00133 PFNGLMULTITEXCOORD1FVPROC glMultiTexCoord1fv = NULL;
00134 PFNGLMULTITEXCOORD1IPROC glMultiTexCoord1i = NULL;
00135 PFNGLMULTITEXCOORD1IVPROC glMultiTexCoord1iv = NULL;
00136 PFNGLMULTITEXCOORD1SPROC glMultiTexCoord1s = NULL;
00137 PFNGLMULTITEXCOORD1SVPROC glMultiTexCoord1sv = NULL;
00138 PFNGLMULTITEXCOORD2DPROC glMultiTexCoord2d = NULL;
00139 PFNGLMULTITEXCOORD2DVPROC glMultiTexCoord2dv = NULL;
00140 PFNGLMULTITEXCOORD2FPROC glMultiTexCoord2f = NULL;
00141 PFNGLMULTITEXCOORD2FVPROC glMultiTexCoord2fv = NULL;
00142 PFNGLMULTITEXCOORD2IPROC glMultiTexCoord2i = NULL;
00143 PFNGLMULTITEXCOORD2IVPROC glMultiTexCoord2iv = NULL;
00144 PFNGLMULTITEXCOORD2SPROC glMultiTexCoord2s = NULL;
00145 PFNGLMULTITEXCOORD2SVPROC glMultiTexCoord2sv = NULL;
00146 PFNGLMULTITEXCOORD3DPROC glMultiTexCoord3d = NULL;
00147 PFNGLMULTITEXCOORD3DVPROC glMultiTexCoord3dv = NULL;
00148 PFNGLMULTITEXCOORD3FPROC glMultiTexCoord3f = NULL;
00149 PFNGLMULTITEXCOORD3FVPROC glMultiTexCoord3fv = NULL;
00150 PFNGLMULTITEXCOORD3IPROC glMultiTexCoord3i = NULL;
00151 PFNGLMULTITEXCOORD3IVPROC glMultiTexCoord3iv = NULL;
00152 PFNGLMULTITEXCOORD3SPROC glMultiTexCoord3s = NULL;
00153 PFNGLMULTITEXCOORD3SVPROC glMultiTexCoord3sv = NULL;
00154 PFNGLMULTITEXCOORD4DPROC glMultiTexCoord4d = NULL;
00155 PFNGLMULTITEXCOORD4DVPROC glMultiTexCoord4dv = NULL;
00156 PFNGLMULTITEXCOORD4FPROC glMultiTexCoord4f = NULL;
00157 PFNGLMULTITEXCOORD4FVPROC glMultiTexCoord4fv = NULL;
00158 PFNGLMULTITEXCOORD4IPROC glMultiTexCoord4i = NULL;
00159 PFNGLMULTITEXCOORD4IVPROC glMultiTexCoord4iv = NULL;
00160 PFNGLMULTITEXCOORD4SPROC glMultiTexCoord4s = NULL;
00161 PFNGLMULTITEXCOORD4SVPROC glMultiTexCoord4sv = NULL;
00162 PFNGLLOADTRANSPOSEMATRIXFPROC glLoadTransposeMatrixf = NULL;
00163 PFNGLLOADTRANSPOSEMATRIXDPROC glLoadTransposeMatrixd = NULL;
00164 PFNGLMULTTRANSPOSEMATRIXFPROC glMultTransposeMatrixf = NULL;
00165 PFNGLMULTTRANSPOSEMATRIXDPROC glMultTransposeMatrixd = NULL;
00166 PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D = NULL;
00167 PFNGLCOMPRESSEDTEXIMAGE2DPROC glCompressedTexImage2D = NULL;
00168 PFNGLCOMPRESSEDTEXIMAGE1DPROC glCompressedTexImage1D = NULL;
00169 PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glCompressedTexSubImage3D = NULL;
00170 PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glCompressedTexSubImage2D = NULL;
00171 PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glCompressedTexSubImage1D = NULL;
00172 PFNGLGETCOMPRESSEDTEXIMAGEPROC glGetCompressedTexImage = NULL;
00173 PFNGLSAMPLECOVERAGEPROC glSampleCoverage = NULL;
00174 
00175 static GLboolean _glewInit_13 ()
00176 {
00177   GLboolean r = GL_FALSE;
00178   r = r || (glActiveTexture = (PFNGLACTIVETEXTUREPROC)glewGetProcAddress("glActiveTexture")) == NULL;
00179   r = r || (glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)glewGetProcAddress("glClientActiveTexture")) == NULL;
00180   r = r || (glMultiTexCoord1d = (PFNGLMULTITEXCOORD1DPROC)glewGetProcAddress("glMultiTexCoord1d")) == NULL;
00181   r = r || (glMultiTexCoord1dv = (PFNGLMULTITEXCOORD1DVPROC)glewGetProcAddress("glMultiTexCoord1dv")) == NULL;
00182   r = r || (glMultiTexCoord1f = (PFNGLMULTITEXCOORD1FPROC)glewGetProcAddress("glMultiTexCoord1f")) == NULL;
00183   r = r || (glMultiTexCoord1fv = (PFNGLMULTITEXCOORD1FVPROC)glewGetProcAddress("glMultiTexCoord1fv")) == NULL;
00184   r = r || (glMultiTexCoord1i = (PFNGLMULTITEXCOORD1IPROC)glewGetProcAddress("glMultiTexCoord1i")) == NULL;
00185   r = r || (glMultiTexCoord1iv = (PFNGLMULTITEXCOORD1IVPROC)glewGetProcAddress("glMultiTexCoord1iv")) == NULL;
00186   r = r || (glMultiTexCoord1s = (PFNGLMULTITEXCOORD1SPROC)glewGetProcAddress("glMultiTexCoord1s")) == NULL;
00187   r = r || (glMultiTexCoord1sv = (PFNGLMULTITEXCOORD1SVPROC)glewGetProcAddress("glMultiTexCoord1sv")) == NULL;
00188   r = r || (glMultiTexCoord2d = (PFNGLMULTITEXCOORD2DPROC)glewGetProcAddress("glMultiTexCoord2d")) == NULL;
00189   r = r || (glMultiTexCoord2dv = (PFNGLMULTITEXCOORD2DVPROC)glewGetProcAddress("glMultiTexCoord2dv")) == NULL;
00190   r = r || (glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC)glewGetProcAddress("glMultiTexCoord2f")) == NULL;
00191   r = r || (glMultiTexCoord2fv = (PFNGLMULTITEXCOORD2FVPROC)glewGetProcAddress("glMultiTexCoord2fv")) == NULL;
00192   r = r || (glMultiTexCoord2i = (PFNGLMULTITEXCOORD2IPROC)glewGetProcAddress("glMultiTexCoord2i")) == NULL;
00193   r = r || (glMultiTexCoord2iv = (PFNGLMULTITEXCOORD2IVPROC)glewGetProcAddress("glMultiTexCoord2iv")) == NULL;
00194   r = r || (glMultiTexCoord2s = (PFNGLMULTITEXCOORD2SPROC)glewGetProcAddress("glMultiTexCoord2s")) == NULL;
00195   r = r || (glMultiTexCoord2sv = (PFNGLMULTITEXCOORD2SVPROC)glewGetProcAddress("glMultiTexCoord2sv")) == NULL;
00196   r = r || (glMultiTexCoord3d = (PFNGLMULTITEXCOORD3DPROC)glewGetProcAddress("glMultiTexCoord3d")) == NULL;
00197   r = r || (glMultiTexCoord3dv = (PFNGLMULTITEXCOORD3DVPROC)glewGetProcAddress("glMultiTexCoord3dv")) == NULL;
00198   r = r || (glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC)glewGetProcAddress("glMultiTexCoord3f")) == NULL;
00199   r = r || (glMultiTexCoord3fv = (PFNGLMULTITEXCOORD3FVPROC)glewGetProcAddress("glMultiTexCoord3fv")) == NULL;
00200   r = r || (glMultiTexCoord3i = (PFNGLMULTITEXCOORD3IPROC)glewGetProcAddress("glMultiTexCoord3i")) == NULL;
00201   r = r || (glMultiTexCoord3iv = (PFNGLMULTITEXCOORD3IVPROC)glewGetProcAddress("glMultiTexCoord3iv")) == NULL;
00202   r = r || (glMultiTexCoord3s = (PFNGLMULTITEXCOORD3SPROC)glewGetProcAddress("glMultiTexCoord3s")) == NULL;
00203   r = r || (glMultiTexCoord3sv = (PFNGLMULTITEXCOORD3SVPROC)glewGetProcAddress("glMultiTexCoord3sv")) == NULL;
00204   r = r || (glMultiTexCoord4d = (PFNGLMULTITEXCOORD4DPROC)glewGetProcAddress("glMultiTexCoord4d")) == NULL;
00205   r = r || (glMultiTexCoord4dv = (PFNGLMULTITEXCOORD4DVPROC)glewGetProcAddress("glMultiTexCoord4dv")) == NULL;
00206   r = r || (glMultiTexCoord4f = (PFNGLMULTITEXCOORD4FPROC)glewGetProcAddress("glMultiTexCoord4f")) == NULL;
00207   r = r || (glMultiTexCoord4fv = (PFNGLMULTITEXCOORD4FVPROC)glewGetProcAddress("glMultiTexCoord4fv")) == NULL;
00208   r = r || (glMultiTexCoord4i = (PFNGLMULTITEXCOORD4IPROC)glewGetProcAddress("glMultiTexCoord4i")) == NULL;
00209   r = r || (glMultiTexCoord4iv = (PFNGLMULTITEXCOORD4IVPROC)glewGetProcAddress("glMultiTexCoord4iv")) == NULL;
00210   r = r || (glMultiTexCoord4s = (PFNGLMULTITEXCOORD4SPROC)glewGetProcAddress("glMultiTexCoord4s")) == NULL;
00211   r = r || (glMultiTexCoord4sv = (PFNGLMULTITEXCOORD4SVPROC)glewGetProcAddress("glMultiTexCoord4sv")) == NULL;
00212   r = r || (glLoadTransposeMatrixf = (PFNGLLOADTRANSPOSEMATRIXFPROC)glewGetProcAddress("glLoadTransposeMatrixf")) == NULL;
00213   r = r || (glLoadTransposeMatrixd = (PFNGLLOADTRANSPOSEMATRIXDPROC)glewGetProcAddress("glLoadTransposeMatrixd")) == NULL;
00214   r = r || (glMultTransposeMatrixf = (PFNGLMULTTRANSPOSEMATRIXFPROC)glewGetProcAddress("glMultTransposeMatrixf")) == NULL;
00215   r = r || (glMultTransposeMatrixd = (PFNGLMULTTRANSPOSEMATRIXDPROC)glewGetProcAddress("glMultTransposeMatrixd")) == NULL;
00216   r = r || (glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)glewGetProcAddress("glCompressedTexImage3D")) == NULL;
00217   r = r || (glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)glewGetProcAddress("glCompressedTexImage2D")) == NULL;
00218   r = r || (glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)glewGetProcAddress("glCompressedTexImage1D")) == NULL;
00219   r = r || (glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)glewGetProcAddress("glCompressedTexSubImage3D")) == NULL;
00220   r = r || (glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)glewGetProcAddress("glCompressedTexSubImage2D")) == NULL;
00221   r = r || (glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)glewGetProcAddress("glCompressedTexSubImage1D")) == NULL;
00222   r = r || (glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)glewGetProcAddress("glGetCompressedTexImage")) == NULL;
00223   r = r || (glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)glewGetProcAddress("glSampleCoverage")) == NULL;
00224   return r;
00225 }
00226 #endif /* GL_VERSION_1_3 */
00227 
00228 /* ------------------------------ OpenGL 1.4 ------------------------------ */
00229 
00230 #ifdef GL_VERSION_1_4
00231 #ifndef GL_ARB_imaging
00232 PFNGLBLENDCOLORPROC glBlendColor = NULL;
00233 PFNGLBLENDEQUATIONPROC glBlendEquation = NULL;
00234 #endif /* GL_ARB_imaging */
00235 PFNGLFOGCOORDFPROC glFogCoordf = NULL;
00236 PFNGLFOGCOORDFVPROC glFogCoordfv = NULL;
00237 PFNGLFOGCOORDDPROC glFogCoordd = NULL;
00238 PFNGLFOGCOORDDVPROC glFogCoorddv = NULL;
00239 PFNGLFOGCOORDPOINTERPROC glFogCoordPointer = NULL;
00240 PFNGLMULTIDRAWARRAYSPROC glMultiDrawArrays = NULL;
00241 PFNGLMULTIDRAWELEMENTSPROC glMultiDrawElements = NULL;
00242 PFNGLPOINTPARAMETERFPROC glPointParameterf = NULL;
00243 PFNGLPOINTPARAMETERFVPROC glPointParameterfv = NULL;
00244 PFNGLSECONDARYCOLOR3BPROC glSecondaryColor3b = NULL;
00245 PFNGLSECONDARYCOLOR3BVPROC glSecondaryColor3bv = NULL;
00246 PFNGLSECONDARYCOLOR3DPROC glSecondaryColor3d = NULL;
00247 PFNGLSECONDARYCOLOR3DVPROC glSecondaryColor3dv = NULL;
00248 PFNGLSECONDARYCOLOR3FPROC glSecondaryColor3f = NULL;
00249 PFNGLSECONDARYCOLOR3FVPROC glSecondaryColor3fv = NULL;
00250 PFNGLSECONDARYCOLOR3IPROC glSecondaryColor3i = NULL;
00251 PFNGLSECONDARYCOLOR3IVPROC glSecondaryColor3iv = NULL;
00252 PFNGLSECONDARYCOLOR3SPROC glSecondaryColor3s = NULL;
00253 PFNGLSECONDARYCOLOR3SVPROC glSecondaryColor3sv = NULL;
00254 PFNGLSECONDARYCOLOR3UBPROC glSecondaryColor3ub = NULL;
00255 PFNGLSECONDARYCOLOR3UBVPROC glSecondaryColor3ubv = NULL;
00256 PFNGLSECONDARYCOLOR3UIPROC glSecondaryColor3ui = NULL;
00257 PFNGLSECONDARYCOLOR3UIVPROC glSecondaryColor3uiv = NULL;
00258 PFNGLSECONDARYCOLOR3USPROC glSecondaryColor3us = NULL;
00259 PFNGLSECONDARYCOLOR3USVPROC glSecondaryColor3usv = NULL;
00260 PFNGLSECONDARYCOLORPOINTERPROC glSecondaryColorPointer = NULL;
00261 PFNGLBLENDFUNCSEPARATEPROC glBlendFuncSeparate = NULL;
00262 PFNGLWINDOWPOS2DPROC glWindowPos2d = NULL;
00263 PFNGLWINDOWPOS2FPROC glWindowPos2f = NULL;
00264 PFNGLWINDOWPOS2IPROC glWindowPos2i = NULL;
00265 PFNGLWINDOWPOS2SPROC glWindowPos2s = NULL;
00266 PFNGLWINDOWPOS2DVPROC glWindowPos2dv = NULL;
00267 PFNGLWINDOWPOS2FVPROC glWindowPos2fv = NULL;
00268 PFNGLWINDOWPOS2IVPROC glWindowPos2iv = NULL;
00269 PFNGLWINDOWPOS2SVPROC glWindowPos2sv = NULL;
00270 PFNGLWINDOWPOS3DPROC glWindowPos3d = NULL;
00271 PFNGLWINDOWPOS3FPROC glWindowPos3f = NULL;
00272 PFNGLWINDOWPOS3IPROC glWindowPos3i = NULL;
00273 PFNGLWINDOWPOS3SPROC glWindowPos3s = NULL;
00274 PFNGLWINDOWPOS3DVPROC glWindowPos3dv = NULL;
00275 PFNGLWINDOWPOS3FVPROC glWindowPos3fv = NULL;
00276 PFNGLWINDOWPOS3IVPROC glWindowPos3iv = NULL;
00277 PFNGLWINDOWPOS3SVPROC glWindowPos3sv = NULL;
00278 
00279 static GLboolean _glewInit_14 ()
00280 {
00281   GLboolean r = GL_FALSE;
00282 #ifndef GL_ARB_imaging
00283   r = r || (glBlendColor = (PFNGLBLENDCOLORPROC)glewGetProcAddress("glBlendColor")) == NULL;
00284   r = r || (glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress("glBlendEquation")) == NULL;
00285 #endif /* GL_ARB_imaging */
00286   r = r || (glFogCoordf = (PFNGLFOGCOORDFPROC)glewGetProcAddress("glFogCoordf")) == NULL;
00287   r = r || (glFogCoordfv = (PFNGLFOGCOORDFVPROC)glewGetProcAddress("glFogCoordfv")) == NULL;
00288   r = r || (glFogCoordd = (PFNGLFOGCOORDDPROC)glewGetProcAddress("glFogCoordd")) == NULL;
00289   r = r || (glFogCoorddv = (PFNGLFOGCOORDDVPROC)glewGetProcAddress("glFogCoorddv")) == NULL;
00290   r = r || (glFogCoordPointer = (PFNGLFOGCOORDPOINTERPROC)glewGetProcAddress("glFogCoordPointer")) == NULL;
00291   r = r || (glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)glewGetProcAddress("glMultiDrawArrays")) == NULL;
00292   r = r || (glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)glewGetProcAddress("glMultiDrawElements")) == NULL;
00293   r = r || (glPointParameterf = (PFNGLPOINTPARAMETERFPROC)glewGetProcAddress("glPointParameterf")) == NULL;
00294   r = r || (glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)glewGetProcAddress("glPointParameterfv")) == NULL;
00295   r = r || (glSecondaryColor3b = (PFNGLSECONDARYCOLOR3BPROC)glewGetProcAddress("glSecondaryColor3b")) == NULL;
00296   r = r || (glSecondaryColor3bv = (PFNGLSECONDARYCOLOR3BVPROC)glewGetProcAddress("glSecondaryColor3bv")) == NULL;
00297   r = r || (glSecondaryColor3d = (PFNGLSECONDARYCOLOR3DPROC)glewGetProcAddress("glSecondaryColor3d")) == NULL;
00298   r = r || (glSecondaryColor3dv = (PFNGLSECONDARYCOLOR3DVPROC)glewGetProcAddress("glSecondaryColor3dv")) == NULL;
00299   r = r || (glSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC)glewGetProcAddress("glSecondaryColor3f")) == NULL;
00300   r = r || (glSecondaryColor3fv = (PFNGLSECONDARYCOLOR3FVPROC)glewGetProcAddress("glSecondaryColor3fv")) == NULL;
00301   r = r || (glSecondaryColor3i = (PFNGLSECONDARYCOLOR3IPROC)glewGetProcAddress("glSecondaryColor3i")) == NULL;
00302   r = r || (glSecondaryColor3iv = (PFNGLSECONDARYCOLOR3IVPROC)glewGetProcAddress("glSecondaryColor3iv")) == NULL;
00303   r = r || (glSecondaryColor3s = (PFNGLSECONDARYCOLOR3SPROC)glewGetProcAddress("glSecondaryColor3s")) == NULL;
00304   r = r || (glSecondaryColor3sv = (PFNGLSECONDARYCOLOR3SVPROC)glewGetProcAddress("glSecondaryColor3sv")) == NULL;
00305   r = r || (glSecondaryColor3ub = (PFNGLSECONDARYCOLOR3UBPROC)glewGetProcAddress("glSecondaryColor3ub")) == NULL;
00306   r = r || (glSecondaryColor3ubv = (PFNGLSECONDARYCOLOR3UBVPROC)glewGetProcAddress("glSecondaryColor3ubv")) == NULL;
00307   r = r || (glSecondaryColor3ui = (PFNGLSECONDARYCOLOR3UIPROC)glewGetProcAddress("glSecondaryColor3ui")) == NULL;
00308   r = r || (glSecondaryColor3uiv = (PFNGLSECONDARYCOLOR3UIVPROC)glewGetProcAddress("glSecondaryColor3uiv")) == NULL;
00309   r = r || (glSecondaryColor3us = (PFNGLSECONDARYCOLOR3USPROC)glewGetProcAddress("glSecondaryColor3us")) == NULL;
00310   r = r || (glSecondaryColor3usv = (PFNGLSECONDARYCOLOR3USVPROC)glewGetProcAddress("glSecondaryColor3usv")) == NULL;
00311   r = r || (glSecondaryColorPointer = (PFNGLSECONDARYCOLORPOINTERPROC)glewGetProcAddress("glSecondaryColorPointer")) == NULL;
00312   r = r || (glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)glewGetProcAddress("glBlendFuncSeparate")) == NULL;
00313   r = r || (glWindowPos2d = (PFNGLWINDOWPOS2DPROC)glewGetProcAddress("glWindowPos2d")) == NULL;
00314   r = r || (glWindowPos2f = (PFNGLWINDOWPOS2FPROC)glewGetProcAddress("glWindowPos2f")) == NULL;
00315   r = r || (glWindowPos2i = (PFNGLWINDOWPOS2IPROC)glewGetProcAddress("glWindowPos2i")) == NULL;
00316   r = r || (glWindowPos2s = (PFNGLWINDOWPOS2SPROC)glewGetProcAddress("glWindowPos2s")) == NULL;
00317   r = r || (glWindowPos2dv = (PFNGLWINDOWPOS2DVPROC)glewGetProcAddress("glWindowPos2dv")) == NULL;
00318   r = r || (glWindowPos2fv = (PFNGLWINDOWPOS2FVPROC)glewGetProcAddress("glWindowPos2fv")) == NULL;
00319   r = r || (glWindowPos2iv = (PFNGLWINDOWPOS2IVPROC)glewGetProcAddress("glWindowPos2iv")) == NULL;
00320   r = r || (glWindowPos2sv = (PFNGLWINDOWPOS2SVPROC)glewGetProcAddress("glWindowPos2sv")) == NULL;
00321   r = r || (glWindowPos3d = (PFNGLWINDOWPOS3DPROC)glewGetProcAddress("glWindowPos3d")) == NULL;
00322   r = r || (glWindowPos3f = (PFNGLWINDOWPOS3FPROC)glewGetProcAddress("glWindowPos3f")) == NULL;
00323   r = r || (glWindowPos3i = (PFNGLWINDOWPOS3IPROC)glewGetProcAddress("glWindowPos3i")) == NULL;
00324   r = r || (glWindowPos3s = (PFNGLWINDOWPOS3SPROC)glewGetProcAddress("glWindowPos3s")) == NULL;
00325   r = r || (glWindowPos3dv = (PFNGLWINDOWPOS3DVPROC)glewGetProcAddress("glWindowPos3dv")) == NULL;
00326   r = r || (glWindowPos3fv = (PFNGLWINDOWPOS3FVPROC)glewGetProcAddress("glWindowPos3fv")) == NULL;
00327   r = r || (glWindowPos3iv = (PFNGLWINDOWPOS3IVPROC)glewGetProcAddress("glWindowPos3iv")) == NULL;
00328   r = r || (glWindowPos3sv = (PFNGLWINDOWPOS3SVPROC)glewGetProcAddress("glWindowPos3sv")) == NULL;
00329   return r;
00330 }
00331 #endif /* GL_VERSION_1_4 */
00332 
00333 /* ------------------------------ ARB_imaging ----------------------------- */
00334 
00335 #ifdef GL_ARB_imaging
00336 PFNGLBLENDCOLORPROC glBlendColor = NULL;
00337 PFNGLBLENDEQUATIONPROC glBlendEquation = NULL;
00338 PFNGLCOLORTABLEPROC glColorTable = NULL;
00339 PFNGLCOLORTABLEPARAMETERFVPROC glColorTableParameterfv = NULL;
00340 PFNGLCOLORTABLEPARAMETERIVPROC glColorTableParameteriv = NULL;
00341 PFNGLCOPYCOLORTABLEPROC glCopyColorTable = NULL;
00342 PFNGLGETCOLORTABLEPROC glGetColorTable = NULL;
00343 PFNGLGETCOLORTABLEPARAMETERFVPROC glGetColorTableParameterfv = NULL;
00344 PFNGLGETCOLORTABLEPARAMETERIVPROC glGetColorTableParameteriv = NULL;
00345 PFNGLCOLORSUBTABLEPROC glColorSubTable = NULL;
00346 PFNGLCOPYCOLORSUBTABLEPROC glCopyColorSubTable = NULL;
00347 PFNGLCONVOLUTIONFILTER1DPROC glConvolutionFilter1D = NULL;
00348 PFNGLCONVOLUTIONFILTER2DPROC glConvolutionFilter2D = NULL;
00349 PFNGLCONVOLUTIONPARAMETERFPROC glConvolutionParameterf = NULL;
00350 PFNGLCONVOLUTIONPARAMETERFVPROC glConvolutionParameterfv = NULL;
00351 PFNGLCONVOLUTIONPARAMETERIPROC glConvolutionParameteri = NULL;
00352 PFNGLCONVOLUTIONPARAMETERIVPROC glConvolutionParameteriv = NULL;
00353 PFNGLCOPYCONVOLUTIONFILTER1DPROC glCopyConvolutionFilter1D = NULL;
00354 PFNGLCOPYCONVOLUTIONFILTER2DPROC glCopyConvolutionFilter2D = NULL;
00355 PFNGLGETCONVOLUTIONFILTERPROC glGetConvolutionFilter = NULL;
00356 PFNGLGETCONVOLUTIONPARAMETERFVPROC glGetConvolutionParameterfv = NULL;
00357 PFNGLGETCONVOLUTIONPARAMETERIVPROC glGetConvolutionParameteriv = NULL;
00358 PFNGLGETSEPARABLEFILTERPROC glGetSeparableFilter = NULL;
00359 PFNGLSEPARABLEFILTER2DPROC glSeparableFilter2D = NULL;
00360 PFNGLGETHISTOGRAMPROC glGetHistogram = NULL;
00361 PFNGLGETHISTOGRAMPARAMETERFVPROC glGetHistogramParameterfv = NULL;
00362 PFNGLGETHISTOGRAMPARAMETERIVPROC glGetHistogramParameteriv = NULL;
00363 PFNGLGETMINMAXPROC glGetMinmax = NULL;
00364 PFNGLGETMINMAXPARAMETERFVPROC glGetMinmaxParameterfv = NULL;
00365 PFNGLGETMINMAXPARAMETERIVPROC glGetMinmaxParameteriv = NULL;
00366 PFNGLHISTOGRAMPROC glHistogram = NULL;
00367 PFNGLMINMAXPROC glMinmax = NULL;
00368 PFNGLRESETHISTOGRAMPROC glResetHistogram = NULL;
00369 PFNGLRESETMINMAXPROC glResetMinmax = NULL;
00370 
00371 static GLboolean _glewInit_ARB_imaging ()
00372 {
00373   GLboolean r = GL_FALSE;
00374   r = r || (glBlendColor = (PFNGLBLENDCOLORPROC)glewGetProcAddress("glBlendColor")) == NULL;
00375   r = r || (glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress("glBlendEquation")) == NULL;
00376   r = r || (glColorTable = (PFNGLCOLORTABLEPROC)glewGetProcAddress("glColorTable")) == NULL;
00377   r = r || (glColorTableParameterfv = (PFNGLCOLORTABLEPARAMETERFVPROC)glewGetProcAddress("glColorTableParameterfv")) == NULL;
00378   r = r || (glColorTableParameteriv = (PFNGLCOLORTABLEPARAMETERIVPROC)glewGetProcAddress("glColorTableParameteriv")) == NULL;
00379   r = r || (glCopyColorTable = (PFNGLCOPYCOLORTABLEPROC)glewGetProcAddress("glCopyColorTable")) == NULL;
00380   r = r || (glGetColorTable = (PFNGLGETCOLORTABLEPROC)glewGetProcAddress("glGetColorTable")) == NULL;
00381   r = r || (glGetColorTableParameterfv = (PFNGLGETCOLORTABLEPARAMETERFVPROC)glewGetProcAddress("glGetColorTableParameterfv")) == NULL;
00382   r = r || (glGetColorTableParameteriv = (PFNGLGETCOLORTABLEPARAMETERIVPROC)glewGetProcAddress("glGetColorTableParameteriv")) == NULL;
00383   r = r || (glColorSubTable = (PFNGLCOLORSUBTABLEPROC)glewGetProcAddress("glColorSubTable")) == NULL;
00384   r = r || (glCopyColorSubTable = (PFNGLCOPYCOLORSUBTABLEPROC)glewGetProcAddress("glCopyColorSubTable")) == NULL;
00385   r = r || (glConvolutionFilter1D = (PFNGLCONVOLUTIONFILTER1DPROC)glewGetProcAddress("glConvolutionFilter1D")) == NULL;
00386   r = r || (glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)glewGetProcAddress("glConvolutionFilter2D")) == NULL;
00387   r = r || (glConvolutionParameterf = (PFNGLCONVOLUTIONPARAMETERFPROC)glewGetProcAddress("glConvolutionParameterf")) == NULL;
00388   r = r || (glConvolutionParameterfv = (PFNGLCONVOLUTIONPARAMETERFVPROC)glewGetProcAddress("glConvolutionParameterfv")) == NULL;
00389   r = r || (glConvolutionParameteri = (PFNGLCONVOLUTIONPARAMETERIPROC)glewGetProcAddress("glConvolutionParameteri")) == NULL;
00390   r = r || (glConvolutionParameteriv = (PFNGLCONVOLUTIONPARAMETERIVPROC)glewGetProcAddress("glConvolutionParameteriv")) == NULL;
00391   r = r || (glCopyConvolutionFilter1D = (PFNGLCOPYCONVOLUTIONFILTER1DPROC)glewGetProcAddress("glCopyConvolutionFilter1D")) == NULL;
00392   r = r || (glCopyConvolutionFilter2D = (PFNGLCOPYCONVOLUTIONFILTER2DPROC)glewGetProcAddress("glCopyConvolutionFilter2D")) == NULL;
00393   r = r || (glGetConvolutionFilter = (PFNGLGETCONVOLUTIONFILTERPROC)glewGetProcAddress("glGetConvolutionFilter")) == NULL;
00394   r = r || (glGetConvolutionParameterfv = (PFNGLGETCONVOLUTIONPARAMETERFVPROC)glewGetProcAddress("glGetConvolutionParameterfv")) == NULL;
00395   r = r || (glGetConvolutionParameteriv = (PFNGLGETCONVOLUTIONPARAMETERIVPROC)glewGetProcAddress("glGetConvolutionParameteriv")) == NULL;
00396   r = r || (glGetSeparableFilter = (PFNGLGETSEPARABLEFILTERPROC)glewGetProcAddress("glGetSeparableFilter")) == NULL;
00397   r = r || (glSeparableFilter2D = (PFNGLSEPARABLEFILTER2DPROC)glewGetProcAddress("glSeparableFilter2D")) == NULL;
00398   r = r || (glGetHistogram = (PFNGLGETHISTOGRAMPROC)glewGetProcAddress("glGetHistogram")) == NULL;
00399   r = r || (glGetHistogramParameterfv = (PFNGLGETHISTOGRAMPARAMETERFVPROC)glewGetProcAddress("glGetHistogramParameterfv")) == NULL;
00400   r = r || (glGetHistogramParameteriv = (PFNGLGETHISTOGRAMPARAMETERIVPROC)glewGetProcAddress("glGetHistogramParameteriv")) == NULL;
00401   r = r || (glGetMinmax = (PFNGLGETMINMAXPROC)glewGetProcAddress("glGetMinmax")) == NULL;
00402   r = r || (glGetMinmaxParameterfv = (PFNGLGETMINMAXPARAMETERFVPROC)glewGetProcAddress("glGetMinmaxParameterfv")) == NULL;
00403   r = r || (glGetMinmaxParameteriv = (PFNGLGETMINMAXPARAMETERIVPROC)glewGetProcAddress("glGetMinmaxParameteriv")) == NULL;
00404   r = r || (glHistogram = (PFNGLHISTOGRAMPROC)glewGetProcAddress("glHistogram")) == NULL;
00405   r = r || (glMinmax = (PFNGLMINMAXPROC)glewGetProcAddress("glMinmax")) == NULL;
00406   r = r || (glResetHistogram = (PFNGLRESETHISTOGRAMPROC)glewGetProcAddress("glResetHistogram")) == NULL;
00407   r = r || (glResetMinmax = (PFNGLRESETMINMAXPROC)glewGetProcAddress("glResetMinmax")) == NULL;
00408   return r;
00409 }
00410 #endif /* GL_ARB_imaging */
00411 
00412 /* -------------------------- ARB_matrix_palette -------------------------- */
00413 
00414 #ifdef GL_ARB_matrix_palette
00415 PFNGLCURRENTPALETTEMATRIXARBPROC glCurrentPaletteMatrixARB = NULL;
00416 PFNGLMATRIXINDEXUBVARBPROC glMatrixIndexubvARB = NULL;
00417 PFNGLMATRIXINDEXUSVARBPROC glMatrixIndexusvARB = NULL;
00418 PFNGLMATRIXINDEXUIVARBPROC glMatrixIndexuivARB = NULL;
00419 PFNGLMATRIXINDEXPOINTERARBPROC glMatrixIndexPointerARB = NULL;
00420 
00421 static GLboolean _glewInit_ARB_matrix_palette ()
00422 {
00423   GLboolean r = GL_FALSE;
00424   r = r || (glCurrentPaletteMatrixARB = (PFNGLCURRENTPALETTEMATRIXARBPROC)glewGetProcAddress("glCurrentPaletteMatrixARB")) == NULL;
00425   r = r || (glMatrixIndexubvARB = (PFNGLMATRIXINDEXUBVARBPROC)glewGetProcAddress("glMatrixIndexubvARB")) == NULL;
00426   r = r || (glMatrixIndexusvARB = (PFNGLMATRIXINDEXUSVARBPROC)glewGetProcAddress("glMatrixIndexusvARB")) == NULL;
00427   r = r || (glMatrixIndexuivARB = (PFNGLMATRIXINDEXUIVARBPROC)glewGetProcAddress("glMatrixIndexuivARB")) == NULL;
00428   r = r || (glMatrixIndexPointerARB = (PFNGLMATRIXINDEXPOINTERARBPROC)glewGetProcAddress("glMatrixIndexPointerARB")) == NULL;
00429   return r;
00430 }
00431 #endif /* GL_ARB_matrix_palette */
00432 
00433 /* ---------------------------- ARB_multisample --------------------------- */
00434 
00435 #ifdef GL_ARB_multisample
00436 PFNGLSAMPLECOVERAGEARBPROC glSampleCoverageARB = NULL;
00437 
00438 static GLboolean _glewInit_ARB_multisample ()
00439 {
00440   GLboolean r = GL_FALSE;
00441   r = r || (glSampleCoverageARB = (PFNGLSAMPLECOVERAGEARBPROC)glewGetProcAddress("glSampleCoverageARB")) == NULL;
00442   return r;
00443 }
00444 #endif /* GL_ARB_multisample */
00445 
00446 /* --------------------------- ARB_multitexture --------------------------- */
00447 
00448 #ifdef GL_ARB_multitexture
00449 PFNGLACTIVETEXTUREARBPROC glActiveTextureARB = NULL;
00450 PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB = NULL;
00451 PFNGLMULTITEXCOORD1DARBPROC glMultiTexCoord1dARB = NULL;
00452 PFNGLMULTITEXCOORD1DVARBPROC glMultiTexCoord1dvARB = NULL;
00453 PFNGLMULTITEXCOORD1FARBPROC glMultiTexCoord1fARB = NULL;
00454 PFNGLMULTITEXCOORD1FVARBPROC glMultiTexCoord1fvARB = NULL;
00455 PFNGLMULTITEXCOORD1IARBPROC glMultiTexCoord1iARB = NULL;
00456 PFNGLMULTITEXCOORD1IVARBPROC glMultiTexCoord1ivARB = NULL;
00457 PFNGLMULTITEXCOORD1SARBPROC glMultiTexCoord1sARB = NULL;
00458 PFNGLMULTITEXCOORD1SVARBPROC glMultiTexCoord1svARB = NULL;
00459 PFNGLMULTITEXCOORD2DARBPROC glMultiTexCoord2dARB = NULL;
00460 PFNGLMULTITEXCOORD2DVARBPROC glMultiTexCoord2dvARB = NULL;
00461 PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB = NULL;
00462 PFNGLMULTITEXCOORD2FVARBPROC glMultiTexCoord2fvARB = NULL;
00463 PFNGLMULTITEXCOORD2IARBPROC glMultiTexCoord2iARB = NULL;
00464 PFNGLMULTITEXCOORD2IVARBPROC glMultiTexCoord2ivARB = NULL;
00465 PFNGLMULTITEXCOORD2SARBPROC glMultiTexCoord2sARB = NULL;
00466 PFNGLMULTITEXCOORD2SVARBPROC glMultiTexCoord2svARB = NULL;
00467 PFNGLMULTITEXCOORD3DARBPROC glMultiTexCoord3dARB = NULL;
00468 PFNGLMULTITEXCOORD3DVARBPROC glMultiTexCoord3dvARB = NULL;
00469 PFNGLMULTITEXCOORD3FARBPROC glMultiTexCoord3fARB = NULL;
00470 PFNGLMULTITEXCOORD3FVARBPROC glMultiTexCoord3fvARB = NULL;
00471 PFNGLMULTITEXCOORD3IARBPROC glMultiTexCoord3iARB = NULL;
00472 PFNGLMULTITEXCOORD3IVARBPROC glMultiTexCoord3ivARB = NULL;
00473 PFNGLMULTITEXCOORD3SARBPROC glMultiTexCoord3sARB = NULL;
00474 PFNGLMULTITEXCOORD3SVARBPROC glMultiTexCoord3svARB = NULL;
00475 PFNGLMULTITEXCOORD4DARBPROC glMultiTexCoord4dARB = NULL;
00476 PFNGLMULTITEXCOORD4DVARBPROC glMultiTexCoord4dvARB = NULL;
00477 PFNGLMULTITEXCOORD4FARBPROC glMultiTexCoord4fARB = NULL;
00478 PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB = NULL;
00479 PFNGLMULTITEXCOORD4IARBPROC glMultiTexCoord4iARB = NULL;
00480 PFNGLMULTITEXCOORD4IVARBPROC glMultiTexCoord4ivARB = NULL;
00481 PFNGLMULTITEXCOORD4SARBPROC glMultiTexCoord4sARB = NULL;
00482 PFNGLMULTITEXCOORD4SVARBPROC glMultiTexCoord4svARB = NULL;
00483 
00484 static GLboolean _glewInit_ARB_multitexture ()
00485 {
00486   GLboolean r = GL_FALSE;
00487   r = r || (glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC)glewGetProcAddress("glActiveTextureARB")) == NULL;
00488   r = r || (glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC)glewGetProcAddress("glClientActiveTextureARB")) == NULL;
00489   r = r || (glMultiTexCoord1dARB = (PFNGLMULTITEXCOORD1DARBPROC)glewGetProcAddress("glMultiTexCoord1dARB")) == NULL;
00490   r = r || (glMultiTexCoord1dvARB = (PFNGLMULTITEXCOORD1DVARBPROC)glewGetProcAddress("glMultiTexCoord1dvARB")) == NULL;
00491   r = r || (glMultiTexCoord1fARB = (PFNGLMULTITEXCOORD1FARBPROC)glewGetProcAddress("glMultiTexCoord1fARB")) == NULL;
00492   r = r || (glMultiTexCoord1fvARB = (PFNGLMULTITEXCOORD1FVARBPROC)glewGetProcAddress("glMultiTexCoord1fvARB")) == NULL;
00493   r = r || (glMultiTexCoord1iARB = (PFNGLMULTITEXCOORD1IARBPROC)glewGetProcAddress("glMultiTexCoord1iARB")) == NULL;
00494   r = r || (glMultiTexCoord1ivARB = (PFNGLMULTITEXCOORD1IVARBPROC)glewGetProcAddress("glMultiTexCoord1ivARB")) == NULL;
00495   r = r || (glMultiTexCoord1sARB = (PFNGLMULTITEXCOORD1SARBPROC)glewGetProcAddress("glMultiTexCoord1sARB")) == NULL;
00496   r = r || (glMultiTexCoord1svARB = (PFNGLMULTITEXCOORD1SVARBPROC)glewGetProcAddress("glMultiTexCoord1svARB")) == NULL;
00497   r = r || (glMultiTexCoord2dARB = (PFNGLMULTITEXCOORD2DARBPROC)glewGetProcAddress("glMultiTexCoord2dARB")) == NULL;
00498   r = r || (glMultiTexCoord2dvARB = (PFNGLMULTITEXCOORD2DVARBPROC)glewGetProcAddress("glMultiTexCoord2dvARB")) == NULL;
00499   r = r || (glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC)glewGetProcAddress("glMultiTexCoord2fARB")) == NULL;
00500   r = r || (glMultiTexCoord2fvARB = (PFNGLMULTITEXCOORD2FVARBPROC)glewGetProcAddress("glMultiTexCoord2fvARB")) == NULL;
00501   r = r || (glMultiTexCoord2iARB = (PFNGLMULTITEXCOORD2IARBPROC)glewGetProcAddress("glMultiTexCoord2iARB")) == NULL;
00502   r = r || (glMultiTexCoord2ivARB = (PFNGLMULTITEXCOORD2IVARBPROC)glewGetProcAddress("glMultiTexCoord2ivARB")) == NULL;
00503   r = r || (glMultiTexCoord2sARB = (PFNGLMULTITEXCOORD2SARBPROC)glewGetProcAddress("glMultiTexCoord2sARB")) == NULL;
00504   r = r || (glMultiTexCoord2svARB = (PFNGLMULTITEXCOORD2SVARBPROC)glewGetProcAddress("glMultiTexCoord2svARB")) == NULL;
00505   r = r || (glMultiTexCoord3dARB = (PFNGLMULTITEXCOORD3DARBPROC)glewGetProcAddress("glMultiTexCoord3dARB")) == NULL;
00506   r = r || (glMultiTexCoord3dvARB = (PFNGLMULTITEXCOORD3DVARBPROC)glewGetProcAddress("glMultiTexCoord3dvARB")) == NULL;
00507   r = r || (glMultiTexCoord3fARB = (PFNGLMULTITEXCOORD3FARBPROC)glewGetProcAddress("glMultiTexCoord3fARB")) == NULL;
00508   r = r || (glMultiTexCoord3fvARB = (PFNGLMULTITEXCOORD3FVARBPROC)glewGetProcAddress("glMultiTexCoord3fvARB")) == NULL;
00509   r = r || (glMultiTexCoord3iARB = (PFNGLMULTITEXCOORD3IARBPROC)glewGetProcAddress("glMultiTexCoord3iARB")) == NULL;
00510   r = r || (glMultiTexCoord3ivARB = (PFNGLMULTITEXCOORD3IVARBPROC)glewGetProcAddress("glMultiTexCoord3ivARB")) == NULL;
00511   r = r || (glMultiTexCoord3sARB = (PFNGLMULTITEXCOORD3SARBPROC)glewGetProcAddress("glMultiTexCoord3sARB")) == NULL;
00512   r = r || (glMultiTexCoord3svARB = (PFNGLMULTITEXCOORD3SVARBPROC)glewGetProcAddress("glMultiTexCoord3svARB")) == NULL;
00513   r = r || (glMultiTexCoord4dARB = (PFNGLMULTITEXCOORD4DARBPROC)glewGetProcAddress("glMultiTexCoord4dARB")) == NULL;
00514   r = r || (glMultiTexCoord4dvARB = (PFNGLMULTITEXCOORD4DVARBPROC)glewGetProcAddress("glMultiTexCoord4dvARB")) == NULL;
00515   r = r || (glMultiTexCoord4fARB = (PFNGLMULTITEXCOORD4FARBPROC)glewGetProcAddress("glMultiTexCoord4fARB")) == NULL;
00516   r = r || (glMultiTexCoord4fvARB = (PFNGLMULTITEXCOORD4FVARBPROC)glewGetProcAddress("glMultiTexCoord4fvARB")) == NULL;
00517   r = r || (glMultiTexCoord4iARB = (PFNGLMULTITEXCOORD4IARBPROC)glewGetProcAddress("glMultiTexCoord4iARB")) == NULL;
00518   r = r || (glMultiTexCoord4ivARB = (PFNGLMULTITEXCOORD4IVARBPROC)glewGetProcAddress("glMultiTexCoord4ivARB")) == NULL;
00519   r = r || (glMultiTexCoord4sARB = (PFNGLMULTITEXCOORD4SARBPROC)glewGetProcAddress("glMultiTexCoord4sARB")) == NULL;
00520   r = r || (glMultiTexCoord4svARB = (PFNGLMULTITEXCOORD4SVARBPROC)glewGetProcAddress("glMultiTexCoord4svARB")) == NULL;
00521   return r;
00522 }
00523 #endif /* GL_ARB_multitexture */
00524 
00525 /* ------------------------- ARB_point_parameters ------------------------- */
00526 
00527 #ifdef GL_ARB_point_parameters
00528 PFNGLPOINTPARAMETERFARBPROC glPointParameterfARB = NULL;
00529 PFNGLPOINTPARAMETERFVARBPROC glPointParameterfvARB = NULL;
00530 
00531 static GLboolean _glewInit_ARB_point_parameters ()
00532 {
00533   GLboolean r = GL_FALSE;
00534   r = r || (glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC)glewGetProcAddress("glPointParameterfARB")) == NULL;
00535   r = r || (glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC)glewGetProcAddress("glPointParameterfvARB")) == NULL;
00536   return r;
00537 }
00538 #endif /* GL_ARB_point_parameters */
00539 
00540 /* ------------------------ ARB_texture_compression ----------------------- */
00541 
00542 #ifdef GL_ARB_texture_compression
00543 PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glCompressedTexImage3DARB = NULL;
00544 PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2DARB = NULL;
00545 PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glCompressedTexImage1DARB = NULL; 
00546 PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glCompressedTexSubImage3DARB = NULL;
00547 PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glCompressedTexSubImage2DARB = NULL;
00548 PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glCompressedTexSubImage1DARB = NULL;
00549 PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glGetCompressedTexImageARB = NULL;
00550 
00551 static GLboolean _glewInit_ARB_texture_compression ()
00552 {
00553   GLboolean r = GL_FALSE;
00554   r = r || (glCompressedTexImage3DARB = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)glewGetProcAddress("glCompressedTexImage3DARB")) == NULL;
00555   r = r || (glCompressedTexImage2DARB = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)glewGetProcAddress("glCompressedTexImage2DARB")) == NULL;
00556   r = r || (glCompressedTexImage1DARB = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)glewGetProcAddress("glCompressedTexImage1DARB")) == NULL;
00557   r = r || (glCompressedTexSubImage3DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)glewGetProcAddress("glCompressedTexSubImage3DARB")) == NULL;
00558   r = r || (glCompressedTexSubImage2DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)glewGetProcAddress("glCompressedTexSubImage2DARB")) == NULL;
00559   r = r || (glCompressedTexSubImage1DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)glewGetProcAddress("glCompressedTexSubImage1DARB")) == NULL;
00560   r = r || (glGetCompressedTexImageARB = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)glewGetProcAddress("glGetCompressedTexImageARB")) == NULL;
00561   return r;
00562 }
00563 #endif /* GL_ARB_texture_compression */
00564 
00565 /* ------------------------- ARB_transpose_matrix ------------------------- */
00566 
00567 #ifdef GL_ARB_transpose_matrix
00568 PFNGLLOADTRANSPOSEMATRIXFARBPROC glLoadTransposeMatrixfARB = NULL;
00569 PFNGLLOADTRANSPOSEMATRIXDARBPROC glLoadTransposeMatrixdARB = NULL;
00570 PFNGLMULTTRANSPOSEMATRIXFARBPROC glMultTransposeMatrixfARB = NULL;
00571 PFNGLMULTTRANSPOSEMATRIXDARBPROC glMultTransposeMatrixdARB = NULL;
00572 
00573 static GLboolean _glewInit_ARB_transpose_matrix ()
00574 {
00575   GLboolean r = GL_FALSE;
00576   r = r || (glLoadTransposeMatrixfARB = (PFNGLLOADTRANSPOSEMATRIXFARBPROC)glewGetProcAddress("glLoadTransposeMatrixfARB")) == NULL;
00577   r = r || (glLoadTransposeMatrixdARB = (PFNGLLOADTRANSPOSEMATRIXDARBPROC)glewGetProcAddress("glLoadTransposeMatrixdARB")) == NULL;
00578   r = r || (glMultTransposeMatrixfARB = (PFNGLMULTTRANSPOSEMATRIXFARBPROC)glewGetProcAddress("glMultTransposeMatrixfARB")) == NULL;
00579   r = r || (glMultTransposeMatrixdARB = (PFNGLMULTTRANSPOSEMATRIXDARBPROC)glewGetProcAddress("glMultTransposeMatrixdARB")) == NULL;
00580   return r;
00581 }
00582 #endif /* GL_ARB_transpose_matrix */
00583 
00584 /* --------------------------- ARB_vertex_blend --------------------------- */
00585 
00586 #ifdef GL_ARB_vertex_blend
00587 PFNGLWEIGHTBVARBPROC glWeightbvARB = NULL;
00588 PFNGLWEIGHTSVARBPROC glWeightsvARB = NULL;
00589 PFNGLWEIGHTIVARBPROC glWeightivARB = NULL;
00590 PFNGLWEIGHTFVARBPROC glWeightfvARB = NULL;
00591 PFNGLWEIGHTDVARBPROC glWeightdvARB = NULL;
00592 PFNGLWEIGHTUBVARBPROC glWeightubvARB = NULL;
00593 PFNGLWEIGHTUSVARBPROC glWeightusvARB = NULL;
00594 PFNGLWEIGHTUIVARBPROC glWeightuivARB = NULL;
00595 PFNGLWEIGHTPOINTERARBPROC glWeightPointerARB = NULL;
00596 PFNGLVERTEXBLENDARBPROC glVertexBlendARB = NULL;
00597 
00598 static GLboolean _glewInit_ARB_vertex_blend ()
00599 {
00600   GLboolean r = GL_FALSE;
00601   r = r || (glWeightbvARB = (PFNGLWEIGHTBVARBPROC)glewGetProcAddress("glWeightbvARB")) == NULL;
00602   r = r || (glWeightsvARB = (PFNGLWEIGHTSVARBPROC)glewGetProcAddress("glWeightsvARB")) == NULL;
00603   r = r || (glWeightivARB = (PFNGLWEIGHTIVARBPROC)glewGetProcAddress("glWeightivARB")) == NULL;
00604   r = r || (glWeightfvARB = (PFNGLWEIGHTFVARBPROC)glewGetProcAddress("glWeightfvARB")) == NULL;
00605   r = r || (glWeightdvARB = (PFNGLWEIGHTDVARBPROC)glewGetProcAddress("glWeightdvARB")) == NULL;
00606   r = r || (glWeightubvARB = (PFNGLWEIGHTUBVARBPROC)glewGetProcAddress("glWeightubvARB")) == NULL;
00607   r = r || (glWeightusvARB = (PFNGLWEIGHTUSVARBPROC)glewGetProcAddress("glWeightusvARB")) == NULL;
00608   r = r || (glWeightuivARB = (PFNGLWEIGHTUIVARBPROC)glewGetProcAddress("glWeightuivARB")) == NULL;
00609   r = r || (glWeightPointerARB = (PFNGLWEIGHTPOINTERARBPROC)glewGetProcAddress("glWeightPointerARB")) == NULL;
00610   r = r || (glVertexBlendARB = (PFNGLVERTEXBLENDARBPROC)glewGetProcAddress("glVertexBlendARB")) == NULL;
00611   return r;
00612 }
00613 #endif /* GL_ARB_vertex_blend */
00614 
00615 /* -------------------------- ARB_vertex_program -------------------------- */
00616 
00617 #ifdef GL_ARB_vertex_program
00618 PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB = NULL;
00619 PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB = NULL;
00620 PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB = NULL;
00621 PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB = NULL;
00622 PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB = NULL;
00623 PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB = NULL;
00624 PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB = NULL;
00625 PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB = NULL;
00626 PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB = NULL;
00627 PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB = NULL;
00628 PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB = NULL;
00629 PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB = NULL;
00630 PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4NubARB = NULL;
00631 PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB = NULL;
00632 PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB = NULL;
00633 PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB = NULL;
00634 PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB = NULL;
00635 PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB = NULL;
00636 PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB = NULL;
00637 PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB = NULL;
00638 PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB = NULL;
00639 PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB = NULL;
00640 PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB = NULL;
00641 PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB = NULL;
00642 PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB = NULL;
00643 PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB = NULL;
00644 PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB = NULL;
00645 PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB = NULL;
00646 PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB = NULL;
00647 PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB = NULL;
00648 PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4NbvARB = NULL;
00649 PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4NsvARB = NULL;
00650 PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4NivARB = NULL;
00651 PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4NubvARB = NULL;
00652 PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4NusvARB = NULL;
00653 PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4NuivARB = NULL;
00654 PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB = NULL;
00655 PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB = NULL;
00656 PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB = NULL;
00657 PFNGLPROGRAMSTRINGARBPROC glProgramStringARB = NULL;
00658 PFNGLBINDPROGRAMARBPROC glBindProgramARB = NULL;
00659 PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB = NULL;
00660 PFNGLGENPROGRAMSARBPROC glGenProgramsARB = NULL;
00661 PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB = NULL;
00662 PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB = NULL;
00663 PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB = NULL;
00664 PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB = NULL;
00665 PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB = NULL;
00666 PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB = NULL;
00667 PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB = NULL;
00668 PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB = NULL;
00669 PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB = NULL;
00670 PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB = NULL;
00671 PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB = NULL;
00672 PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB = NULL;
00673 PFNGLGETPROGRAMIVARBPROC glGetProgramivARB = NULL;
00674 PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB = NULL;
00675 PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB = NULL;
00676 PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB = NULL;
00677 PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB = NULL;
00678 PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB = NULL;
00679 PFNGLISPROGRAMARBPROC glIsProgramARB = NULL;
00680 
00681 static GLboolean _glewInit_ARB_vertex_program ()
00682 {
00683   GLboolean r = GL_FALSE;
00684   r = r || (glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)glewGetProcAddress("glVertexAttrib1sARB")) == NULL;
00685   r = r || (glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)glewGetProcAddress("glVertexAttrib1fARB")) == NULL;
00686   r = r || (glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)glewGetProcAddress("glVertexAttrib1dARB")) == NULL;
00687   r = r || (glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)glewGetProcAddress("glVertexAttrib2sARB")) == NULL;
00688   r = r || (glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)glewGetProcAddress("glVertexAttrib2fARB")) == NULL;
00689   r = r || (glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)glewGetProcAddress("glVertexAttrib2dARB")) == NULL;
00690   r = r || (glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)glewGetProcAddress("glVertexAttrib3sARB")) == NULL;
00691   r = r || (glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)glewGetProcAddress("glVertexAttrib3fARB")) == NULL;
00692   r = r || (glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)glewGetProcAddress("glVertexAttrib3dARB")) == NULL;
00693   r = r || (glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)glewGetProcAddress("glVertexAttrib4sARB")) == NULL;
00694   r = r || (glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)glewGetProcAddress("glVertexAttrib4fARB")) == NULL;
00695   r = r || (glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)glewGetProcAddress("glVertexAttrib4dARB")) == NULL;
00696   r = r || (glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)glewGetProcAddress("glVertexAttrib4NubARB")) == NULL;
00697   r = r || (glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)glewGetProcAddress("glVertexAttrib1svARB")) == NULL;
00698   r = r || (glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)glewGetProcAddress("glVertexAttrib1fvARB")) == NULL;
00699   r = r || (glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)glewGetProcAddress("glVertexAttrib1dvARB")) == NULL;
00700   r = r || (glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)glewGetProcAddress("glVertexAttrib2svARB")) == NULL;
00701   r = r || (glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)glewGetProcAddress("glVertexAttrib2fvARB")) == NULL;
00702   r = r || (glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)glewGetProcAddress("glVertexAttrib2dvARB")) == NULL;
00703   r = r || (glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)glewGetProcAddress("glVertexAttrib3svARB")) == NULL;
00704   r = r || (glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)glewGetProcAddress("glVertexAttrib3fvARB")) == NULL;
00705   r = r || (glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)glewGetProcAddress("glVertexAttrib3dvARB")) == NULL;
00706   r = r || (glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC)glewGetProcAddress("glVertexAttrib4bvARB")) == NULL;
00707   r = r || (glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)glewGetProcAddress("glVertexAttrib4svARB")) == NULL;
00708   r = r || (glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC)glewGetProcAddress("glVertexAttrib4ivARB")) == NULL;
00709   r = r || (glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC)glewGetProcAddress("glVertexAttrib4ubvARB")) == NULL;
00710   r = r || (glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC)glewGetProcAddress("glVertexAttrib4usvARB")) == NULL;
00711   r = r || (glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC)glewGetProcAddress("glVertexAttrib4uivARB")) == NULL;
00712   r = r || (glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)glewGetProcAddress("glVertexAttrib4fvARB")) == NULL;
00713   r = r || (glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)glewGetProcAddress("glVertexAttrib4dvARB")) == NULL;
00714   r = r || (glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC)glewGetProcAddress("glVertexAttrib4NbvARB")) == NULL;
00715   r = r || (glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC)glewGetProcAddress("glVertexAttrib4NsvARB")) == NULL;
00716   r = r || (glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC)glewGetProcAddress("glVertexAttrib4NivARB")) == NULL;
00717   r = r || (glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)glewGetProcAddress("glVertexAttrib4NubvARB")) == NULL;
00718   r = r || (glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC)glewGetProcAddress("glVertexAttrib4NusvARB")) == NULL;
00719   r = r || (glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC)glewGetProcAddress("glVertexAttrib4NuivARB")) == NULL;
00720   r = r || (glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC)glewGetProcAddress("glVertexAttribPointerARB")) == NULL;
00721   r = r || (glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)glewGetProcAddress("glEnableVertexAttribArrayARB")) == NULL;
00722   r = r || (glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)glewGetProcAddress("glDisableVertexAttribArrayARB")) == NULL;
00723   r = r || (glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC)glewGetProcAddress("glProgramStringARB")) == NULL;
00724   r = r || (glBindProgramARB = (PFNGLBINDPROGRAMARBPROC)glewGetProcAddress("glBindProgramARB")) == NULL;
00725   r = r || (glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)glewGetProcAddress("glDeleteProgramsARB")) == NULL;
00726   r = r || (glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC)glewGetProcAddress("glGenProgramsARB")) == NULL;
00727   r = r || (glProgramEnvParameter4dARB = (PFNGLPROGRAMENVPARAMETER4DARBPROC)glewGetProcAddress("glProgramEnvParameter4dARB")) == NULL;
00728   r = r || (glProgramEnvParameter4dvARB = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)glewGetProcAddress("glProgramEnvParameter4dvARB")) == NULL;
00729   r = r || (glProgramEnvParameter4fARB = (PFNGLPROGRAMENVPARAMETER4FARBPROC)glewGetProcAddress("glProgramEnvParameter4fARB")) == NULL;
00730   r = r || (glProgramEnvParameter4fvARB = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)glewGetProcAddress("glProgramEnvParameter4fvARB")) == NULL;
00731   r = r || (glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)glewGetProcAddress("glProgramLocalParameter4dARB")) == NULL;
00732   r = r || (glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)glewGetProcAddress("glProgramLocalParameter4dvARB")) == NULL;
00733   r = r || (glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)glewGetProcAddress("glProgramLocalParameter4fARB")) == NULL;
00734   r = r || (glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)glewGetProcAddress("glProgramLocalParameter4fvARB")) == NULL;
00735   r = r || (glGetProgramEnvParameterdvARB = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)glewGetProcAddress("glGetProgramEnvParameterdvARB")) == NULL;
00736   r = r || (glGetProgramEnvParameterfvARB = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)glewGetProcAddress("glGetProgramEnvParameterfvARB")) == NULL;
00737   r = r || (glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)glewGetProcAddress("glGetProgramLocalParameterdvARB")) == NULL;
00738   r = r || (glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)glewGetProcAddress("glGetProgramLocalParameterfvARB")) == NULL;
00739   r = r || (glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC)glewGetProcAddress("glGetProgramivARB")) == NULL;
00740   r = r || (glGetProgramStringARB = (PFNGLGETPROGRAMSTRINGARBPROC)glewGetProcAddress("glGetProgramStringARB")) == NULL;
00741   r = r || (glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)glewGetProcAddress("glGetVertexAttribdvARB")) == NULL;
00742   r = r || (glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)glewGetProcAddress("glGetVertexAttribfvARB")) == NULL;
00743   r = r || (glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)glewGetProcAddress("glGetVertexAttribivARB")) == NULL;
00744   r = r || (glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)glewGetProcAddress("glGetVertexAttribPointervARB")) == NULL;
00745   r = r || (glIsProgramARB = (PFNGLISPROGRAMARBPROC)glewGetProcAddress("glIsProgramARB")) == NULL;
00746   return r;
00747 }
00748 #endif /* GL_ARB_vertex_program */
00749 
00750 /* ---------------------------- ARB_window_pos ---------------------------- */
00751 
00752 #ifdef GL_ARB_window_pos
00753 PFNGLWINDOWPOS2DARBPROC glWindowPos2dARB = NULL;
00754 PFNGLWINDOWPOS2FARBPROC glWindowPos2fARB = NULL;
00755 PFNGLWINDOWPOS2IARBPROC glWindowPos2iARB = NULL;
00756 PFNGLWINDOWPOS2SARBPROC glWindowPos2sARB = NULL;
00757 PFNGLWINDOWPOS2DVARBPROC glWindowPos2dvARB = NULL;
00758 PFNGLWINDOWPOS2FVARBPROC glWindowPos2fvARB = NULL;
00759 PFNGLWINDOWPOS2IVARBPROC glWindowPos2ivARB = NULL;
00760 PFNGLWINDOWPOS2SVARBPROC glWindowPos2svARB = NULL;
00761 PFNGLWINDOWPOS3DARBPROC glWindowPos3dARB = NULL;
00762 PFNGLWINDOWPOS3FARBPROC glWindowPos3fARB = NULL;
00763 PFNGLWINDOWPOS3IARBPROC glWindowPos3iARB = NULL;
00764 PFNGLWINDOWPOS3SARBPROC glWindowPos3sARB = NULL;
00765 PFNGLWINDOWPOS3DVARBPROC glWindowPos3dvARB = NULL;
00766 PFNGLWINDOWPOS3FVARBPROC glWindowPos3fvARB = NULL;
00767 PFNGLWINDOWPOS3IVARBPROC glWindowPos3ivARB = NULL;
00768 PFNGLWINDOWPOS3SVARBPROC glWindowPos3svARB = NULL;
00769 
00770 static GLboolean _glewInit_ARB_window_pos ()
00771 {
00772   GLboolean r = GL_FALSE;
00773   r = r || (glWindowPos2dARB = (PFNGLWINDOWPOS2DARBPROC)glewGetProcAddress("glWindowPos2dARB")) == NULL;
00774   r = r || (glWindowPos2fARB = (PFNGLWINDOWPOS2FARBPROC)glewGetProcAddress("glWindowPos2fARB")) == NULL;
00775   r = r || (glWindowPos2iARB = (PFNGLWINDOWPOS2IARBPROC)glewGetProcAddress("glWindowPos2iARB")) == NULL;
00776   r = r || (glWindowPos2sARB = (PFNGLWINDOWPOS2SARBPROC)glewGetProcAddress("glWindowPos2sARB")) == NULL;
00777   r = r || (glWindowPos2dvARB = (PFNGLWINDOWPOS2DVARBPROC)glewGetProcAddress("glWindowPos2dvARB")) == NULL;
00778   r = r || (glWindowPos2fvARB = (PFNGLWINDOWPOS2FVARBPROC)glewGetProcAddress("glWindowPos2fvARB")) == NULL;
00779   r = r || (glWindowPos2ivARB = (PFNGLWINDOWPOS2IVARBPROC)glewGetProcAddress("glWindowPos2ivARB")) == NULL;
00780   r = r || (glWindowPos2svARB = (PFNGLWINDOWPOS2SVARBPROC)glewGetProcAddress("glWindowPos2svARB")) == NULL;
00781   r = r || (glWindowPos3dARB = (PFNGLWINDOWPOS3DARBPROC)glewGetProcAddress("glWindowPos3dARB")) == NULL;
00782   r = r || (glWindowPos3fARB = (PFNGLWINDOWPOS3FARBPROC)glewGetProcAddress("glWindowPos3fARB")) == NULL;
00783   r = r || (glWindowPos3iARB = (PFNGLWINDOWPOS3IARBPROC)glewGetProcAddress("glWindowPos3iARB")) == NULL;
00784   r = r || (glWindowPos3sARB = (PFNGLWINDOWPOS3SARBPROC)glewGetProcAddress("glWindowPos3sARB")) == NULL;
00785   r = r || (glWindowPos3dvARB = (PFNGLWINDOWPOS3DVARBPROC)glewGetProcAddress("glWindowPos3dvARB")) == NULL;
00786   r = r || (glWindowPos3fvARB = (PFNGLWINDOWPOS3FVARBPROC)glewGetProcAddress("glWindowPos3fvARB")) == NULL;
00787   r = r || (glWindowPos3ivARB = (PFNGLWINDOWPOS3IVARBPROC)glewGetProcAddress("glWindowPos3ivARB")) == NULL;
00788   r = r || (glWindowPos3svARB = (PFNGLWINDOWPOS3SVARBPROC)glewGetProcAddress("glWindowPos3svARB")) == NULL;
00789   return r;
00790 }
00791 #endif /* GL_ARB_window_pos */
00792 
00793 /* ---------------------------- EXT_blend_color --------------------------- */
00794 
00795 #ifdef GL_EXT_blend_color
00796 PFNGLBLENDCOLOREXTPROC glBlendColorEXT;
00797 
00798 static GLboolean _glewInit_EXT_blend_color ()
00799 {
00800   GLboolean r = GL_FALSE;
00801   r = r || (glBlendColorEXT = (PFNGLBLENDCOLOREXTPROC)glewGetProcAddress("glBlendColorEXT")) == NULL;
00802   return r;
00803 }
00804 #endif /* GL_EXT_blend_color */
00805 
00806 /* ------------------------ EXT_blend_func_separate ----------------------- */
00807 
00808 #ifdef GL_EXT_blend_func_separate
00809 PFNGLBLENDFUNCSEPARATEEXTPROC glBlendFuncSeparateEXT = NULL;
00810 
00811 static GLboolean _glewInit_EXT_blend_func_separate ()
00812 {
00813   GLboolean r = GL_FALSE;
00814   r = r || (glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC)glewGetProcAddress("glBlendFuncSeparateEXT")) == NULL;
00815   return r;
00816 }
00817 #endif /* GL_EXT_blend_func_separate */
00818 
00819 /* ---------------------------- EXT_blend_minmax -------------------------- */
00820 
00821 #ifdef GL_EXT_blend_minmax
00822 PFNGLBLENDEQUATIONEXTPROC glBlendEquationEXT;
00823 
00824 static GLboolean _glewInit_EXT_blend_minmax ()
00825 {
00826   GLboolean r = GL_FALSE;
00827   r = r || (glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC)glewGetProcAddress("glBlendEquationEXT")) == NULL;
00828   return r;
00829 }
00830 #endif /* GL_EXT_blend_minmax */
00831 
00832 /* ----------------------- EXT_compiled_vertex_array ---------------------- */
00833 
00834 #ifdef GL_EXT_compiled_vertex_array
00835 PFNGLLOCKARRAYSEXTPROC glLockArraysEXT = NULL;
00836 PFNGLUNLOCKARRAYSEXTPROC glUnlockArraysEXT = NULL;
00837 
00838 static GLboolean _glewInit_EXT_compiled_vertex_array ()
00839 {
00840   GLboolean r = GL_FALSE;
00841   r = r || (glLockArraysEXT = (PFNGLLOCKARRAYSEXTPROC)glewGetProcAddress("glLockArraysEXT")) == NULL;
00842   r = r || (glUnlockArraysEXT = (PFNGLUNLOCKARRAYSEXTPROC)glewGetProcAddress("glUnlockArraysEXT")) == NULL;
00843   return r;
00844 }
00845 #endif /* GL_EXT_compiled_vertex_array */
00846 
00847 /* ---------------------------- EXT_cull_vertex --------------------------- */
00848 
00849 #ifdef GL_EXT_cull_vertex
00850 PFNGLCULLPARAMETERFVEXTPROC glCullParameterfvEXT = NULL;
00851 PFNGLCULLPARAMETERDVEXTPROC glCullParameterdvEXT = NULL;
00852 
00853 static GLboolean _glewInit_EXT_cull_vertex ()
00854 {
00855   GLboolean r = GL_FALSE;
00856   r = r || (glCullParameterfvEXT = (PFNGLCULLPARAMETERFVEXTPROC)glewGetProcAddress("glCullParameterfvEXT")) == NULL;
00857   r = r || (glCullParameterdvEXT = (PFNGLCULLPARAMETERDVEXTPROC)glewGetProcAddress("glCullParameterdvEXT")) == NULL;
00858   return r;
00859 }
00860 #endif /* GL_EXT_cull_vertex */
00861 
00862 /* ------------------------ EXT_draw_range_elements ----------------------- */
00863 
00864 #ifdef GL_EXT_draw_range_elements
00865 PFNGLDRAWRANGEELEMENTSEXTPROC glDrawRangeElementsEXT = NULL;
00866 
00867 static GLboolean _glewInit_EXT_draw_range_elements ()
00868 {
00869   GLboolean r = GL_FALSE;
00870   r = r || (glDrawRangeElementsEXT = (PFNGLDRAWRANGEELEMENTSEXTPROC)glewGetProcAddress("glDrawRangeElementsEXT")) == NULL;
00871   return r;
00872 }
00873 #endif /* GL_EXT_draw_range_elements */
00874 
00875 /* ----------------------------- EXT_fog_coord ---------------------------- */
00876 
00877 #ifdef GL_EXT_fog_coord
00878 PFNGLFOGCOORDFEXTPROC glFogCoordfEXT = NULL;
00879 PFNGLFOGCOORDFVEXTPROC glFogCoordfvEXT = NULL;
00880 PFNGLFOGCOORDDEXTPROC glFogCoorddEXT = NULL;
00881 PFNGLFOGCOORDDVEXTPROC glFogCoorddvEXT = NULL;
00882 PFNGLFOGCOORDPOINTEREXTPROC glFogCoordPointerEXT = NULL;
00883 
00884 static GLboolean _glewInit_EXT_fog_coord ()
00885 {
00886   GLboolean r = GL_FALSE;
00887   r = r || (glFogCoordfEXT = (PFNGLFOGCOORDFEXTPROC)glewGetProcAddress("glFogCoordfEXT")) == NULL;
00888   r = r || (glFogCoordfvEXT = (PFNGLFOGCOORDFVEXTPROC)glewGetProcAddress("glFogCoordfvEXT")) == NULL;
00889   r = r || (glFogCoorddEXT = (PFNGLFOGCOORDDEXTPROC)glewGetProcAddress("glFogCoorddEXT")) == NULL;
00890   r = r || (glFogCoorddvEXT = (PFNGLFOGCOORDDVEXTPROC)glewGetProcAddress("glFogCoorddvEXT")) == NULL;
00891   r = r || (glFogCoordPointerEXT = (PFNGLFOGCOORDPOINTEREXTPROC)glewGetProcAddress("glFogCoordPointerEXT")) == NULL;
00892   return r;
00893 }
00894 #endif /* GL_EXT_fog_coord */
00895 
00896 /* ------------------------- EXT_multi_draw_arrays ------------------------ */
00897 
00898 #ifdef GL_EXT_multi_draw_arrays
00899 PFNGLMULTIDRAWARRAYSEXTPROC glMultiDrawArraysEXT = NULL;
00900 PFNGLMULTIDRAWELEMENTSEXTPROC glMultiDrawElementsEXT = NULL;
00901 
00902 static GLboolean _glewInit_EXT_multi_draw_arrays ()
00903 {
00904   GLboolean r = GL_FALSE;
00905   r = r || (glMultiDrawArraysEXT = (PFNGLMULTIDRAWARRAYSEXTPROC) glewGetProcAddress("glMultiDrawArraysEXT")) == NULL;
00906   r = r || (glMultiDrawElementsEXT = (PFNGLMULTIDRAWELEMENTSEXTPROC) glewGetProcAddress("glMultiDrawElementsEXT")) == NULL;
00907   return r;
00908 }
00909 #endif /* GL_EXT_multi_draw_arrays */
00910 
00911 /* ------------------------- EXT_point_parameters ------------------------- */
00912 
00913 #ifdef GL_EXT_point_parameters
00914 PFNGLPOINTPARAMETERFEXTPROC glPointParameterfEXT = NULL;
00915 PFNGLPOINTPARAMETERFVEXTPROC glPointParameterfvEXT = NULL;
00916 
00917 static GLboolean _glewInit_EXT_point_parameters ()
00918 {
00919   GLboolean r = GL_FALSE;
00920   r = r || (glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)glewGetProcAddress("glPointParameterfEXT")) == NULL;
00921   r = r || (glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)glewGetProcAddress("glPointParameterfvEXT")) == NULL;
00922   return r;
00923 }
00924 #endif /* GL_EXT_point_parameters */
00925 
00926 /* -------------------------- EXT_secondary_color ------------------------- */
00927 
00928 #ifdef GL_EXT_secondary_color
00929 PFNGLSECONDARYCOLOR3BEXTPROC glSecondaryColor3bEXT = NULL;
00930 PFNGLSECONDARYCOLOR3BVEXTPROC glSecondaryColor3bvEXT = NULL;
00931 PFNGLSECONDARYCOLOR3DEXTPROC glSecondaryColor3dEXT = NULL;
00932 PFNGLSECONDARYCOLOR3DVEXTPROC glSecondaryColor3dvEXT = NULL;
00933 PFNGLSECONDARYCOLOR3FEXTPROC glSecondaryColor3fEXT = NULL;
00934 PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT = NULL;
00935 PFNGLSECONDARYCOLOR3IEXTPROC glSecondaryColor3iEXT = NULL;
00936 PFNGLSECONDARYCOLOR3IVEXTPROC glSecondaryColor3ivEXT = NULL;
00937 PFNGLSECONDARYCOLOR3SEXTPROC glSecondaryColor3sEXT = NULL;
00938 PFNGLSECONDARYCOLOR3SVEXTPROC glSecondaryColor3svEXT = NULL;
00939 PFNGLSECONDARYCOLOR3UBEXTPROC glSecondaryColor3ubEXT = NULL;
00940 PFNGLSECONDARYCOLOR3UBVEXTPROC glSecondaryColor3ubvEXT = NULL;
00941 PFNGLSECONDARYCOLOR3UIEXTPROC glSecondaryColor3uiEXT = NULL;
00942 PFNGLSECONDARYCOLOR3UIVEXTPROC glSecondaryColor3uivEXT = NULL;
00943 PFNGLSECONDARYCOLOR3USEXTPROC glSecondaryColor3usEXT = NULL;
00944 PFNGLSECONDARYCOLOR3USVEXTPROC glSecondaryColor3usvEXT = NULL;
00945 PFNGLSECONDARYCOLORPOINTEREXTPROC glSecondaryColorPointerEXT = NULL;
00946 
00947 static GLboolean _glewInit_EXT_secondary_color ()
00948 {
00949   GLboolean r = GL_FALSE;
00950   r = r || (glSecondaryColor3bEXT = (PFNGLSECONDARYCOLOR3BEXTPROC)glewGetProcAddress("glSecondaryColor3bEXT")) == NULL;
00951   r = r || (glSecondaryColor3bvEXT = (PFNGLSECONDARYCOLOR3BVEXTPROC)glewGetProcAddress("glSecondaryColor3bvEXT")) == NULL;
00952   r = r || (glSecondaryColor3dEXT = (PFNGLSECONDARYCOLOR3DEXTPROC)glewGetProcAddress("glSecondaryColor3dEXT")) == NULL;
00953   r = r || (glSecondaryColor3dvEXT = (PFNGLSECONDARYCOLOR3DVEXTPROC)glewGetProcAddress("glSecondaryColor3dvEXT")) == NULL;
00954   r = r || (glSecondaryColor3fEXT = (PFNGLSECONDARYCOLOR3FEXTPROC)glewGetProcAddress("glSecondaryColor3fEXT")) == NULL;
00955   r = r || (glSecondaryColor3fvEXT = (PFNGLSECONDARYCOLOR3FVEXTPROC)glewGetProcAddress("glSecondaryColor3fvEXT")) == NULL;
00956   r = r || (glSecondaryColor3iEXT = (PFNGLSECONDARYCOLOR3IEXTPROC)glewGetProcAddress("glSecondaryColor3iEXT")) == NULL;
00957   r = r || (glSecondaryColor3ivEXT = (PFNGLSECONDARYCOLOR3IVEXTPROC)glewGetProcAddress("glSecondaryColor3ivEXT")) == NULL;
00958   r = r || (glSecondaryColor3sEXT = (PFNGLSECONDARYCOLOR3SEXTPROC)glewGetProcAddress("glSecondaryColor3sEXT")) == NULL;
00959   r = r || (glSecondaryColor3svEXT = (PFNGLSECONDARYCOLOR3SVEXTPROC)glewGetProcAddress("glSecondaryColor3svEXT")) == NULL;
00960   r = r || (glSecondaryColor3ubEXT = (PFNGLSECONDARYCOLOR3UBEXTPROC)glewGetProcAddress("glSecondaryColor3ubEXT")) == NULL;
00961   r = r || (glSecondaryColor3ubvEXT = (PFNGLSECONDARYCOLOR3UBVEXTPROC)glewGetProcAddress("glSecondaryColor3ubvEXT")) == NULL;
00962   r = r || (glSecondaryColor3uiEXT = (PFNGLSECONDARYCOLOR3UIEXTPROC)glewGetProcAddress("glSecondaryColor3uiEXT")) == NULL;
00963   r = r || (glSecondaryColor3uivEXT = (PFNGLSECONDARYCOLOR3UIVEXTPROC)glewGetProcAddress("glSecondaryColor3uivEXT")) == NULL;
00964   r = r || (glSecondaryColor3usEXT = (PFNGLSECONDARYCOLOR3USEXTPROC)glewGetProcAddress("glSecondaryColor3usEXT")) == NULL;
00965   r = r || (glSecondaryColor3usvEXT = (PFNGLSECONDARYCOLOR3USVEXTPROC)glewGetProcAddress("glSecondaryColor3usvEXT")) == NULL;
00966   r = r || (glSecondaryColorPointerEXT = (PFNGLSECONDARYCOLORPOINTEREXTPROC)glewGetProcAddress("glSecondaryColorPointerEXT")) == NULL;
00967   return r;
00968 }
00969 #endif /* GL_EXT_secondary_color */
00970 
00971 /* ------------------------- EXT_stencil_two_side ------------------------- */
00972 
00973 #ifdef GL_EXT_stencil_two_side
00974 PFNGLACTIVESTENCILFACEEXTPROC glActiveStencilFaceEXT = NULL;
00975 
00976 static GLboolean _glewInit_EXT_stencil_two_side ()
00977 {
00978   GLboolean r = GL_FALSE;
00979   r = r || (glActiveStencilFaceEXT = (PFNGLACTIVESTENCILFACEEXTPROC)glewGetProcAddress("glActiveStencilFaceEXT")) == NULL;
00980   return r;
00981 }
00982 #endif /* GL_EXT_stencil_two_side */
00983 
00984 /* ----------------------------- EXT_texture3D ---------------------------- */
00985 
00986 #ifdef GL_EXT_texture3D
00987 PFNGLTEXIMAGE3DEXTPROC glTexImage3DEXT = NULL;
00988 PFNGLTEXSUBIMAGE3DEXTPROC glTexSubImage3DEXT = NULL;
00989 
00990 static GLboolean _glewInit_EXT_texture3D ()
00991 {
00992   GLboolean r = GL_FALSE;
00993   r = r || (glTexImage3DEXT = (PFNGLTEXIMAGE3DEXTPROC)glewGetProcAddress("glTexImage3DEXT")) == NULL;
00994   r = r || (glTexSubImage3DEXT = (PFNGLTEXSUBIMAGE3DEXTPROC)glewGetProcAddress("glTexSubImage3DEXT")) == NULL;
00995   return r;
00996 }
00997 #endif /* GL_EXT_texture3D */
00998 
00999 /* --------------------------- EXT_vertex_shader -------------------------- */
01000 
01001 #ifdef GL_EXT_vertex_shader
01002 PFNGLBEGINVERTEXSHADEREXTPROC glBeginVertexShaderEXT = NULL;
01003 PFNGLENDVERTEXSHADEREXTPROC glEndVertexShaderEXT = NULL;
01004 PFNGLBINDVERTEXSHADEREXTPROC glBindVertexShaderEXT = NULL;
01005 PFNGLGENVERTEXSHADERSEXTPROC glGenVertexShadersEXT = NULL;
01006 PFNGLDELETEVERTEXSHADEREXTPROC glDeleteVertexShaderEXT = NULL;
01007 PFNGLSHADEROP1EXTPROC glShaderOp1EXT = NULL;
01008 PFNGLSHADEROP2EXTPROC glShaderOp2EXT = NULL;
01009 PFNGLSHADEROP3EXTPROC glShaderOp3EXT = NULL;
01010 PFNGLSWIZZLEEXTPROC glSwizzleEXT = NULL;
01011 PFNGLWRITEMASKEXTPROC glWriteMaskEXT = NULL;
01012 PFNGLINSERTCOMPONENTEXTPROC glInsertComponentEXT = NULL;
01013 PFNGLEXTRACTCOMPONENTEXTPROC glExtractComponentEXT = NULL;
01014 PFNGLGENSYMBOLSEXTPROC glGenSymbolsEXT = NULL;
01015 PFNGLSETINVARIANTEXTPROC glSetInvariantEXT = NULL;
01016 PFNGLSETLOCALCONSTANTEXTPROC glSetLocalConstantEXT = NULL;
01017 PFNGLVARIANTBVEXTPROC glVariantbvEXT = NULL;
01018 PFNGLVARIANTSVEXTPROC glVariantsvEXT = NULL;
01019 PFNGLVARIANTIVEXTPROC glVariantivEXT = NULL;
01020 PFNGLVARIANTFVEXTPROC glVariantfvEXT = NULL;
01021 PFNGLVARIANTDVEXTPROC glVariantdvEXT = NULL;
01022 PFNGLVARIANTUBVEXTPROC glVariantubvEXT = NULL;
01023 PFNGLVARIANTUSVEXTPROC glVariantusvEXT = NULL;
01024 PFNGLVARIANTUIVEXTPROC glVariantuivEXT = NULL;
01025 PFNGLVARIANTPOINTEREXTPROC glVariantPointerEXT = NULL;
01026 PFNGLENABLEVARIANTCLIENTSTATEEXTPROC glEnableVariantClientStateEXT = NULL;
01027 PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC glDisableVariantClientStateEXT = NULL;
01028 PFNGLBINDLIGHTPARAMETEREXTPROC glBindLightParameterEXT = NULL;
01029 PFNGLBINDMATERIALPARAMETEREXTPROC glBindMaterialParameterEXT = NULL;
01030 PFNGLBINDTEXGENPARAMETEREXTPROC glBindTexGenParameterEXT = NULL;
01031 PFNGLBINDTEXTUREUNITPARAMETEREXTPROC glBindTextureUnitParameterEXT = NULL;
01032 PFNGLBINDPARAMETEREXTPROC glBindParameterEXT = NULL;
01033 PFNGLISVARIANTENABLEDEXTPROC glIsVariantEnabledEXT = NULL;
01034 PFNGLGETVARIANTBOOLEANVEXTPROC glGetVariantBooleanvEXT = NULL;
01035 PFNGLGETVARIANTINTEGERVEXTPROC glGetVariantIntegervEXT = NULL;
01036 PFNGLGETVARIANTFLOATVEXTPROC glGetVariantFloatvEXT = NULL;
01037 PFNGLGETVARIANTPOINTERVEXTPROC glGetVariantPointervEXT = NULL;
01038 PFNGLGETINVARIANTBOOLEANVEXTPROC glGetInvariantBooleanvEXT = NULL;
01039 PFNGLGETINVARIANTINTEGERVEXTPROC glGetInvariantIntegervEXT = NULL;
01040 PFNGLGETINVARIANTFLOATVEXTPROC glGetInvariantFloatvEXT = NULL;
01041 PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC glGetLocalConstantBooleanvEXT = NULL;
01042 PFNGLGETLOCALCONSTANTINTEGERVEXTPROC glGetLocalConstantIntegervEXT = NULL;
01043 PFNGLGETLOCALCONSTANTFLOATVEXTPROC glGetLocalConstantFloatvEXT = NULL;
01044 
01045 static GLboolean _glewInit_EXT_vertex_shader ()
01046 {
01047   GLboolean r = GL_FALSE;
01048   r = r || (glBeginVertexShaderEXT = (PFNGLBEGINVERTEXSHADEREXTPROC)glewGetProcAddress("glBeginVertexShaderEXT")) == NULL;
01049   r = r || (glEndVertexShaderEXT = (PFNGLENDVERTEXSHADEREXTPROC)glewGetProcAddress("glEndVertexShaderEXT")) == NULL;
01050   r = r || (glBindVertexShaderEXT = (PFNGLBINDVERTEXSHADEREXTPROC)glewGetProcAddress("glBindVertexShaderEXT")) == NULL;
01051   r = r || (glGenVertexShadersEXT = (PFNGLGENVERTEXSHADERSEXTPROC)glewGetProcAddress("glGenVertexShadersEXT")) == NULL;
01052   r = r || (glDeleteVertexShaderEXT = (PFNGLDELETEVERTEXSHADEREXTPROC)glewGetProcAddress("glDeleteVertexShaderEXT")) == NULL;
01053   r = r || (glShaderOp1EXT = (PFNGLSHADEROP1EXTPROC)glewGetProcAddress("glShaderOp1EXT")) == NULL;
01054   r = r || (glShaderOp2EXT = (PFNGLSHADEROP2EXTPROC)glewGetProcAddress("glShaderOp2EXT")) == NULL;
01055   r = r || (glShaderOp3EXT = (PFNGLSHADEROP3EXTPROC)glewGetProcAddress("glShaderOp3EXT")) == NULL;
01056   r = r || (glSwizzleEXT = (PFNGLSWIZZLEEXTPROC)glewGetProcAddress("glSwizzleEXT")) == NULL;
01057   r = r || (glWriteMaskEXT = (PFNGLWRITEMASKEXTPROC)glewGetProcAddress("glWriteMaskEXT")) == NULL;
01058   r = r || (glInsertComponentEXT = (PFNGLINSERTCOMPONENTEXTPROC)glewGetProcAddress("glInsertComponentEXT")) == NULL;
01059   r = r || (glExtractComponentEXT = (PFNGLEXTRACTCOMPONENTEXTPROC)glewGetProcAddress("glExtractComponentEXT")) == NULL;
01060   r = r || (glGenSymbolsEXT = (PFNGLGENSYMBOLSEXTPROC)glewGetProcAddress("glGenSymbolsEXT")) == NULL;
01061   r = r || (glSetInvariantEXT = (PFNGLSETINVARIANTEXTPROC)glewGetProcAddress("glSetInvariantEXT")) == NULL;
01062   r = r || (glSetLocalConstantEXT = (PFNGLSETLOCALCONSTANTEXTPROC)glewGetProcAddress("glSetLocalConstantEXT")) == NULL;
01063   r = r || (glVariantbvEXT = (PFNGLVARIANTBVEXTPROC)glewGetProcAddress("glVariantbvEXT")) == NULL;
01064   r = r || (glVariantsvEXT = (PFNGLVARIANTSVEXTPROC)glewGetProcAddress("glVariantsvEXT")) == NULL;
01065   r = r || (glVariantivEXT = (PFNGLVARIANTIVEXTPROC)glewGetProcAddress("glVariantivEXT")) == NULL;
01066   r = r || (glVariantfvEXT = (PFNGLVARIANTFVEXTPROC)glewGetProcAddress("glVariantfvEXT")) == NULL;
01067   r = r || (glVariantdvEXT = (PFNGLVARIANTDVEXTPROC)glewGetProcAddress("glVariantdvEXT")) == NULL;
01068   r = r || (glVariantubvEXT = (PFNGLVARIANTUBVEXTPROC)glewGetProcAddress("glVariantubvEXT")) == NULL;
01069   r = r || (glVariantusvEXT = (PFNGLVARIANTUSVEXTPROC)glewGetProcAddress("glVariantusvEXT")) == NULL;
01070   r = r || (glVariantuivEXT = (PFNGLVARIANTUIVEXTPROC)glewGetProcAddress("glVariantuivEXT")) == NULL;
01071   r = r || (glVariantPointerEXT = (PFNGLVARIANTPOINTEREXTPROC)glewGetProcAddress("glVariantPointerEXT")) == NULL;
01072   r = r || (glEnableVariantClientStateEXT = (PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)glewGetProcAddress("glEnableVariantClientStateEXT")) == NULL;
01073   r = r || (glDisableVariantClientStateEXT = (PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)glewGetProcAddress("glDisableVariantClientStateEXT")) == NULL;
01074   r = r || (glBindLightParameterEXT = (PFNGLBINDLIGHTPARAMETEREXTPROC)glewGetProcAddress("glBindLightParameterEXT")) == NULL;
01075   r = r || (glBindMaterialParameterEXT = (PFNGLBINDMATERIALPARAMETEREXTPROC)glewGetProcAddress("glBindMaterialParameterEXT")) == NULL;
01076   r = r || (glBindTexGenParameterEXT = (PFNGLBINDTEXGENPARAMETEREXTPROC)glewGetProcAddress("glBindTexGenParameterEXT")) == NULL;
01077   r = r || (glBindTextureUnitParameterEXT = (PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)glewGetProcAddress("glBindTextureUnitParameterEXT")) == NULL;
01078   r = r || (glBindParameterEXT = (PFNGLBINDPARAMETEREXTPROC)glewGetProcAddress("glBindParameterEXT")) == NULL;
01079   r = r || (glIsVariantEnabledEXT = (PFNGLISVARIANTENABLEDEXTPROC)glewGetProcAddress("glIsVariantEnabledEXT")) == NULL;
01080   r = r || (glGetVariantBooleanvEXT = (PFNGLGETVARIANTBOOLEANVEXTPROC)glewGetProcAddress("glGetVariantBooleanvEXT")) == NULL;
01081   r = r || (glGetVariantIntegervEXT = (PFNGLGETVARIANTINTEGERVEXTPROC)glewGetProcAddress("glGetVariantIntegervEXT")) == NULL;
01082   r = r || (glGetVariantFloatvEXT = (PFNGLGETVARIANTFLOATVEXTPROC)glewGetProcAddress("glGetVariantFloatvEXT")) == NULL;
01083   r = r || (glGetVariantPointervEXT = (PFNGLGETVARIANTPOINTERVEXTPROC)glewGetProcAddress("glGetVariantPointervEXT")) == NULL;
01084   r = r || (glGetInvariantBooleanvEXT = (PFNGLGETINVARIANTBOOLEANVEXTPROC)glewGetProcAddress("glGetInvariantBooleanvEXT")) == NULL;
01085   r = r || (glGetInvariantIntegervEXT = (PFNGLGETINVARIANTINTEGERVEXTPROC)glewGetProcAddress("glGetInvariantIntegervEXT")) == NULL;
01086   r = r || (glGetInvariantFloatvEXT = (PFNGLGETINVARIANTFLOATVEXTPROC)glewGetProcAddress("glGetInvariantFloatvEXT")) == NULL;
01087   r = r || (glGetLocalConstantBooleanvEXT = (PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)glewGetProcAddress("glGetLocalConstantBooleanvEXT")) == NULL;
01088   r = r || (glGetLocalConstantIntegervEXT = (PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)glewGetProcAddress("glGetLocalConstantIntegervEXT")) == NULL;
01089   r = r || (glGetLocalConstantFloatvEXT = (PFNGLGETLOCALCONSTANTFLOATVEXTPROC)glewGetProcAddress("glGetLocalConstantFloatvEXT")) == NULL;
01090   return r;
01091 }
01092 #endif /* GL_EXT_vertex_shader */
01093 
01094 /* ------------------------- EXT_vertex_weighting ------------------------- */
01095 
01096 #ifdef GL_EXT_vertex_weighting
01097 PFNGLVERTEXWEIGHTFEXTPROC glVertexWeightfEXT = NULL;
01098 PFNGLVERTEXWEIGHTFVEXTPROC glVertexWeightfvEXT = NULL;
01099 PFNGLVERTEXWEIGHTPOINTEREXTPROC glVertexWeightPointerEXT = NULL;
01100 
01101 static GLboolean _glewInit_EXT_vertex_weighting ()
01102 {
01103   GLboolean r = GL_FALSE;
01104   r = r || (glVertexWeightfEXT = (PFNGLVERTEXWEIGHTFEXTPROC)glewGetProcAddress("glVertexWeightfEXT")) == NULL;
01105   r = r || (glVertexWeightfvEXT = (PFNGLVERTEXWEIGHTFVEXTPROC)glewGetProcAddress("glVertexWeightfvEXT")) == NULL;
01106   r = r || (glVertexWeightPointerEXT = (PFNGLVERTEXWEIGHTPOINTEREXTPROC)glewGetProcAddress("glVertexWeightPointerEXT")) == NULL;
01107   return r;
01108 }
01109 #endif /* GL_EXT_vertex_weighting */
01110 
01111 /* --------------------------- KTX_buffer_region -------------------------- */
01112 
01113 #ifdef GL_KTX_buffer_region
01114 PFNGLBUFFERREGIONENABLEDEXTPROC glBufferRegionEnabledEXT = NULL;
01115 PFNGLNEWBUFFERREGIONEXTPROC glNewBufferRegionEXT = NULL;
01116 PFNGLDELETEBUFFERREGIONEXTPROC glDeleteBufferRegionEXT = NULL;
01117 PFNGLREADBUFFERREGIONEXTPROC glReadBufferRegionEXT = NULL;
01118 PFNGLDRAWBUFFERREGIONEXTPROC glDrawBufferRegionEXT = NULL;
01119 
01120 static GLboolean _glewInit_KTX_buffer_region ()
01121 {
01122   GLboolean r = GL_FALSE;
01123   r = r || (glBufferRegionEnabledEXT = (PFNGLBUFFERREGIONENABLEDEXTPROC)glewGetProcAddress("glBufferRegionEnabledKTX")) == NULL;
01124   r = r || (glNewBufferRegionEXT = (PFNGLNEWBUFFERREGIONEXTPROC)glewGetProcAddress("glNewBufferRegionKTX")) == NULL;
01125   r = r || (glDeleteBufferRegionEXT = (PFNGLDELETEBUFFERREGIONEXTPROC)glewGetProcAddress("glDeleteBufferRegionKTX")) == NULL;
01126   r = r || (glReadBufferRegionEXT = (PFNGLREADBUFFERREGIONEXTPROC)glewGetProcAddress("glReadBufferRegionKTX")) == NULL;
01127   r = r || (glDrawBufferRegionEXT = (PFNGLDRAWBUFFERREGIONEXTPROC)glewGetProcAddress("glDrawBufferRegionKTX")) == NULL;
01128   return r;
01129 }
01130 #endif /* GL_KTX_buffer_region */
01131 
01132 /* ------------------------------ WIN_swap_hint --------------------------- */
01133 
01134 #ifdef GL_WIN_swap_hint
01135 PFNGLADDSWAPHINTRECTWINPROC glAddSwapHintRectWin = NULL;
01136 
01137 static GLboolean _glewInit_WIN_swap_hint ()
01138 {
01139   GLboolean r = GL_FALSE;
01140   r = r || (glAddSwapHintRectWin = (PFNGLADDSWAPHINTRECTWINPROC)glewGetProcAddress("glAddSwapHintRectWIN")) == NULL;
01141   return r;
01142 }
01143 #endif /* GL_WIN_swap_hint */
01144 
01145 /* ---------------------------- ATI_draw_buffers -------------------------- */
01146 
01147 #ifdef GL_ATI_draw_buffers
01148 PFNGLDRAWBUFFERSATIPROC glDrawBuffersATI = NULL;
01149 
01150 static GLboolean _glewInit_ATI_draw_buffers ()
01151 {
01152   GLboolean r = GL_FALSE;
01153   r = r || (glDrawBuffersATI = (PFNGLDRAWBUFFERSATIPROC)glewGetProcAddress("glDrawBuffersATI")) == NULL;
01154   return r;
01155 }
01156 #endif /* GL_ATI_draw_buffers */
01157 
01158 /* --------------------------- ATI_element_array -------------------------- */
01159 
01160 #ifdef GL_ATI_element_array
01161 PFNGLELEMENTPOINTERATIPROC glElementPointerATI = NULL;
01162 PFNGLDRAWELEMENTARRAYATIPROC glDrawElementArrayATI = NULL;
01163 PFNGLDRAWRANGEELEMENTARRAYATIPROC glDrawRangeElementArrayATI = NULL;
01164 
01165 static GLboolean _glewInit_ATI_element_array ()
01166 {
01167   GLboolean r = GL_FALSE;
01168   r = r || (glElementPointerATI = (PFNGLELEMENTPOINTERATIPROC)glewGetProcAddress("glElementPointerATI")) == NULL;
01169   r = r || (glDrawElementArrayATI = (PFNGLDRAWELEMENTARRAYATIPROC)glewGetProcAddress("glDrawElementArrayATI")) == NULL;
01170   r = r || (glDrawRangeElementArrayATI = (PFNGLDRAWRANGEELEMENTARRAYATIPROC)glewGetProcAddress("glDrawRangeElementArrayATI")) == NULL;
01171   return r;
01172 }
01173 #endif /* GL_ATI_element_array */
01174 
01175 /* -------------------------- ATI_envmap_bumpmap -------------------------- */
01176 
01177 #ifdef GL_ATI_envmap_bumpmap
01178 PFNGLTEXBUMPPARAMETERIVATIPROC glTexBumpParameterivATI = NULL;
01179 PFNGLTEXBUMPPARAMETERFVATIPROC glTexBumpParameterfvATI = NULL;
01180 PFNGLGETTEXBUMPPARAMETERIVATIPROC glGetTexBumpParameterivATI = NULL;
01181 PFNGLGETTEXBUMPPARAMETERFVATIPROC glGetTexBumpParameterfvATI = NULL;
01182 
01183 static GLboolean _glewInit_ATI_envmap_bumpmap ()
01184 {
01185   GLboolean r = GL_FALSE;
01186   r = r || (glTexBumpParameterivATI = (PFNGLTEXBUMPPARAMETERIVATIPROC)glewGetProcAddress("glTexBumpParameterivATI")) == NULL;
01187   r = r || (glTexBumpParameterfvATI = (PFNGLTEXBUMPPARAMETERFVATIPROC)glewGetProcAddress("glTexBumpParameterfvATI")) == NULL;
01188   r = r || (glGetTexBumpParameterivATI = (PFNGLGETTEXBUMPPARAMETERIVATIPROC)glewGetProcAddress("glGetTexBumpParameterivATI")) == NULL;
01189   r = r || (glGetTexBumpParameterfvATI = (PFNGLGETTEXBUMPPARAMETERFVATIPROC)glewGetProcAddress("glGetTexBumpParameterfvATI")) == NULL;
01190   return r;
01191 }
01192 #endif /* GL_ATI_envmap_bumpmap */
01193 
01194 /* ------------------------- ATI_fragment_shader ------------------------- */
01195 
01196 #ifdef GL_ATI_fragment_shader
01197 PFNGLGENFRAGMENTSHADERSATIPROC glGenFragmentShadersATI = NULL;
01198 PFNGLBINDFRAGMENTSHADERATIPROC glBindFragmentShaderATI = NULL;
01199 PFNGLDELETEFRAGMENTSHADERATIPROC glDeleteFragmentShaderATI = NULL;
01200 PFNGLBEGINFRAGMENTSHADERATIPROC glBeginFragmentShaderATI = NULL;
01201 PFNGLENDFRAGMENTSHADERATIPROC glEndFragmentShaderATI = NULL;
01202 PFNGLPASSTEXCOORDATIPROC glPassTexCoordATI = NULL;
01203 PFNGLSAMPLEMAPATIPROC glSampleMapATI = NULL;
01204 PFNGLCOLORFRAGMENTOP1ATIPROC glColorFragmentOp1ATI = NULL;
01205 PFNGLCOLORFRAGMENTOP2ATIPROC glColorFragmentOp2ATI = NULL;
01206 PFNGLCOLORFRAGMENTOP3ATIPROC glColorFragmentOp3ATI = NULL;
01207 PFNGLALPHAFRAGMENTOP1ATIPROC glAlphaFragmentOp1ATI = NULL;
01208 PFNGLALPHAFRAGMENTOP2ATIPROC glAlphaFragmentOp2ATI = NULL;
01209 PFNGLALPHAFRAGMENTOP3ATIPROC glAlphaFragmentOp3ATI = NULL;
01210 PFNGLSETFRAGMENTSHADERCONSTANTATIPROC glSetFragmentShaderConstantATI = NULL;
01211 
01212 static GLboolean _glewInit_ATI_fragment_shader ()
01213 {
01214   GLboolean r = GL_FALSE;
01215   r = r || (glGenFragmentShadersATI = (PFNGLGENFRAGMENTSHADERSATIPROC)glewGetProcAddress("glGenFragmentShadersATI")) == NULL;
01216   r = r || (glBindFragmentShaderATI = (PFNGLBINDFRAGMENTSHADERATIPROC)glewGetProcAddress("glBindFragmentShaderATI")) == NULL;
01217   r = r || (glDeleteFragmentShaderATI = (PFNGLDELETEFRAGMENTSHADERATIPROC)glewGetProcAddress("glDeleteFragmentShaderATI")) == NULL;
01218   r = r || (glBeginFragmentShaderATI = (PFNGLBEGINFRAGMENTSHADERATIPROC)glewGetProcAddress("glBeginFragmentShaderATI")) == NULL;
01219   r = r || (glEndFragmentShaderATI = (PFNGLENDFRAGMENTSHADERATIPROC)glewGetProcAddress("glEndFragmentShaderATI")) == NULL;
01220   r = r || (glPassTexCoordATI = (PFNGLPASSTEXCOORDATIPROC)glewGetProcAddress("glPassTexCoordATI")) == NULL;
01221   r = r || (glSampleMapATI = (PFNGLSAMPLEMAPATIPROC)glewGetProcAddress("glSampleMapATI")) == NULL;
01222   r = r || (glColorFragmentOp1ATI = (PFNGLCOLORFRAGMENTOP1ATIPROC)glewGetProcAddress("glColorFragmentOp1ATI")) == NULL;
01223   r = r || (glColorFragmentOp2ATI = (PFNGLCOLORFRAGMENTOP2ATIPROC)glewGetProcAddress("glColorFragmentOp2ATI")) == NULL;
01224   r = r || (glColorFragmentOp3ATI = (PFNGLCOLORFRAGMENTOP3ATIPROC)glewGetProcAddress("glColorFragmentOp3ATI")) == NULL;
01225   r = r || (glAlphaFragmentOp1ATI = (PFNGLALPHAFRAGMENTOP1ATIPROC)glewGetProcAddress("glAlphaFragmentOp1ATI")) == NULL;
01226   r = r || (glAlphaFragmentOp2ATI = (PFNGLALPHAFRAGMENTOP2ATIPROC)glewGetProcAddress("glAlphaFragmentOp2ATI")) == NULL;
01227   r = r || (glAlphaFragmentOp3ATI = (PFNGLALPHAFRAGMENTOP3ATIPROC)glewGetProcAddress("glAlphaFragmentOp3ATI")) == NULL;
01228   r = r || (glSetFragmentShaderConstantATI = (PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)glewGetProcAddress("glSetFragmentShaderConstantATI")) == NULL;
01229   return r;
01230 }
01231 #endif /* GL_ATI_fragment_shader */
01232 
01233 /* ------------------------- ATI_map_object_buffer ------------------------ */
01234 
01235 #ifdef GL_ATI_map_object_buffer
01236 PFNGLMAPOBJECTBUFFERATIPROC glMapObjectBufferATI = NULL;
01237 PFNGLUNMAPOBJECTBUFFERATIPROC glUnmapObjectBufferATI = NULL;
01238 
01239 static GLboolean _glewInit_ATI_map_object_buffer ()
01240 {
01241   GLboolean r = GL_FALSE;
01242   r = r || (glMapObjectBufferATI = (PFNGLMAPOBJECTBUFFERATIPROC)glewGetProcAddress("glMapObjectBufferATI")) == NULL;
01243   r = r || (glUnmapObjectBufferATI = (PFNGLUNMAPOBJECTBUFFERATIPROC)glewGetProcAddress("glUnmapObjectBufferATI")) == NULL;
01244   return r;
01245 }
01246 #endif /* GL_ATI_map_object_buffer */
01247 
01248 /* --------------------------- ATI_pn_triangles --------------------------- */
01249 
01250 #ifdef GL_ATI_pn_triangles
01251 PFNGLPNTRIANGLESIATIPROC glPNTrianglesiATI = NULL;
01252 PFNGLPNTRIANGLESFATIPROC glPNTrianglesfATI = NULL;
01253 
01254 static GLboolean _glewInit_ATI_pn_triangles ()
01255 {
01256   GLboolean r = GL_FALSE;
01257   r = r || (glPNTrianglesiATI = (PFNGLPNTRIANGLESIATIPROC)glewGetProcAddress("glPNTrianglesiATI")) == NULL;
01258   r = r || (glPNTrianglesfATI = (PFNGLPNTRIANGLESFATIPROC)glewGetProcAddress("glPNTrianglesfATI")) == NULL;
01259   return r;
01260 }
01261 #endif /* GL_ATI_pn_triangles */
01262 
01263 /* -------------------------- ATI_separate_stencil ------------------------ */
01264 
01265 #ifdef GL_ATI_separate_stencil
01266 PFNGLSTENCILOPSEPARATEATIPROC glStencilOpSeparateATI = NULL;
01267 PFNGLSTENCILFUNCSEPARATEATIPROC glStencilFuncSeparateATI = NULL;
01268 
01269 static GLboolean _glewInit_ATI_separate_stencil ()
01270 {
01271   GLboolean r = GL_FALSE;
01272   r = r || (glStencilOpSeparateATI = (PFNGLSTENCILOPSEPARATEATIPROC)glewGetProcAddress("glStencilOpSeparateATI")) == NULL;
01273   r = r || (glStencilFuncSeparateATI = (PFNGLSTENCILFUNCSEPARATEATIPROC)glewGetProcAddress("glStencilFuncSeparateATI")) == NULL;
01274   return r;
01275 }
01276 #endif /* GL_ATI_separate_stencil */
01277 
01278 /* ------------------------ ATI_vertex_array_object ----------------------- */
01279 
01280 #ifdef GL_ATI_vertex_array_object
01281 PFNGLNEWOBJECTBUFFERATIPROC glNewObjectBufferATI = NULL;
01282 PFNGLISOBJECTBUFFERATIPROC glIsObjectBufferATI = NULL;
01283 PFNGLUPDATEOBJECTBUFFERATIPROC glUpdateObjectBufferATI = NULL;
01284 PFNGLGETOBJECTBUFFERFVATIPROC glGetObjectBufferfvATI = NULL;
01285 PFNGLGETOBJECTBUFFERIVATIPROC glGetObjectBufferivATI = NULL;
01286 PFNGLFREEOBJECTBUFFERATIPROC glFreeObjectBufferATI = NULL;
01287 PFNGLARRAYOBJECTATIPROC glArrayObjectATI = NULL;
01288 PFNGLGETARRAYOBJECTFVATIPROC glGetArrayObjectfvATI = NULL;
01289 PFNGLGETARRAYOBJECTIVATIPROC glGetArrayObjectivATI = NULL;
01290 PFNGLVARIANTARRAYOBJECTATIPROC glVariantArrayObjectATI = NULL;
01291 PFNGLGETVARIANTARRAYOBJECTFVATIPROC glGetVariantArrayObjectfvATI = NULL;
01292 PFNGLGETVARIANTARRAYOBJECTIVATIPROC glGetVariantArrayObjectivATI = NULL;
01293 
01294 static GLboolean _glewInit_ATI_vertex_array_object ()
01295 {
01296   GLboolean r = GL_FALSE;
01297   r = r || (glNewObjectBufferATI = (PFNGLNEWOBJECTBUFFERATIPROC)glewGetProcAddress("glNewObjectBufferATI")) == NULL;
01298   r = r || (glIsObjectBufferATI = (PFNGLISOBJECTBUFFERATIPROC)glewGetProcAddress("glIsObjectBufferATI")) == NULL;
01299   r = r || (glUpdateObjectBufferATI = (PFNGLUPDATEOBJECTBUFFERATIPROC)glewGetProcAddress("glUpdateObjectBufferATI")) == NULL;
01300   r = r || (glGetObjectBufferfvATI = (PFNGLGETOBJECTBUFFERFVATIPROC)glewGetProcAddress("glGetObjectBufferfvATI")) == NULL;
01301   r = r || (glGetObjectBufferivATI = (PFNGLGETOBJECTBUFFERIVATIPROC)glewGetProcAddress("glGetObjectBufferivATI")) == NULL;
01302   r = r || (glFreeObjectBufferATI = (PFNGLFREEOBJECTBUFFERATIPROC)glewGetProcAddress("glFreeObjectBufferATI")) == NULL;
01303   r = r || (glArrayObjectATI = (PFNGLARRAYOBJECTATIPROC)glewGetProcAddress("glArrayObjectATI")) == NULL;
01304   r = r || (glGetArrayObjectfvATI = (PFNGLGETARRAYOBJECTFVATIPROC)glewGetProcAddress("glGetArrayObjectfvATI")) == NULL;
01305   r = r || (glGetArrayObjectivATI = (PFNGLGETARRAYOBJECTIVATIPROC)glewGetProcAddress("glGetArrayObjectivATI")) == NULL;
01306   r = r || (glVariantArrayObjectATI = (PFNGLVARIANTARRAYOBJECTATIPROC)glewGetProcAddress("glVariantArrayObjectATI")) == NULL;
01307   r = r || (glGetVariantArrayObjectfvATI = (PFNGLGETVARIANTARRAYOBJECTFVATIPROC)glewGetProcAddress("glGetVariantArrayObjectfvATI")) == NULL;
01308   r = r || (glGetVariantArrayObjectivATI = (PFNGLGETVARIANTARRAYOBJECTIVATIPROC)glewGetProcAddress("glGetVariantArrayObjectivATI")) == NULL;
01309   return r;
01310 }
01311 #endif /* GL_ATI_vertex_array_object */
01312 
01313 /* -------------------- ATI_vertex_attrib_array_object -------------------- */
01314 
01315 #ifdef GL_ATI_vertex_attrib_array_object
01316 PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glVertexAttribArrayObjectATI = NULL;
01317 PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC glGetVertexAttribArrayObjectfvATI = NULL;
01318 PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC glGetVertexAttribArrayObjectivATI = NULL;
01319 
01320 static GLboolean _glewInit_ATI_vertex_attrib_array_object ()
01321 {
01322   GLboolean r = GL_FALSE;
01323   r = r || (glVertexAttribArrayObjectATI = (PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) glewGetProcAddress("glVertexAttribArrayObjectATI")) == NULL;
01324   r = r || (glGetVertexAttribArrayObjectfvATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) glewGetProcAddress("glGetVertexAttribArrayObjectfvATI")) == NULL;
01325   r = r || (glGetVertexAttribArrayObjectivATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) glewGetProcAddress("glGetVertexAttribArrayObjectivATI")) == NULL;
01326   return r;
01327 }
01328 #endif /* GL_ATI_vertex_attrib_array_object */
01329 
01330 /* -------------------------- ATI_vertex_streams -------------------------- */
01331 
01332 #ifdef GL_ATI_vertex_streams 
01333 PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC glClientActiveVertexStreamATI = NULL;
01334 PFNGLVERTEXBLENDENVIATIPROC glVertexBlendEnviATI = NULL;
01335 PFNGLVERTEXBLENDENVFATIPROC glVertexBlendEnvfATI = NULL;
01336 PFNGLVERTEXSTREAM2SATIPROC glVertexStream2sATI = NULL;
01337 PFNGLVERTEXSTREAM2SVATIPROC glVertexStream2svATI = NULL;
01338 PFNGLVERTEXSTREAM2IATIPROC glVertexStream2iATI = NULL;
01339 PFNGLVERTEXSTREAM2IVATIPROC glVertexStream2ivATI = NULL;
01340 PFNGLVERTEXSTREAM2FATIPROC glVertexStream2fATI = NULL;
01341 PFNGLVERTEXSTREAM2FVATIPROC glVertexStream2fvATI = NULL;
01342 PFNGLVERTEXSTREAM2DATIPROC glVertexStream2dATI = NULL;
01343 PFNGLVERTEXSTREAM2DVATIPROC glVertexStream2dvATI = NULL;
01344 PFNGLVERTEXSTREAM3SATIPROC glVertexStream3sATI = NULL;
01345 PFNGLVERTEXSTREAM3SVATIPROC glVertexStream3svATI = NULL;
01346 PFNGLVERTEXSTREAM3IATIPROC glVertexStream3iATI = NULL;
01347 PFNGLVERTEXSTREAM3IVATIPROC glVertexStream3ivATI = NULL;
01348 PFNGLVERTEXSTREAM3FATIPROC glVertexStream3fATI = NULL;
01349 PFNGLVERTEXSTREAM3FVATIPROC glVertexStream3fvATI = NULL;
01350 PFNGLVERTEXSTREAM3DATIPROC glVertexStream3dATI = NULL;
01351 PFNGLVERTEXSTREAM3DVATIPROC glVertexStream3dvATI = NULL;
01352 PFNGLVERTEXSTREAM4SATIPROC glVertexStream4sATI = NULL;
01353 PFNGLVERTEXSTREAM4SVATIPROC glVertexStream4svATI = NULL;
01354 PFNGLVERTEXSTREAM4IATIPROC glVertexStream4iATI = NULL;
01355 PFNGLVERTEXSTREAM4IVATIPROC glVertexStream4ivATI = NULL;
01356 PFNGLVERTEXSTREAM4FATIPROC glVertexStream4fATI = NULL;
01357 PFNGLVERTEXSTREAM4FVATIPROC glVertexStream4fvATI = NULL;
01358 PFNGLVERTEXSTREAM4DATIPROC glVertexStream4dATI = NULL;
01359 PFNGLVERTEXSTREAM4DVATIPROC glVertexStream4dvATI = NULL;
01360 PFNGLNORMALSTREAM3BATIPROC glNormalStream3bATI = NULL;
01361 PFNGLNORMALSTREAM3BVATIPROC glNormalStream3bvATI = NULL;
01362 PFNGLNORMALSTREAM3SATIPROC glNormalStream3sATI = NULL;
01363 PFNGLNORMALSTREAM3SVATIPROC glNormalStream3svATI = NULL;
01364 PFNGLNORMALSTREAM3IATIPROC glNormalStream3iATI = NULL;
01365 PFNGLNORMALSTREAM3IVATIPROC glNormalStream3ivATI = NULL;
01366 PFNGLNORMALSTREAM3FATIPROC glNormalStream3fATI = NULL;
01367 PFNGLNORMALSTREAM3FVATIPROC glNormalStream3fvATI = NULL;
01368 PFNGLNORMALSTREAM3DATIPROC glNormalStream3dATI = NULL;
01369 PFNGLNORMALSTREAM3DVATIPROC glNormalStream3dvATI = NULL;
01370 
01371 static GLboolean _glewInit_ATI_vertex_streams ()
01372 {
01373   GLboolean r = GL_FALSE;
01374   glClientActiveVertexStreamATI = (PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)glewGetProcAddress("glClientActiveVertexStreamATI");
01375   r = r || (glVertexBlendEnviATI = (PFNGLVERTEXBLENDENVIATIPROC)glewGetProcAddress("glVertexBlendEnviATI")) == NULL;
01376   r = r || (glVertexBlendEnvfATI = (PFNGLVERTEXBLENDENVFATIPROC)glewGetProcAddress("glVertexBlendEnvfATI")) == NULL;
01377   r = r || (glVertexStream2sATI = (PFNGLVERTEXSTREAM2SATIPROC)glewGetProcAddress("glVertexStream2sATI")) == NULL;
01378   r = r || (glVertexStream2svATI = (PFNGLVERTEXSTREAM2SVATIPROC)glewGetProcAddress("glVertexStream2svATI")) == NULL;
01379   r = r || (glVertexStream2iATI = (PFNGLVERTEXSTREAM2IATIPROC)glewGetProcAddress("glVertexStream2iATI")) == NULL;
01380   r = r || (glVertexStream2ivATI = (PFNGLVERTEXSTREAM2IVATIPROC)glewGetProcAddress("glVertexStream2ivATI")) == NULL;
01381   r = r || (glVertexStream2fATI = (PFNGLVERTEXSTREAM2FATIPROC)glewGetProcAddress("glVertexStream2fATI")) == NULL;
01382   r = r || (glVertexStream2fvATI = (PFNGLVERTEXSTREAM2FVATIPROC)glewGetProcAddress("glVertexStream2fvATI")) == NULL;
01383   r = r || (glVertexStream2dATI = (PFNGLVERTEXSTREAM2DATIPROC)glewGetProcAddress("glVertexStream2dATI")) == NULL;
01384   r = r || (glVertexStream2dvATI = (PFNGLVERTEXSTREAM2DVATIPROC)glewGetProcAddress("glVertexStream2dvATI")) == NULL;
01385   r = r || (glVertexStream3sATI = (PFNGLVERTEXSTREAM3SATIPROC)glewGetProcAddress("glVertexStream3sATI")) == NULL;
01386   r = r || (glVertexStream3svATI = (PFNGLVERTEXSTREAM3SVATIPROC)glewGetProcAddress("glVertexStream3svATI")) == NULL;
01387   r = r || (glVertexStream3iATI = (PFNGLVERTEXSTREAM3IATIPROC)glewGetProcAddress("glVertexStream3iATI")) == NULL;
01388   r = r || (glVertexStream3ivATI = (PFNGLVERTEXSTREAM3IVATIPROC)glewGetProcAddress("glVertexStream3ivATI")) == NULL;
01389   r = r || (glVertexStream3fATI = (PFNGLVERTEXSTREAM3FATIPROC)glewGetProcAddress("glVertexStream3fATI")) == NULL;
01390   r = r || (glVertexStream3fvATI = (PFNGLVERTEXSTREAM3FVATIPROC)glewGetProcAddress("glVertexStream3fvATI")) == NULL;
01391   r = r || (glVertexStream3dATI = (PFNGLVERTEXSTREAM3DATIPROC)glewGetProcAddress("glVertexStream3dATI")) == NULL;
01392   r = r || (glVertexStream3dvATI = (PFNGLVERTEXSTREAM3DVATIPROC)glewGetProcAddress("glVertexStream3dvATI")) == NULL;
01393   r = r || (glVertexStream4sATI = (PFNGLVERTEXSTREAM4SATIPROC)glewGetProcAddress("glVertexStream4sATI")) == NULL;
01394   r = r || (glVertexStream4svATI = (PFNGLVERTEXSTREAM4SVATIPROC)glewGetProcAddress("glVertexStream4svATI")) == NULL;
01395   r = r || (glVertexStream4iATI = (PFNGLVERTEXSTREAM4IATIPROC)glewGetProcAddress("glVertexStream4iATI")) == NULL;
01396   r = r || (glVertexStream4ivATI = (PFNGLVERTEXSTREAM4IVATIPROC)glewGetProcAddress("glVertexStream4ivATI")) == NULL;
01397   r = r || (glVertexStream4fATI = (PFNGLVERTEXSTREAM4FATIPROC)glewGetProcAddress("glVertexStream4fATI")) == NULL;
01398   r = r || (glVertexStream4fvATI = (PFNGLVERTEXSTREAM4FVATIPROC)glewGetProcAddress("glVertexStream4fvATI")) == NULL;
01399   r = r || (glVertexStream4dATI = (PFNGLVERTEXSTREAM4DATIPROC)glewGetProcAddress("glVertexStream4dATI")) == NULL;
01400   r = r || (glVertexStream4dvATI = (PFNGLVERTEXSTREAM4DVATIPROC)glewGetProcAddress("glVertexStream4dvATI")) == NULL;
01401   r = r || (glNormalStream3bATI = (PFNGLNORMALSTREAM3BATIPROC)glewGetProcAddress("glNormalStream3bATI")) == NULL;
01402   r = r || (glNormalStream3bvATI = (PFNGLNORMALSTREAM3BVATIPROC)glewGetProcAddress("glNormalStream3bvATI")) == NULL;
01403   r = r || (glNormalStream3sATI = (PFNGLNORMALSTREAM3SATIPROC)glewGetProcAddress("glNormalStream3sATI")) == NULL;
01404   r = r || (glNormalStream3svATI = (PFNGLNORMALSTREAM3SVATIPROC)glewGetProcAddress("glNormalStream3svATI")) == NULL;
01405   r = r || (glNormalStream3iATI = (PFNGLNORMALSTREAM3IATIPROC)glewGetProcAddress("glNormalStream3iATI")) == NULL;
01406   r = r || (glNormalStream3ivATI = (PFNGLNORMALSTREAM3IVATIPROC)glewGetProcAddress("glNormalStream3ivATI")) == NULL;
01407   r = r || (glNormalStream3fATI = (PFNGLNORMALSTREAM3FATIPROC)glewGetProcAddress("glNormalStream3fATI")) == NULL;
01408   r = r || (glNormalStream3fvATI = (PFNGLNORMALSTREAM3FVATIPROC)glewGetProcAddress("glNormalStream3fvATI")) == NULL;
01409   r = r || (glNormalStream3dATI = (PFNGLNORMALSTREAM3DATIPROC)glewGetProcAddress("glNormalStream3dATI")) == NULL;
01410   r = r || (glNormalStream3dvATI = (PFNGLNORMALSTREAM3DVATIPROC)glewGetProcAddress("glNormalStream3dvATI")) == NULL;
01411   return r;
01412 }
01413 #endif /* GL_ATI_vertex_streams */
01414 
01415 /* --------------------------- NV_element_array --------------------------- */
01416 
01417 #ifdef GL_NV_element_array
01418 PFNGLELEMENTPOINTERNVPROC glElementPointerNV = NULL;
01419 PFNGLDRAWELEMENTARRAYNVPROC glDrawElementArrayNV = NULL;
01420 PFNGLDRAWRANGEELEMENTARRAYNVPROC glDrawRangeElementArrayNV = NULL;
01421 PFNGLMULTIDRAWELEMENTARRAYNVPROC glMultiDrawElementArrayNV = NULL;
01422 PFNGLMULTIDRAWRANGEELEMENTARRAYNVPROC glMultiDrawRangeElementArrayNV = NULL;
01423 
01424 static GLboolean _glewInit_NV_element_array ()
01425 {
01426   GLboolean r = GL_FALSE;
01427   r = r || (glElementPointerNV = (PFNGLELEMENTPOINTERNVPROC)glewGetProcAddress("glElementPointerNV")) == NULL;
01428   r = r || (glDrawElementArrayNV = (PFNGLDRAWELEMENTARRAYNVPROC)glewGetProcAddress("glDrawElementArrayNV")) == NULL;
01429   r = r || (glDrawRangeElementArrayNV = (PFNGLDRAWRANGEELEMENTARRAYNVPROC)glewGetProcAddress("glDrawRangeElementArrayNV")) == NULL;
01430   r = r || (glMultiDrawElementArrayNV = (PFNGLMULTIDRAWELEMENTARRAYNVPROC)glewGetProcAddress("glMultiDrawElementArrayNV")) == NULL;
01431   r = r || (glMultiDrawRangeElementArrayNV = (PFNGLMULTIDRAWRANGEELEMENTARRAYNVPROC)glewGetProcAddress("glMultiDrawRangeElementArrayNV")) == NULL;
01432   return r;
01433 }
01434 #endif /* GL_NV_element_array */
01435 
01436 /* ----------------------------- NV_evaluators ---------------------------- */
01437 
01438 #ifdef GL_NV_evaluators
01439 PFNGLMAPCONTROLPOINTSNVPROC glMapControlPointsNV = NULL;
01440 PFNGLMAPPARAMETERIVNVPROC glMapParameterivNV = NULL;
01441 PFNGLMAPPARAMETERFVNVPROC glMapParameterfvNV = NULL;
01442 PFNGLGETMAPCONTROLPOINTSNVPROC glGetMapControlPointsNV = NULL;
01443 PFNGLGETMAPPARAMETERIVNVPROC glGetMapParameterivNV = NULL;
01444 PFNGLGETMAPPARAMETERFVNVPROC glGetMapParameterfvNV = NULL;
01445 PFNGLGETMAPATTRIBPARAMETERIVNVPROC glGetMapAttribParameterivNV = NULL;
01446 PFNGLGETMAPATTRIBPARAMETERFVNVPROC glGetMapAttribParameterfvNV = NULL;
01447 PFNGLEVALMAPSNVPROC glEvalMapsNV = NULL;
01448 
01449 static GLboolean _glewInit_NV_evaluators ()
01450 {
01451   GLboolean r = GL_FALSE;
01452   r = r || (glMapControlPointsNV = (PFNGLMAPCONTROLPOINTSNVPROC)glewGetProcAddress("glMapControlPointsNV")) == NULL;
01453   r = r || (glMapParameterivNV = (PFNGLMAPPARAMETERIVNVPROC)glewGetProcAddress("glMapParameterivNV")) == NULL;
01454   r = r || (glMapParameterfvNV = (PFNGLMAPPARAMETERFVNVPROC)glewGetProcAddress("glMapParameterfvNV")) == NULL;
01455   r = r || (glGetMapControlPointsNV = (PFNGLGETMAPCONTROLPOINTSNVPROC)glewGetProcAddress("glGetMapControlPointsNV")) == NULL;
01456   r = r || (glGetMapParameterivNV = (PFNGLGETMAPPARAMETERIVNVPROC)glewGetProcAddress("glGetMapParameterivNV")) == NULL;
01457   r = r || (glGetMapParameterfvNV = (PFNGLGETMAPPARAMETERFVNVPROC)glewGetProcAddress("glGetMapParameterfvNV")) == NULL;
01458   r = r || (glGetMapAttribParameterivNV = (PFNGLGETMAPATTRIBPARAMETERIVNVPROC)glewGetProcAddress("glGetMapAttribParameterivNV")) == NULL;
01459   r = r || (glGetMapAttribParameterfvNV = (PFNGLGETMAPATTRIBPARAMETERFVNVPROC)glewGetProcAddress("glGetMapAttribParameterfvNV")) == NULL;
01460   r = r || (glEvalMapsNV = (PFNGLEVALMAPSNVPROC)glewGetProcAddress("glEvalMapsNV")) == NULL;
01461   return r;
01462 }
01463 #endif /* GL_NV_evaluators */
01464 
01465 /* -------------------------- NV_fragment_program ------------------------- */
01466 
01467 #ifdef GL_NV_fragment_program
01468 PFNGLPROGRAMNAMEDPARAMETER4FNVPROC glProgramNamedParameter4fNV = NULL;
01469 PFNGLPROGRAMNAMEDPARAMETER4DNVPROC glProgramNamedParameter4dNV = NULL;
01470 PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC glProgramNamedParameter4fvNV = NULL;
01471 PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC glProgramNamedParameter4dvNV = NULL;
01472 PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC glGetProgramNamedParameterfvNV = NULL;
01473 PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC glGetProgramNamedParameterdvNV = NULL;
01474 #ifndef GL_ARB_vertex_program
01475 PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB = NULL;
01476 PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB = NULL;
01477 PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB = NULL;
01478 PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB = NULL;
01479 PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB = NULL;
01480 PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB = NULL;
01481 #endif /* GL_ARB_vertex_program */
01482 
01483 static GLboolean _glewInit_NV_fragment_program ()
01484 {
01485   GLboolean r = GL_FALSE;
01486   r = r || (glProgramNamedParameter4fNV = (PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)glewGetProcAddress("glProgramNamedParameter4fNV")) == NULL;
01487   r = r || (glProgramNamedParameter4dNV = (PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)glewGetProcAddress("glProgramNamedParameter4dNV")) == NULL;
01488   r = r || (glProgramNamedParameter4fvNV = (PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)glewGetProcAddress("glProgramNamedParameter4fvNV")) == NULL;
01489   r = r || (glProgramNamedParameter4dvNV = (PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)glewGetProcAddress("glProgramNamedParameter4dvNV")) == NULL;
01490   r = r || (glGetProgramNamedParameterfvNV = (PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)glewGetProcAddress("glGetProgramNamedParameterfvNV")) == NULL;
01491   r = r || (glGetProgramNamedParameterdvNV = (PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)glewGetProcAddress("glGetProgramNamedParameterdvNV")) == NULL;
01492 #ifndef GL_ARB_vertex_program
01493   r = r || (glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)glewGetProcAddress("glProgramLocalParameter4dARB")) == NULL;
01494   r = r || (glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)glewGetProcAddress("glProgramLocalParameter4dvARB")) == NULL;
01495   r = r || (glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)glewGetProcAddress("glProgramLocalParameter4fARB")) == NULL;
01496   r = r || (glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)glewGetProcAddress("glProgramLocalParameter4fvARB")) == NULL;
01497   r = r || (glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)glewGetProcAddress("glGetProgramLocalParameterdvARB")) == NULL;
01498   r = r || (glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)glewGetProcAddress("glGetProgramLocalParameterfvARB")) == NULL;
01499 #endif /* GL_ARB_vertex_program */
01500   return r;
01501 }
01502 #endif /* GL_NV_fragment_program */
01503 
01504 /* ------------------------------- NV_fence ------------------------------- */
01505 
01506 #ifdef GL_NV_fence
01507 PFNGLGENFENCESNVPROC glGenFencesNV = NULL;
01508 PFNGLDELETEFENCESNVPROC glDeleteFencesNV = NULL;
01509 PFNGLSETFENCENVPROC glSetFenceNV = NULL;
01510 PFNGLTESTFENCENVPROC glTestFenceNV = NULL;
01511 PFNGLFINISHFENCENVPROC glFinishFenceNV = NULL;
01512 PFNGLISFENCENVPROC glIsFenceNV = NULL;
01513 PFNGLGETFENCEIVNVPROC glGetFenceivNV = NULL;
01514 
01515 static GLboolean _glewInit_NV_fence ()
01516 {
01517   GLboolean r = GL_FALSE;
01518   r = r || (glGenFencesNV = (PFNGLGENFENCESNVPROC)glewGetProcAddress("glGenFencesNV")) == NULL;
01519   r = r || (glDeleteFencesNV = (PFNGLDELETEFENCESNVPROC)glewGetProcAddress("glDeleteFencesNV")) == NULL;
01520   r = r || (glSetFenceNV = (PFNGLSETFENCENVPROC)glewGetProcAddress("glSetFenceNV")) == NULL;
01521   r = r || (glTestFenceNV = (PFNGLTESTFENCENVPROC)glewGetProcAddress("glTestFenceNV")) == NULL;
01522   r = r || (glFinishFenceNV = (PFNGLFINISHFENCENVPROC)glewGetProcAddress("glFinishFenceNV")) == NULL;
01523   r = r || (glIsFenceNV = (PFNGLISFENCENVPROC)glewGetProcAddress("glIsFenceNV")) == NULL;
01524   r = r || (glGetFenceivNV = (PFNGLGETFENCEIVNVPROC)glewGetProcAddress("glGetFenceivNV")) == NULL;
01525   return r;
01526 }
01527 #endif /* GL_NV_fence */
01528 
01529 /* -------------------------- NV_occlusion_query -------------------------- */
01530 
01531 #ifdef GL_NV_occlusion_query
01532 PFNGLGENOCCLUSIONQUERIESNVPROC glGenOcclusionQueriesNV = NULL;
01533 PFNGLDELETEOCCLUSIONQUERIESNVPROC glDeleteOcclusionQueriesNV = NULL;
01534 PFNGLISOCCLUSIONQUERYNVPROC glIsOcclusionQueryNV = NULL;
01535 PFNGLBEGINOCCLUSIONQUERYNVPROC glBeginOcclusionQueryNV = NULL;
01536 PFNGLENDOCCLUSIONQUERYNVPROC glEndOcclusionQueryNV = NULL;
01537 PFNGLGETOCCLUSIONQUERYIVNVPROC glGetOcclusionQueryivNV = NULL;
01538 PFNGLGETOCCLUSIONQUERYUIVNVPROC glGetOcclusionQueryuivNV = NULL;
01539 
01540 static GLboolean _glewInit_NV_occlusion_query ()
01541 {
01542   GLboolean r = GL_FALSE;
01543   r = r || (glGenOcclusionQueriesNV = (PFNGLGENOCCLUSIONQUERIESNVPROC)glewGetProcAddress("glGenOcclusionQueriesNV")) == NULL;
01544   r = r || (glDeleteOcclusionQueriesNV = (PFNGLDELETEOCCLUSIONQUERIESNVPROC)glewGetProcAddress("glDeleteOcclusionQueriesNV")) == NULL;
01545   r = r || (glIsOcclusionQueryNV = (PFNGLISOCCLUSIONQUERYNVPROC)glewGetProcAddress("glIsOcclusionQueryNV")) == NULL;
01546   r = r || (glBeginOcclusionQueryNV = (PFNGLBEGINOCCLUSIONQUERYNVPROC)glewGetProcAddress("glBeginOcclusionQueryNV")) == NULL;
01547   r = r || (glEndOcclusionQueryNV = (PFNGLENDOCCLUSIONQUERYNVPROC)glewGetProcAddress("glEndOcclusionQueryNV")) == NULL;
01548   r = r || (glGetOcclusionQueryivNV = (PFNGLGETOCCLUSIONQUERYIVNVPROC)glewGetProcAddress("glGetOcclusionQueryivNV")) == NULL;
01549   r = r || (glGetOcclusionQueryuivNV = (PFNGLGETOCCLUSIONQUERYUIVNVPROC)glewGetProcAddress("glGetOcclusionQueryuivNV")) == NULL;
01550   return r;
01551 }
01552 #endif /* GL_NV_occlusion_query */
01553 
01554 /* -------------------------- NV_pixel_data_range ------------------------- */
01555 
01556 #ifdef GL_NV_pixel_data_range
01557 PFNGLPIXELDATARANGENVPROC glPixelDataRangeNV = NULL;
01558 PFNGLFLUSHPIXELDATARANGENVPROC glFlushPixelDataRangeNV = NULL;
01559 
01560 static GLboolean _glewInit_NV_pixel_data_range ()
01561 {
01562   GLboolean r = GL_FALSE;
01563   r = r || (glPixelDataRangeNV = (PFNGLPIXELDATARANGENVPROC)glewGetProcAddress("glPixelDataRangeNV")) == NULL;
01564   r = r || (glFlushPixelDataRangeNV = (PFNGLFLUSHPIXELDATARANGENVPROC)glewGetProcAddress("glFlushPixelDataRangeNV")) == NULL;
01565   return r;
01566 }
01567 #endif /* GL_NV_pixel_data_range */
01568 
01569 /* ---------------------------- NV_point_sprite --------------------------- */
01570 
01571 #ifdef GL_NV_point_sprite
01572 PFNGLPOINTPARAMETERINVPROC glPointParameteriNV = NULL;
01573 PFNGLPOINTPARAMETERIVNVPROC glPointParameterivNV = NULL;
01574 
01575 static GLboolean _glewInit_NV_point_sprite ()
01576 {
01577   GLboolean r = GL_FALSE;
01578   r = r || (glPointParameteriNV = (PFNGLPOINTPARAMETERINVPROC)glewGetProcAddress("glPointParameteriNV")) == NULL;
01579   r = r || (glPointParameterivNV = (PFNGLPOINTPARAMETERIVNVPROC)glewGetProcAddress("glPointParameterivNV")) == NULL;
01580   return r;
01581 }
01582 #endif /* GL_NV_point_sprite */
01583 
01584 /* ------------------------- NV_primitive_restart ------------------------- */
01585 
01586 #ifdef GL_NV_primitive_restart
01587 PFNGLPRIMITIVERESTARTNVPROC glPrimitiveRestartNV = NULL;
01588 PFNGLPRIMITIVERESTARTINDEXNVPROC glPrimitiveRestartIndexNV = NULL;
01589 
01590 static GLboolean _glewInit_NV_primitive_restart ()
01591 {
01592   GLboolean r = GL_FALSE;
01593   r = r || (glPrimitiveRestartNV = (PFNGLPRIMITIVERESTARTNVPROC)glewGetProcAddress("glPrimitiveRestartNV")) == NULL;
01594   r = r || (glPrimitiveRestartIndexNV = (PFNGLPRIMITIVERESTARTINDEXNVPROC)glewGetProcAddress("glPrimitiveRestartIndexNV")) == NULL;
01595   return r;
01596 }
01597 #endif /* GL_NV_primitive_restart */
01598 
01599 /* ------------------------- NV_register_combiners ------------------------ */
01600 
01601 #ifdef GL_NV_register_combiners
01602 PFNGLCOMBINERPARAMETERFVNVPROC glCombinerParameterfvNV = NULL;
01603 PFNGLCOMBINERPARAMETERFNVPROC  glCombinerParameterfNV = NULL;
01604 PFNGLCOMBINERPARAMETERIVNVPROC glCombinerParameterivNV = NULL;
01605 PFNGLCOMBINERPARAMETERINVPROC glCombinerParameteriNV = NULL;
01606 PFNGLCOMBINERINPUTNVPROC glCombinerInputNV = NULL;
01607 PFNGLCOMBINEROUTPUTNVPROC glCombinerOutputNV = NULL;
01608 PFNGLFINALCOMBINERINPUTNVPROC glFinalCombinerInputNV = NULL;
01609 PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC glGetCombinerInputParameterfvNV = NULL;
01610 PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC glGetCombinerInputParameterivNV = NULL;
01611 PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC glGetCombinerOutputParameterfvNV = NULL;
01612 PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glGetCombinerOutputParameterivNV = NULL;
01613 PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfvNV = NULL;
01614 PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameterivNV = NULL;
01615 
01616 static GLboolean _glewInit_NV_register_combiners ()
01617 {
01618   GLboolean r = GL_FALSE;
01619   r = r || (glCombinerParameterfvNV = (PFNGLCOMBINERPARAMETERFVNVPROC)glewGetProcAddress("glCombinerParameterfvNV")) == NULL;
01620   r = r || (glCombinerParameterfNV = (PFNGLCOMBINERPARAMETERFNVPROC)glewGetProcAddress("glCombinerParameterfNV")) == NULL;
01621   r = r || (glCombinerParameterivNV = (PFNGLCOMBINERPARAMETERIVNVPROC)glewGetProcAddress("glCombinerParameterivNV")) == NULL;
01622   r = r || (glCombinerParameteriNV = (PFNGLCOMBINERPARAMETERINVPROC)glewGetProcAddress("glCombinerParameteriNV")) == NULL;
01623   r = r || (glCombinerInputNV = (PFNGLCOMBINERINPUTNVPROC)glewGetProcAddress("glCombinerInputNV")) == NULL;
01624   r = r || (glCombinerOutputNV = (PFNGLCOMBINEROUTPUTNVPROC)glewGetProcAddress("glCombinerOutputNV")) == NULL;
01625   r = r || (glFinalCombinerInputNV = (PFNGLFINALCOMBINERINPUTNVPROC)glewGetProcAddress("glFinalCombinerInputNV")) == NULL;
01626   r = r || (glGetCombinerInputParameterfvNV = (PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)glewGetProcAddress("glGetCombinerInputParameterfvNV")) == NULL;
01627   r = r || (glGetCombinerInputParameterivNV = (PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)glewGetProcAddress("glGetCombinerInputParameterivNV")) == NULL;
01628   r = r || (glGetCombinerOutputParameterfvNV = (PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)glewGetProcAddress("glGetCombinerOutputParameterfvNV")) == NULL;
01629   r = r || (glGetCombinerOutputParameterivNV = (PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)glewGetProcAddress("glGetCombinerOutputParameterivNV")) == NULL;
01630   r = r || (glGetFinalCombinerInputParameterfvNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)glewGetProcAddress("glGetFinalCombinerInputParameterfvNV")) == NULL;
01631   r = r || (glGetFinalCombinerInputParameterivNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)glewGetProcAddress("glGetFinalCombinerInputParameterivNV")) == NULL;
01632   return r;
01633 }
01634 #endif /* GL_NV_register_combiners */
01635 
01636 /* ------------------------ NV_register_combiners2 ------------------------ */
01637 
01638 #ifdef GL_NV_register_combiners2
01639 PFNGLCOMBINERSTAGEPARAMETERFVNVPROC glCombinerStageParameterfvNV = NULL;
01640 PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC glGetCombinerStageParameterfvNV = NULL;
01641 
01642 static GLboolean _glewInit_NV_register_combiners2 ()
01643 {
01644   GLboolean r = GL_FALSE;
01645   r = r || (glCombinerStageParameterfvNV = (PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)glewGetProcAddress("glCombinerStageParameterfvNV")) == NULL;
01646   r = r || (glGetCombinerStageParameterfvNV = (PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)glewGetProcAddress("glGetCombinerStageParameterfvNV")) == NULL;
01647   return r;
01648 }
01649 #endif /* GL_NV_register_combiners2 */
01650 
01651 /* ------------------------- NV_vertex_array_range ------------------------ */
01652 
01653 #ifdef GL_NV_vertex_array_range
01654 PFNGLFLUSHVERTEXARRAYRANGENVPROC glFlushVertexArrayRangeNV = NULL;
01655 PFNGLVERTEXARRAYRANGENVPROC glVertexArrayRangeNV = NULL;
01656 
01657 static GLboolean _glewInit_NV_vertex_array_range ()
01658 {
01659   GLboolean r = GL_FALSE;
01660   r = r || (glFlushVertexArrayRangeNV = (PFNGLFLUSHVERTEXARRAYRANGENVPROC)glewGetProcAddress("glFlushVertexArrayRangeNV")) == NULL;
01661   r = r || (glVertexArrayRangeNV = (PFNGLVERTEXARRAYRANGENVPROC)glewGetProcAddress("glVertexArrayRangeNV")) == NULL;
01662   return r;
01663 }
01664 #endif /* GL_NV_vertex_array_range */
01665 
01666 /* --------------------------- NV_vertex_program -------------------------- */
01667 
01668 #ifdef GL_NV_vertex_program
01669 PFNGLBINDPROGRAMNVPROC glBindProgramNV = NULL;
01670 PFNGLDELETEPROGRAMSNVPROC glDeleteProgramsNV = NULL;
01671 PFNGLEXECUTEPROGRAMNVPROC glExecuteProgramNV = NULL;
01672 PFNGLGENPROGRAMSNVPROC glGenProgramsNV = NULL;
01673 PFNGLAREPROGRAMSRESIDENTNVPROC glAreProgramsResidentNV = NULL;
01674 PFNGLREQUESTRESIDENTPROGRAMSNVPROC glRequestResidentProgramsNV = NULL;
01675 PFNGLGETPROGRAMPARAMETERFVNVPROC glGetProgramParameterfvNV = NULL;
01676 PFNGLGETPROGRAMPARAMETERDVNVPROC glGetProgramParameterdvNV = NULL;
01677 PFNGLGETPROGRAMIVNVPROC glGetProgramivNV = NULL;
01678 PFNGLGETPROGRAMSTRINGNVPROC glGetProgramStringNV = NULL;
01679 PFNGLGETTRACKMATRIXIVNVPROC glGetTrackMatrixivNV = NULL;
01680 PFNGLGETVERTEXATTRIBDVNVPROC glGetVertexAttribdvNV = NULL;
01681 PFNGLGETVERTEXATTRIBFVNVPROC glGetVertexAttribfvNV = NULL;
01682 PFNGLGETVERTEXATTRIBIVNVPROC glGetVertexAttribivNV = NULL;
01683 PFNGLGETVERTEXATTRIBPOINTERVNVPROC glGetVertexAttribPointervNV = NULL;
01684 PFNGLISPROGRAMNVPROC glIsProgramNV = NULL;
01685 PFNGLLOADPROGRAMNVPROC glLoadProgramNV = NULL;
01686 PFNGLPROGRAMPARAMETER4FNVPROC glProgramParameter4fNV = NULL;
01687 PFNGLPROGRAMPARAMETER4DNVPROC glProgramParameter4dNV = NULL;
01688 PFNGLPROGRAMPARAMETER4DVNVPROC glProgramParameter4dvNV = NULL;
01689 PFNGLPROGRAMPARAMETER4FVNVPROC glProgramParameter4fvNV = NULL;
01690 PFNGLPROGRAMPARAMETERS4DVNVPROC glProgramParameters4dvNV = NULL;
01691 PFNGLPROGRAMPARAMETERS4FVNVPROC glProgramParameters4fvNV = NULL;
01692 PFNGLTRACKMATRIXNVPROC glTrackMatrixNV = NULL;
01693 PFNGLVERTEXATTRIBPOINTERNVPROC glVertexAttribPointerNV = NULL;
01694 PFNGLVERTEXATTRIB1SNVPROC glVertexAttrib1sNV = NULL;
01695 PFNGLVERTEXATTRIB1FNVPROC glVertexAttrib1fNV = NULL;
01696 PFNGLVERTEXATTRIB1DNVPROC glVertexAttrib1dNV = NULL;
01697 PFNGLVERTEXATTRIB2SNVPROC glVertexAttrib2sNV = NULL;
01698 PFNGLVERTEXATTRIB2FNVPROC glVertexAttrib2fNV = NULL;
01699 PFNGLVERTEXATTRIB2DNVPROC glVertexAttrib2dNV = NULL;
01700 PFNGLVERTEXATTRIB3SNVPROC glVertexAttrib3sNV = NULL;
01701 PFNGLVERTEXATTRIB3FNVPROC glVertexAttrib3fNV = NULL;
01702 PFNGLVERTEXATTRIB3DNVPROC glVertexAttrib3dNV = NULL;
01703 PFNGLVERTEXATTRIB4SNVPROC glVertexAttrib4sNV = NULL;
01704 PFNGLVERTEXATTRIB4FNVPROC glVertexAttrib4fNV = NULL;
01705 PFNGLVERTEXATTRIB4DNVPROC glVertexAttrib4dNV = NULL;
01706 PFNGLVERTEXATTRIB4UBNVPROC glVertexAttrib4ubNV = NULL;
01707 PFNGLVERTEXATTRIB1SVNVPROC glVertexAttrib1svNV = NULL;
01708 PFNGLVERTEXATTRIB1FVNVPROC glVertexAttrib1fvNV = NULL;
01709 PFNGLVERTEXATTRIB1DVNVPROC glVertexAttrib1dvNV = NULL;
01710 PFNGLVERTEXATTRIB2SVNVPROC glVertexAttrib2svNV = NULL;
01711 PFNGLVERTEXATTRIB2FVNVPROC glVertexAttrib2fvNV = NULL;
01712 PFNGLVERTEXATTRIB2DVNVPROC glVertexAttrib2dvNV = NULL;
01713 PFNGLVERTEXATTRIB3SVNVPROC glVertexAttrib3svNV = NULL;
01714 PFNGLVERTEXATTRIB3FVNVPROC glVertexAttrib3fvNV = NULL;
01715 PFNGLVERTEXATTRIB3DVNVPROC glVertexAttrib3dvNV = NULL;
01716 PFNGLVERTEXATTRIB4SVNVPROC glVertexAttrib4svNV = NULL;
01717 PFNGLVERTEXATTRIB4FVNVPROC glVertexAttrib4fvNV = NULL;
01718 PFNGLVERTEXATTRIB4DVNVPROC glVertexAttrib4dvNV = NULL;
01719 PFNGLVERTEXATTRIB4UBVNVPROC glVertexAttrib4ubvNV = NULL;
01720 PFNGLVERTEXATTRIBS1SVNVPROC glVertexAttribs1svNV = NULL;
01721 PFNGLVERTEXATTRIBS1FVNVPROC glVertexAttribs1fvNV = NULL;
01722 PFNGLVERTEXATTRIBS1DVNVPROC glVertexAttribs1dvNV = NULL;
01723 PFNGLVERTEXATTRIBS2SVNVPROC glVertexAttribs2svNV = NULL;
01724 PFNGLVERTEXATTRIBS2FVNVPROC glVertexAttribs2fvNV = NULL;
01725 PFNGLVERTEXATTRIBS2DVNVPROC glVertexAttribs2dvNV = NULL;
01726 PFNGLVERTEXATTRIBS3SVNVPROC glVertexAttribs3svNV = NULL;
01727 PFNGLVERTEXATTRIBS3FVNVPROC glVertexAttribs3fvNV = NULL;
01728 PFNGLVERTEXATTRIBS3DVNVPROC glVertexAttribs3dvNV = NULL;
01729 PFNGLVERTEXATTRIBS4SVNVPROC glVertexAttribs4svNV = NULL;
01730 PFNGLVERTEXATTRIBS4FVNVPROC glVertexAttribs4fvNV = NULL;
01731 PFNGLVERTEXATTRIBS4DVNVPROC glVertexAttribs4dvNV = NULL;
01732 PFNGLVERTEXATTRIBS4UBVNVPROC glVertexAttribs4ubvNV = NULL;
01733 
01734 static GLboolean _glewInit_NV_vertex_program ()
01735 {
01736   GLboolean r = GL_FALSE;
01737   r = r || (glBindProgramNV = (PFNGLBINDPROGRAMNVPROC)glewGetProcAddress("glBindProgramNV")) == NULL;
01738   r = r || (glDeleteProgramsNV = (PFNGLDELETEPROGRAMSNVPROC)glewGetProcAddress("glDeleteProgramsNV")) == NULL;
01739   r = r || (glExecuteProgramNV = (PFNGLEXECUTEPROGRAMNVPROC)glewGetProcAddress("glExecuteProgramNV")) == NULL;
01740   r = r || (glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC)glewGetProcAddress("glGenProgramsNV")) == NULL;
01741   r = r || (glAreProgramsResidentNV = (PFNGLAREPROGRAMSRESIDENTNVPROC)glewGetProcAddress("glAreProgramsResidentNV")) == NULL;
01742   r = r || (glRequestResidentProgramsNV = (PFNGLREQUESTRESIDENTPROGRAMSNVPROC)glewGetProcAddress("glRequestResidentProgramsNV")) == NULL;
01743   r = r || (glGetProgramParameterfvNV = (PFNGLGETPROGRAMPARAMETERFVNVPROC)glewGetProcAddress("glGetProgramParameterfvNV")) == NULL;
01744   r = r || (glGetProgramParameterdvNV = (PFNGLGETPROGRAMPARAMETERDVNVPROC)glewGetProcAddress("glGetProgramParameterdvNV")) == NULL;
01745   r = r || (glGetProgramivNV = (PFNGLGETPROGRAMIVNVPROC)glewGetProcAddress("glGetProgramivNV")) == NULL;
01746   r = r || (glGetProgramStringNV = (PFNGLGETPROGRAMSTRINGNVPROC)glewGetProcAddress("glGetProgramStringNV")) == NULL;
01747   r = r || (glGetTrackMatrixivNV = (PFNGLGETTRACKMATRIXIVNVPROC)glewGetProcAddress("glGetTrackMatrixivNV")) == NULL;
01748   r = r || (glGetVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC)glewGetProcAddress("glGetVertexAttribdvNV")) == NULL;
01749   r = r || (glGetVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC)glewGetProcAddress("glGetVertexAttribfvNV")) == NULL;
01750   r = r || (glGetVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC)glewGetProcAddress("glGetVertexAttribivNV")) == NULL;
01751   r = r || (glGetVertexAttribPointervNV = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)glewGetProcAddress("glGetVertexAttribPointervNV")) == NULL;
01752   r = r || (glIsProgramNV = (PFNGLISPROGRAMNVPROC)glewGetProcAddress("glIsProgramNV")) == NULL;
01753   r = r || (glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC)glewGetProcAddress("glLoadProgramNV")) == NULL;
01754   r = r || (glProgramParameter4fNV = (PFNGLPROGRAMPARAMETER4FNVPROC)glewGetProcAddress("glProgramParameter4fNV")) == NULL;
01755   r = r || (glProgramParameter4dNV = (PFNGLPROGRAMPARAMETER4DNVPROC)glewGetProcAddress("glProgramParameter4dNV")) == NULL;
01756   r = r || (glProgramParameter4dvNV = (PFNGLPROGRAMPARAMETER4DVNVPROC)glewGetProcAddress("glProgramParameter4dvNV")) == NULL;
01757   r = r || (glProgramParameter4fvNV = (PFNGLPROGRAMPARAMETER4FVNVPROC)glewGetProcAddress("glProgramParameter4fvNV")) == NULL;
01758   r = r || (glProgramParameters4dvNV = (PFNGLPROGRAMPARAMETERS4DVNVPROC)glewGetProcAddress("glProgramParameters4dvNV")) == NULL;
01759   r = r || (glProgramParameters4fvNV = (PFNGLPROGRAMPARAMETERS4FVNVPROC)glewGetProcAddress("glProgramParameters4fvNV")) == NULL;
01760   r = r || (glTrackMatrixNV = (PFNGLTRACKMATRIXNVPROC)glewGetProcAddress("glTrackMatrixNV")) == NULL;
01761   r = r || (glVertexAttribPointerNV = (PFNGLVERTEXATTRIBPOINTERNVPROC)glewGetProcAddress("glVertexAttribPointerNV")) == NULL;
01762   r = r || (glVertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC)glewGetProcAddress("glVertexAttrib1sNV")) == NULL;
01763   r = r || (glVertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC)glewGetProcAddress("glVertexAttrib1fNV")) == NULL;
01764   r = r || (glVertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC)glewGetProcAddress("glVertexAttrib1dNV")) == NULL;
01765   r = r || (glVertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC)glewGetProcAddress("glVertexAttrib2sNV")) == NULL;
01766   r = r || (glVertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC)glewGetProcAddress("glVertexAttrib2fNV")) == NULL;
01767   r = r || (glVertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC)glewGetProcAddress("glVertexAttrib2dNV")) == NULL;
01768   r = r || (glVertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC)glewGetProcAddress("glVertexAttrib3sNV")) == NULL;
01769   r = r || (glVertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC)glewGetProcAddress("glVertexAttrib3fNV")) == NULL;
01770   r = r || (glVertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC)glewGetProcAddress("glVertexAttrib3dNV")) == NULL;
01771   r = r || (glVertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC)glewGetProcAddress("glVertexAttrib4sNV")) == NULL;
01772   r = r || (glVertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC)glewGetProcAddress("glVertexAttrib4fNV")) == NULL;
01773   r = r || (glVertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC)glewGetProcAddress("glVertexAttrib4dNV")) == NULL;
01774   r = r || (glVertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC)glewGetProcAddress("glVertexAttrib4ubNV")) == NULL;
01775   r = r || (glVertexAttrib1svNV = (PFNGLVERTEXATTRIB1SVNVPROC)glewGetProcAddress("glVertexAttrib1svNV")) == NULL;
01776   r = r || (glVertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC)glewGetProcAddress("glVertexAttrib1fvNV")) == NULL;
01777   r = r || (glVertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC)glewGetProcAddress("glVertexAttrib1dvNV")) == NULL;
01778   r = r || (glVertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC)glewGetProcAddress("glVertexAttrib2svNV")) == NULL;
01779   r = r || (glVertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC)glewGetProcAddress("glVertexAttrib2fvNV")) == NULL;
01780   r = r || (glVertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC)glewGetProcAddress("glVertexAttrib2dvNV")) == NULL;
01781   r = r || (glVertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC)glewGetProcAddress("glVertexAttrib3svNV")) == NULL;
01782   r = r || (glVertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC)glewGetProcAddress("glVertexAttrib3fvNV")) == NULL;
01783   r = r || (glVertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC)glewGetProcAddress("glVertexAttrib3dvNV")) == NULL;
01784   r = r || (glVertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC)glewGetProcAddress("glVertexAttrib4svNV")) == NULL;
01785   r = r || (glVertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC)glewGetProcAddress("glVertexAttrib4fvNV")) == NULL;
01786   r = r || (glVertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC)glewGetProcAddress("glVertexAttrib4dvNV")) == NULL;
01787   r = r || (glVertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC)glewGetProcAddress("glVertexAttrib4ubvNV")) == NULL;
01788   r = r || (glVertexAttribs1svNV = (PFNGLVERTEXATTRIBS1SVNVPROC)glewGetProcAddress("glVertexAttribs1svNV")) == NULL;
01789   r = r || (glVertexAttribs1fvNV = (PFNGLVERTEXATTRIBS1FVNVPROC)glewGetProcAddress("glVertexAttribs1fvNV")) == NULL;
01790   r = r || (glVertexAttribs1dvNV = (PFNGLVERTEXATTRIBS1DVNVPROC)glewGetProcAddress("glVertexAttribs1dvNV")) == NULL;
01791   r = r || (glVertexAttribs2svNV = (PFNGLVERTEXATTRIBS2SVNVPROC)glewGetProcAddress("glVertexAttribs2svNV")) == NULL;
01792   r = r || (glVertexAttribs2fvNV = (PFNGLVERTEXATTRIBS2FVNVPROC)glewGetProcAddress("glVertexAttribs2fvNV")) == NULL;
01793   r = r || (glVertexAttribs2dvNV = (PFNGLVERTEXATTRIBS2DVNVPROC)glewGetProcAddress("glVertexAttribs2dvNV")) == NULL;
01794   r = r || (glVertexAttribs3svNV = (PFNGLVERTEXATTRIBS3SVNVPROC)glewGetProcAddress("glVertexAttribs3svNV")) == NULL;
01795   r = r || (glVertexAttribs3fvNV = (PFNGLVERTEXATTRIBS3FVNVPROC)glewGetProcAddress("glVertexAttribs3fvNV")) == NULL;
01796   r = r || (glVertexAttribs3dvNV = (PFNGLVERTEXATTRIBS3DVNVPROC)glewGetProcAddress("glVertexAttribs3dvNV")) == NULL;
01797   r = r || (glVertexAttribs4svNV = (PFNGLVERTEXATTRIBS4SVNVPROC)glewGetProcAddress("glVertexAttribs4svNV")) == NULL;
01798   r = r || (glVertexAttribs4fvNV = (PFNGLVERTEXATTRIBS4FVNVPROC)glewGetProcAddress("glVertexAttribs4fvNV")) == NULL;
01799   r = r || (glVertexAttribs4dvNV = (PFNGLVERTEXATTRIBS4DVNVPROC)glewGetProcAddress("glVertexAttribs4dvNV")) == NULL;
01800   r = r || (glVertexAttribs4ubvNV = (PFNGLVERTEXATTRIBS4UBVNVPROC)glewGetProcAddress("glVertexAttribs4ubvNV")) == NULL;
01801   return r;
01802 }
01803 #endif /* GL_NV_vertex_program */
01804 
01805 #ifdef _WIN32
01806 
01807 /* ---------------------------- ARB_buffer_region ------------------------- */
01808 
01809 #ifdef WGL_ARB_buffer_region
01810 PFNWGLCREATEBUFFERREGIONARBPROC wglCreateBufferRegionARB = NULL;
01811 PFNWGLDELETEBUFFERREGIONARBPROC wglDeleteBufferRegionARB = NULL;
01812 PFNWGLSAVEBUFFERREGIONARBPROC wglSaveBufferRegionARB = NULL;
01813 PFNWGLRESTOREBUFFERREGIONARBPROC wglRestoreBufferRegionARB = NULL;
01814 
01815 static GLboolean _wglewInit_ARB_buffer_region ()
01816 {
01817   GLboolean r = GL_FALSE;
01818   r = r || (wglCreateBufferRegionARB = (PFNWGLCREATEBUFFERREGIONARBPROC)glewGetProcAddress("wglCreateBufferRegionARB")) == NULL;
01819   r = r || (wglDeleteBufferRegionARB = (PFNWGLDELETEBUFFERREGIONARBPROC)glewGetProcAddress("wglDeleteBufferRegionARB")) == NULL;
01820   r = r || (wglSaveBufferRegionARB = (PFNWGLSAVEBUFFERREGIONARBPROC)glewGetProcAddress("wglSaveBufferRegionARB")) == NULL;
01821   r = r || (wglRestoreBufferRegionARB = (PFNWGLRESTOREBUFFERREGIONARBPROC)glewGetProcAddress("wglRestoreBufferRegionARB")) == NULL;
01822   return r;
01823 }
01824 #endif /* WGL_ARB_buffer_region */
01825 
01826 /* -------------------------- ARB_extensions_string ----------------------- */
01827 
01828 #ifdef WGL_ARB_extensions_string
01829 PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB = NULL;
01830 
01831 static GLboolean _wglewInit_ARB_extensions_string ()
01832 {
01833   GLboolean r = GL_FALSE;
01834   r = r || (wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress("wglGetExtensionsStringARB")) == NULL;
01835   return r;
01836 }
01837 #endif /* WGL_ARB_extensions_string */
01838 
01839 /* -------------------------- ARB_make_current_read ----------------------- */
01840 
01841 #ifdef WGL_ARB_make_current_read
01842 PFNWGLMAKECONTEXTCURRENTARBPROC wglMakeContextCurrentARB = NULL;
01843 PFNWGLGETCURRENTREADDCARBPROC wglGetCurrentReadDCARB = NULL;
01844 
01845 static GLboolean _wglewInit_ARB_make_current_read ()
01846 {
01847   GLboolean r = GL_FALSE;
01848   r = r || (wglMakeContextCurrentARB = (PFNWGLMAKECONTEXTCURRENTARBPROC)glewGetProcAddress("wglMakeContextCurrentARB")) == NULL;
01849   r = r || (wglGetCurrentReadDCARB = (PFNWGLGETCURRENTREADDCARBPROC)glewGetProcAddress("wglGetCurrentReadDCARB")) == NULL;
01850   return r;
01851 }
01852 #endif /* WGL_ARB_make_current_read */
01853 
01854 /* ------------------------------ ARB_pbuffer ----------------------------- */
01855 
01856 #ifdef WGL_ARB_pbuffer
01857 PFNWGLCREATEPBUFFERARBPROC wglCreatePbufferARB = NULL;
01858 PFNWGLGETPBUFFERDCARBPROC wglGetPbufferDCARB = NULL;
01859 PFNWGLRELEASEPBUFFERDCARBPROC wglReleasePbufferDCARB = NULL;
01860 PFNWGLDESTROYPBUFFERARBPROC wglDestroyPbufferARB = NULL;
01861 PFNWGLQUERYPBUFFERARBPROC wglQueryPbufferARB = NULL;
01862 
01863 static GLboolean _wglewInit_ARB_pbuffer ()
01864 {
01865   GLboolean r = GL_FALSE;
01866   r = r || (wglCreatePbufferARB = (PFNWGLCREATEPBUFFERARBPROC)glewGetProcAddress("wglCreatePbufferARB")) == NULL;
01867   r = r || (wglGetPbufferDCARB = (PFNWGLGETPBUFFERDCARBPROC)glewGetProcAddress("wglGetPbufferDCARB")) == NULL;
01868   r = r || (wglReleasePbufferDCARB = (PFNWGLRELEASEPBUFFERDCARBPROC)glewGetProcAddress("wglReleasePbufferDCARB")) == NULL;
01869   r = r || (wglDestroyPbufferARB = (PFNWGLDESTROYPBUFFERARBPROC)glewGetProcAddress("wglDestroyPbufferARB")) == NULL;
01870   r = r || (wglQueryPbufferARB = (PFNWGLQUERYPBUFFERARBPROC)glewGetProcAddress("wglQueryPbufferARB")) == NULL;
01871   return r;
01872 }
01873 #endif /* WGL_ARB_pbuffer */
01874 
01875 /* --------------------------- ARB_pixel_format --------------------------- */
01876 
01877 #ifdef WGL_ARB_pixel_format
01878 PFNWGLGETPIXELFORMATATTRIBIVARBPROC wglGetPixelFormatAttribivARB = NULL;
01879 PFNWGLGETPIXELFORMATATTRIBFVARBPROC wglGetPixelFormatAttribfvARB = NULL;
01880 PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB = NULL;
01881 
01882 static GLboolean _wglewInit_ARB_pixel_format ()
01883 {
01884   GLboolean r = GL_FALSE;
01885   r = r || (wglGetPixelFormatAttribivARB = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)glewGetProcAddress("wglGetPixelFormatAttribivARB")) == NULL;
01886   r = r || (wglGetPixelFormatAttribfvARB = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)glewGetProcAddress("wglGetPixelFormatAttribfvARB")) == NULL;
01887   r = r || (wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)glewGetProcAddress("wglChoosePixelFormatARB")) == NULL;
01888   return r;
01889 }
01890 #endif /* WGL_ARB_pixel_format */
01891 
01892 /* -------------------------- ARB_render_texture -------------------------- */
01893 
01894 #ifdef WGL_ARB_render_texture
01895 PFNWGLBINDTEXIMAGEARBPROC wglBindTexImageARB = NULL;
01896 PFNWGLRELEASETEXIMAGEARBPROC wglReleaseTexImageARB = NULL;
01897 PFNWGLSETPBUFFERATTRIBARBPROC wglSetPbufferAttribARB = NULL;
01898 
01899 static GLboolean _wglewInit_ARB_render_texture ()
01900 {
01901   GLboolean r = GL_FALSE;
01902   r = r || (wglBindTexImageARB = (PFNWGLBINDTEXIMAGEARBPROC)glewGetProcAddress("wglBindTexImageARB")) == NULL;
01903   r = r || (wglReleaseTexImageARB = (PFNWGLRELEASETEXIMAGEARBPROC)glewGetProcAddress("wglReleaseTexImageARB")) == NULL;
01904   r = r || (wglSetPbufferAttribARB = (PFNWGLSETPBUFFERATTRIBARBPROC)glewGetProcAddress("wglSetPbufferAttribARB")) == NULL;
01905   return r;
01906 }
01907 #endif /* WGL_ARB_render_texture */
01908 
01909 /* ------------------------- EXT_display_color_table ---------------------- */
01910 
01911 #ifdef WGL_EXT_display_color_table
01912 
01913 PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC wglCreateDisplayColorTableEXT = NULL;
01914 PFNWGLLOADDISPLAYCOLORTABLEEXTPROC wglLoadDisplayColorTableEXT = NULL;
01915 PFNWGLBINDDISPLAYCOLORTABLEEXTPROC wglBindDisplayColorTableEXT = NULL;
01916 PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC wglDestroyDisplayColorTableEXT = NULL;
01917 
01918 static GLboolean _wglewInit_EXT_display_color_table ()
01919 {
01920   GLboolean r = GL_FALSE;
01921   r = r || (wglCreateDisplayColorTableEXT = (PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress("wglCreateDisplayColorTableEXT")) == NULL;
01922   r = r || (wglLoadDisplayColorTableEXT = (PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress("wglLoadDisplayColorTableEXT")) == NULL;
01923   r = r || (wglBindDisplayColorTableEXT = (PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress("wglBindDisplayColorTableEXT")) == NULL;
01924   r = r || (wglDestroyDisplayColorTableEXT = (PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress("wglDestroyDisplayColorTableEXT")) == NULL;
01925   return r;
01926 }
01927 #endif /* WGL_EXT_display_color_table */
01928 
01929 /* -------------------------- EXT_make_current_read ----------------------- */
01930 
01931 #ifdef WGL_EXT_make_current_read
01932 
01933 PFNWGLMAKECONTEXTCURRENTEXTPROC wglMakeContextCurrentEXT = NULL;
01934 PFNWGLGETCURRENTREADDCEXTPROC wglGetCurrentReadDCEXT = NULL;
01935 
01936 static GLboolean _wglewInit_EXT_make_current_read ()
01937 {
01938   GLboolean r = GL_FALSE;
01939   r = r || (wglMakeContextCurrentEXT = (PFNWGLMAKECONTEXTCURRENTEXTPROC)glewGetProcAddress("wglMakeContextCurrentEXT")) == NULL;
01940   r = r || (wglGetCurrentReadDCEXT = (PFNWGLGETCURRENTREADDCEXTPROC)glewGetProcAddress("wglGetCurrentReadDCEXT")) == NULL;
01941   return r;
01942 }
01943 #endif /* WGL_EXT_make_current_read */
01944 
01945 /* ------------------------- EXT_extensions_string ------------------------ */
01946 
01947 #ifdef WGL_EXT_extensions_string
01948 PFNWGLGETEXTENSIONSSTRINGEXTPROC wglGetExtensionsStringEXT = NULL;
01949 
01950 static GLboolean _wglewInit_EXT_extensions_string ()
01951 {
01952   GLboolean r = GL_FALSE;
01953   r = r || (wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress("wglGetExtensionsStringEXT")) == NULL;
01954   return r;
01955 }
01956 #endif /* WGL_EXT_extensions_string */
01957 
01958 /* ----------------------------- EXT_pixel_format ------------------------- */
01959 
01960 #ifdef WGL_EXT_pixel_format
01961 
01962 PFNWGLGETPIXELFORMATATTRIBIVEXTPROC wglGetPixelFormatAttribivEXT = NULL;
01963 PFNWGLGETPIXELFORMATATTRIBFVEXTPROC wglGetPixelFormatAttribfvEXT = NULL;
01964 PFNWGLCHOOSEPIXELFORMATEXTPROC wglChoosePixelFormatEXT = NULL;
01965 
01966 static GLboolean _wglewInit_EXT_pixel_format ()
01967 {
01968   GLboolean r = GL_FALSE;
01969   r = r || (wglGetPixelFormatAttribivEXT = (PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)glewGetProcAddress("wglGetPixelFormatAttribivEXT")) == NULL;
01970   r = r || (wglGetPixelFormatAttribfvEXT = (PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)glewGetProcAddress("wglGetPixelFormatAttribfvEXT")) == NULL;
01971   r = r || (wglChoosePixelFormatEXT = (PFNWGLCHOOSEPIXELFORMATEXTPROC)glewGetProcAddress("wglChoosePixelFormatEXT")) == NULL;
01972   return r;
01973 }
01974 
01975 #endif /* WGL_EXT_pixel_format */
01976 
01977 /* ------------------------------- EXT_pbuffer ---------------------------- */
01978 
01979 #ifdef WGL_EXT_pbuffer
01980 
01981 PFNWGLCREATEPBUFFEREXTPROC wglCreatePbufferEXT = NULL;
01982 PFNWGLGETPBUFFERDCEXTPROC wglGetPbufferDCEXT = NULL;
01983 PFNWGLRELEASEPBUFFERDCEXTPROC wglReleasePbufferDCEXT = NULL;
01984 PFNWGLDESTROYPBUFFEREXTPROC wglDestroyPbufferEXT = NULL;
01985 PFNWGLQUERYPBUFFEREXTPROC wglQueryPbufferEXT = NULL;
01986 
01987 static GLboolean _wglewInit_EXT_pbuffer ()
01988 {
01989   GLboolean r = GL_FALSE;
01990   r = r || (wglCreatePbufferEXT = (PFNWGLCREATEPBUFFEREXTPROC)glewGetProcAddress("wglCreatePbufferEXT")) == NULL;
01991   r = r || (wglGetPbufferDCEXT = (PFNWGLGETPBUFFERDCEXTPROC)glewGetProcAddress("wglGetPbufferDCEXT")) == NULL;
01992   r = r || (wglReleasePbufferDCEXT = (PFNWGLRELEASEPBUFFERDCEXTPROC)glewGetProcAddress("wglReleasePbufferDCEXT")) == NULL;
01993   r = r || (wglDestroyPbufferEXT = (PFNWGLDESTROYPBUFFEREXTPROC)glewGetProcAddress("wglDestroyPbufferEXT")) == NULL;
01994   r = r || (wglQueryPbufferEXT = (PFNWGLQUERYPBUFFEREXTPROC)glewGetProcAddress("wglQueryPbufferEXT")) == NULL;
01995   return r;
01996 }
01997 
01998 #endif /* WGL_EXT_pbuffer */
01999 
02000 /* --------------------------- EXT_swap_control --------------------------- */
02001 
02002 #ifdef WGL_EXT_swap_control
02003 PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL;
02004 PFNWGLGETSWAPINTERVALEXTPROC wglGetSwapIntervalEXT = NULL;
02005 
02006 static GLboolean _wglewInit_EXT_swap_control ()
02007 {
02008   GLboolean r = GL_FALSE;
02009   r = r || (wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)glewGetProcAddress("wglSwapIntervalEXT")) == NULL;
02010   r = r || (wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC)glewGetProcAddress("wglGetSwapIntervalEXT")) == NULL;
02011   return r;
02012 }
02013 #endif /* WGL_EXT_swap_control */
02014 
02015 /* ------------------------ I3D_digital_video_control --------------------- */
02016 
02017 #ifdef WGL_I3D_digital_video_control
02018 PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC wglGetDigitalVideoParametersI3D = NULL;
02019 PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC wglSetDigitalVideoParametersI3D = NULL;
02020 
02021 static GLboolean _wglewInit_I3D_digital_video_control ()
02022 {
02023   GLboolean r = GL_FALSE;
02024   r = r || (wglGetDigitalVideoParametersI3D = (PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)glewGetProcAddress("wglGetDigitalVideoParametersI3D")) == NULL;
02025   r = r || (wglSetDigitalVideoParametersI3D = (PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)glewGetProcAddress("wglSetDigitalVideoParametersI3D")) == NULL;
02026   return r;
02027 }
02028 #endif /* WGL_I3D_digital_video_control */
02029 
02030 /* -------------------------------- I3D_gamma ----------------------------- */
02031 
02032 #ifdef WGL_I3D_gamma
02033 PFNWGLGETGAMMATABLEPARAMETERSI3DPROC wglGetGammaTableParametersI3D = NULL;
02034 PFNWGLSETGAMMATABLEPARAMETERSI3DPROC wglSetGammaTableParametersI3D = NULL;
02035 PFNWGLGETGAMMATABLEI3DPROC wglGetGammaTableI3D = NULL;
02036 PFNWGLSETGAMMATABLEI3DPROC wglSetGammaTableI3D = NULL;
02037 
02038 static GLboolean _wglewInit_I3D_gamma ()
02039 {
02040   GLboolean r = GL_FALSE;
02041   r = r || (wglGetGammaTableParametersI3D = (PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)glewGetProcAddress("wglGetGammaTableParametersI3D")) == NULL;
02042   r = r || (wglSetGammaTableParametersI3D = (PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)glewGetProcAddress("wglSetGammaTableParametersI3D")) == NULL;
02043   r = r || (wglGetGammaTableI3D = (PFNWGLGETGAMMATABLEI3DPROC)glewGetProcAddress("wglGetGammaTableI3D")) == NULL;
02044   r = r || (wglSetGammaTableI3D = (PFNWGLSETGAMMATABLEI3DPROC)glewGetProcAddress("wglSetGammaTableI3D")) == NULL;
02045   return r;
02046 }
02047 #endif /* WGL_I3D_gamma */
02048 
02049 /* ------------------------------- I3D_genlock ---------------------------- */
02050 
02051 #ifdef WGL_I3D_genlock
02052 PFNWGLENABLEGENLOCKI3DPROC wglEnableGenlockI3D = NULL;
02053 PFNWGLDISABLEGENLOCKI3DPROC wglDisableGenlockI3D = NULL;
02054 PFNWGLISENABLEDGENLOCKI3DPROC wglIsEnabledGenlockI3D = NULL;
02055 PFNWGLGENLOCKSOURCEI3DPROC wglGenlockSourceI3D = NULL;
02056 PFNWGLGETGENLOCKSOURCEI3DPROC wglGetGenlockSourceI3D = NULL;
02057 PFNWGLGENLOCKSOURCEEDGEI3DPROC wglGenlockSourceEdgeI3D = NULL;
02058 PFNWGLGETGENLOCKSOURCEEDGEI3DPROC wglGetGenlockSourceEdgeI3D = NULL;
02059 PFNWGLGENLOCKSAMPLERATEI3DPROC wglGenlockSampleRateI3D = NULL;
02060 PFNWGLGETGENLOCKSAMPLERATEI3DPROC wglGetGenlockSampleRateI3D = NULL;
02061 PFNWGLGENLOCKSOURCEDELAYI3DPROC wglGenlockSourceDelayI3D = NULL;
02062 PFNWGLGETGENLOCKSOURCEDELAYI3DPROC wglGetGenlockSourceDelayI3D = NULL;
02063 PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC wglQueryGenlockMaxSourceDelayI3D = NULL;
02064 
02065 static GLboolean _wglewInit_I3D_genlock ()
02066 {
02067   GLboolean r = GL_FALSE;
02068   r = r || (wglEnableGenlockI3D = (PFNWGLENABLEGENLOCKI3DPROC)glewGetProcAddress("wglEnableGenlockI3D")) == NULL;
02069   r = r || (wglDisableGenlockI3D = (PFNWGLDISABLEGENLOCKI3DPROC)glewGetProcAddress("wglDisableGenlockI3D")) == NULL;
02070   r = r || (wglIsEnabledGenlockI3D = (PFNWGLISENABLEDGENLOCKI3DPROC)glewGetProcAddress("wglIsEnabledGenlockI3D")) == NULL;
02071   r = r || (wglGenlockSourceI3D = (PFNWGLGENLOCKSOURCEI3DPROC)glewGetProcAddress("wglGenlockSourceI3D")) == NULL;
02072   r = r || (wglGetGenlockSourceI3D = (PFNWGLGETGENLOCKSOURCEI3DPROC)glewGetProcAddress("wglGetGenlockSourceI3D")) == NULL;
02073   r = r || (wglGenlockSourceEdgeI3D = (PFNWGLGENLOCKSOURCEEDGEI3DPROC)glewGetProcAddress("wglGenlockSourceEdgeI3D")) == NULL;
02074   r = r || (wglGetGenlockSourceEdgeI3D = (PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)glewGetProcAddress("wglGetGenlockSourceEdgeI3D")) == NULL;
02075   r = r || (wglGenlockSampleRateI3D = (PFNWGLGENLOCKSAMPLERATEI3DPROC)glewGetProcAddress("wglGenlockSampleRateI3D")) == NULL;
02076   r = r || (wglGetGenlockSampleRateI3D = (PFNWGLGETGENLOCKSAMPLERATEI3DPROC)glewGetProcAddress("wglGetGenlockSampleRateI3D")) == NULL;
02077   r = r || (wglGenlockSourceDelayI3D = (PFNWGLGENLOCKSOURCEDELAYI3DPROC)glewGetProcAddress("wglGenlockSourceDelayI3D")) == NULL;
02078   r = r || (wglGetGenlockSourceDelayI3D = (PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)glewGetProcAddress("wglGetGenlockSourceDelayI3D")) == NULL;
02079   r = r || (wglQueryGenlockMaxSourceDelayI3D = (PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)glewGetProcAddress("wglQueryGenlockMaxSourceDelayI3D")) == NULL;
02080   return r;
02081 }
02082 #endif /* WGL_I3D_genlock */
02083 
02084 /* ---------------------------- I3D_image_buffer -------------------------- */
02085 
02086 #ifdef WGL_I3D_image_buffer
02087 PFNWGLCREATEIMAGEBUFFERI3DPROC wglCreateImageBufferI3D = NULL;
02088 PFNWGLDESTROYIMAGEBUFFERI3DPROC wglDestroyImageBufferI3D = NULL;
02089 PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC wglAssociateImageBufferEventsI3D = NULL; 
02090 PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC wglReleaseImageBufferEventsI3D = NULL;
02091 
02092 static GLboolean _wglewInit_I3D_image_buffer ()
02093 {
02094   GLboolean r = GL_FALSE;
02095   r = r || (wglCreateImageBufferI3D = (PFNWGLCREATEIMAGEBUFFERI3DPROC)glewGetProcAddress("wglCreateImageBufferI3D")) == NULL;
02096   r = r || (wglDestroyImageBufferI3D = (PFNWGLDESTROYIMAGEBUFFERI3DPROC)glewGetProcAddress("wglDestroyImageBufferI3D")) == NULL;
02097   r = r || (wglAssociateImageBufferEventsI3D = (PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)glewGetProcAddress("wglAssociateImageBufferEventsI3D")) == NULL;
02098   r = r || (wglReleaseImageBufferEventsI3D = (PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)glewGetProcAddress("wglReleaseImageBufferEventsI3D")) == NULL;
02099   return r;
02100 }
02101 #endif /* WGL_I3D_image_buffer */
02102 
02103 /* --------------------------- I3D_swap_frame_lock ------------------------ */
02104 
02105 #ifdef WGL_I3D_swap_frame_lock
02106 PFNWGLENABLEFRAMELOCKI3DPROC wglEnableFrameLockI3D = NULL;
02107 PFNWGLDISABLEFRAMELOCKI3DPROC wglDisableFrameLockI3D = NULL;
02108 PFNWGLISENABLEDFRAMELOCKI3DPROC wglIsEnabledFrameLockI3D = NULL;
02109 PFNWGLQUERYFRAMELOCKMASTERI3DPROC wglQueryFrameLockMasterI3D = NULL;
02110 
02111 static GLboolean _wglewInit_I3D_swap_frame_lock ()
02112 {
02113   GLboolean r = GL_FALSE;
02114   r = r || (wglEnableFrameLockI3D = (PFNWGLENABLEFRAMELOCKI3DPROC)glewGetProcAddress("wglEnableFrameLockI3D")) == NULL;
02115   r = r || (wglDisableFrameLockI3D = (PFNWGLDISABLEFRAMELOCKI3DPROC)glewGetProcAddress("wglDisableFrameLockI3D")) == NULL;
02116   r = r || (wglIsEnabledFrameLockI3D = (PFNWGLISENABLEDFRAMELOCKI3DPROC)glewGetProcAddress("wglIsEnabledFrameLockI3D")) == NULL;
02117   r = r || (wglQueryFrameLockMasterI3D = (PFNWGLQUERYFRAMELOCKMASTERI3DPROC)glewGetProcAddress("wglQueryFrameLockMasterI3D")) == NULL;
02118   return r;
02119 }
02120 #endif /* WGL_I3D_swap_frame_lock */
02121 
02122 /* -------------------------- I3D_swap_frame_usage ------------------------ */
02123 
02124 #ifdef WGL_I3D_swap_frame_usage
02125 PFNWGLGETFRAMEUSAGEI3DPROC wglGetFrameUsageI3D = NULL;
02126 PFNWGLBEGINFRAMETRACKINGI3DPROC wglBeginFrameTrackingI3D = NULL;
02127 PFNWGLENDFRAMETRACKINGI3DPROC wglEndFrameTrackingI3D = NULL;
02128 PFNWGLQUERYFRAMETRACKINGI3DPROC wglQueryFrameTrackingI3D = NULL;
02129 
02130 static GLboolean _wglewInit_I3D_swap_frame_usage ()
02131 {
02132   GLboolean r = GL_FALSE;
02133   r = r || (wglGetFrameUsageI3D = (PFNWGLGETFRAMEUSAGEI3DPROC)glewGetProcAddress("wglGetFrameUsageI3D")) == NULL;
02134   r = r || (wglBeginFrameTrackingI3D = (PFNWGLBEGINFRAMETRACKINGI3DPROC)glewGetProcAddress("wglBeginFrameTrackingI3D")) == NULL;
02135   r = r || (wglEndFrameTrackingI3D = (PFNWGLENDFRAMETRACKINGI3DPROC)glewGetProcAddress("wglEndFrameTrackingI3D")) == NULL;
02136   r = r || (wglQueryFrameTrackingI3D = (PFNWGLQUERYFRAMETRACKINGI3DPROC)glewGetProcAddress("wglQueryFrameTrackingI3D")) == NULL;
02137   return r;
02138 }
02139 #endif /* WGL_I3D_swap_frame_usage */
02140 
02141 /* ---------------------------- OML_sync_control -------------------------- */
02142 
02143 #ifdef WGL_OML_sync_control
02144 PFNWGLGETSYNCVALUESOMLPROC wglGetSyncValuesOML = NULL;
02145 PFNWGLGETMSCRATEOMLPROC wglGetMscRateOML = NULL;
02146 PFNWGLSWAPBUFFERSMSCOMLPROC wglSwapBuffersMscOML = NULL;
02147 PFNWGLSWAPLAYERBUFFERSMSCOMLPROC wglSwapLayerBuffersMscOML = NULL;
02148 PFNWGLWAITFORMSCOMLPROC wglWaitForMscOML = NULL;
02149 PFNWGLWAITFORSBCOMLPROC wglWaitForSbcOML = NULL;
02150 
02151 static GLboolean _wglewInit_OML_sync_control ()
02152 {
02153   GLboolean r = GL_FALSE;
02154   r = r || (wglGetSyncValuesOML = (PFNWGLGETSYNCVALUESOMLPROC)glewGetProcAddress("wglGetSyncValuesOML")) == NULL;
02155   r = r || (wglGetMscRateOML = (PFNWGLGETMSCRATEOMLPROC)glewGetProcAddress("wglGetMscRateOML")) == NULL;
02156   r = r || (wglSwapBuffersMscOML = (PFNWGLSWAPBUFFERSMSCOMLPROC)glewGetProcAddress("wglSwapBuffersMscOML")) == NULL;
02157   r = r || (wglSwapLayerBuffersMscOML = (PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)glewGetProcAddress("wglSwapLayerBuffersMscOML")) == NULL;
02158   r = r || (wglWaitForMscOML = (PFNWGLWAITFORMSCOMLPROC)glewGetProcAddress("wglWaitForMscOML")) == NULL;
02159   r = r || (wglWaitForSbcOML = (PFNWGLWAITFORSBCOMLPROC)glewGetProcAddress("wglWaitForSbcOML")) == NULL;
02160   return r;
02161 }
02162 #endif /* WGL_OML_sync_control */
02163 
02164 /* ------------------------- NV_vertex_array_range ------------------------ */
02165 
02166 #ifdef WGL_NV_vertex_array_range
02167 PFNWGLALLOCATEMEMORYNVPROC wglAllocateMemoryNV = NULL;
02168 PFNWGLFREEMEMORYNVPROC wglFreeMemoryNV = NULL;
02169 
02170 static GLboolean _wglewInit_NV_vertex_array_range ()
02171 {
02172   GLboolean r = GL_FALSE;
02173   r = r || (wglAllocateMemoryNV = (PFNWGLALLOCATEMEMORYNVPROC)glewGetProcAddress("wglAllocateMemoryNV")) == NULL;
02174   r = r || (wglFreeMemoryNV = (PFNWGLFREEMEMORYNVPROC)glewGetProcAddress("wglFreeMemoryNV")) == NULL;
02175   return r;
02176 }
02177 #endif /* WGL_NV_vertex_array_range */
02178 
02179 #else /* _UNIX */
02180 
02181 /* -------------------------------- GLX 1.0 ------------------------------- */
02182 
02183 #ifdef GLX_VERSION_1_0
02184 #ifdef GLEW_PROTOTYPES
02185 PFNGLXQUERYEXTENSIONPROC glXQueryExtension = NULL;
02186 PFNGLXQUERYVERSIONPROC glXQueryVersion = NULL;
02187 PFNGLXGETCONFIGPROC glXGetConfig = NULL;
02188 PFNGLXCHOOSEVISUALPROC glXChooseVisual = NULL;
02189 PFNGLXCREATEGLXPIXMAPPROC glXCreateGLXPixmap = NULL;
02190 PFNGLXDESTROYGLXPIXMAPPROC glXDestroyGLXPixmap = NULL;
02191 PFNGLXCREATECONTEXTPROC glXCreateContext = NULL;
02192 PFNGLXDESTROYCONTEXTPROC glXDestroyContext = NULL;
02193 PFNGLXISDIRECTPROC glXIsDirect = NULL;
02194 PFNGLXCOPYCONTEXTPROC glXCopyContext = NULL;
02195 PFNGLXMAKECURRENTPROC glXMakeCurrent = NULL;
02196 PFNGLXGETCURRENTCONTEXTPROC glXGetCurrentContext = NULL;
02197 PFNGLXGETCURRENTDRAWABLEPROC glXGetCurrentDrawable = NULL;
02198 PFNGLXWAITGLPROC glXWaitGL = NULL;
02199 PFNGLXWAITXPROC glXWaitX = NULL;
02200 PFNGLXSWAPBUFFERSPROC glXSwapBuffers = NULL;
02201 PFNGLXUSEXFONTPROC glXUseXFont = NULL;
02202 #endif
02203 
02204 static GLboolean _glxewInit_10 ()
02205 {
02206   GLboolean r = GL_FALSE;
02207 #ifdef GLEW_PROTOTYPES
02208   r = r || (glXQueryExtension = (PFNGLXQUERYEXTENSIONPROC)glewGetProcAddress("glXQueryExtension")) == NULL;
02209   r = r || (glXQueryVersion = (PFNGLXQUERYVERSIONPROC)glewGetProcAddress("glXQueryVersion")) == NULL;
02210   r = r || (glXGetConfig = (PFNGLXGETCONFIGPROC)glewGetProcAddress("glXGetConfig")) == NULL;
02211   r = r || (glXChooseVisual = (PFNGLXCHOOSEVISUALPROC)glewGetProcAddress("glXChooseVisual")) == NULL;
02212   r = r || (glXCreateGLXPixmap = (PFNGLXCREATEGLXPIXMAPPROC)glewGetProcAddress("glXCreateGLXPixmap")) == NULL;
02213   r = r || (glXDestroyGLXPixmap = (PFNGLXDESTROYGLXPIXMAPPROC)glewGetProcAddress("glXDestroyGLXPixmap")) == NULL;
02214   r = r || (glXCreateContext = (PFNGLXCREATECONTEXTPROC)glewGetProcAddress("glXCreateContext")) == NULL;
02215   r = r || (glXDestroyContext = (PFNGLXDESTROYCONTEXTPROC)glewGetProcAddress("glXDestroyContext")) == NULL;
02216   r = r || (glXIsDirect = (PFNGLXISDIRECTPROC)glewGetProcAddress("glXIsDirect")) == NULL;
02217   r = r || (glXCopyContext = (PFNGLXCOPYCONTEXTPROC)glewGetProcAddress("glXCopyContext")) == NULL;
02218   r = r || (glXMakeCurrent = (PFNGLXMAKECURRENTPROC)glewGetProcAddress("glXMakeCurrent")) == NULL;
02219   r = r || (glXGetCurrentContext = (PFNGLXGETCURRENTCONTEXTPROC)glewGetProcAddress("glXGetCurrentContext")) == NULL;
02220   r = r || (glXGetCurrentDrawable = (PFNGLXGETCURRENTDRAWABLEPROC)glewGetProcAddress("glXGetCurrentDrawable")) == NULL;
02221   r = r || (glXWaitGL = (PFNGLXWAITGLPROC)glewGetProcAddress("glXWaitGL")) == NULL;
02222   r = r || (glXWaitX = (PFNGLXWAITXPROC)glewGetProcAddress("glXWaitX")) == NULL;
02223   r = r || (glXSwapBuffers = (PFNGLXSWAPBUFFERSPROC)glewGetProcAddress("glXSwapBuffers")) == NULL;
02224   r = r || (glXUseXFont = (PFNGLXUSEXFONTPROC)glewGetProcAddress("glXUseXFont")) == NULL;
02225 #endif
02226   return r;
02227 }
02228 #endif /* GLX_VERSION_1_0 */
02229 
02230 /* -------------------------------- GLX 1.1 ------------------------------- */
02231 
02232 #ifdef GLX_VERSION_1_1
02233 #ifdef GLEW_PROTOTYPES
02234 PFNGLXQUERYEXTENSIONSSTRINGPROC glXQueryExtensionsString = NULL;
02235 PFNGLXGETCLIENTSTRINGPROC glXGetClientString = NULL;
02236 PFNGLXQUERYSERVERSTRINGPROC glXQueryServerString = NULL;
02237 #endif
02238 
02239 static GLboolean _glxewInit_11 ()
02240 {
02241   GLboolean r = GL_FALSE;
02242 #ifdef GLEW_PROTOTYPES
02243   r = r || (glXQueryExtensionsString = (PFNGLXQUERYEXTENSIONSSTRINGPROC)glewGetProcAddress("glXQueryExtensionsString")) == NULL;
02244   r = r || (glXGetClientString = (PFNGLXGETCLIENTSTRINGPROC)glewGetProcAddress("glXGetClientString")) == NULL;
02245   r = r || (glXQueryServerString = (PFNGLXQUERYSERVERSTRINGPROC)glewGetProcAddress("glXQueryServerString")) == NULL;
02246 #endif
02247   return r;
02248 }
02249 #endif /* GLX_VERSION_1_1 */
02250 
02251 /* -------------------------------- GLX 1.2 ------------------------------- */
02252 
02253 #ifdef GLX_VERSION_1_2
02254 PFNGLXGETCURRENTDISPLAYPROC glXGetCurrentDisplay = NULL;
02255 
02256 static GLboolean _glxewInit_12 ()
02257 {
02258   GLboolean r = GL_FALSE;
02259   r = r || (glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)glewGetProcAddress("glXGetCurrentDisplay")) == NULL;
02260   return r;
02261 }
02262 #endif /* GLX_VERSION_1_2 */
02263 
02264 /* -------------------------------- GLX 1.3 ------------------------------- */
02265 
02266 #ifdef GLX_VERSION_1_3
02267 PFNGLXCHOOSEFBCONFIGPROC glXChooseFBConfig = NULL;
02268 PFNGLXGETFBCONFIGSPROC glXGetFBConfigs = NULL;
02269 PFNGLXGETVISUALFROMFBCONFIGPROC glXGetVisualFromFBConfig = NULL;
02270 PFNGLXGETFBCONFIGATTRIBPROC glXGetFBConfigAttrib = NULL;
02271 PFNGLXCREATEWINDOWPROC glXCreateWindow = NULL;
02272 PFNGLXDESTROYWINDOWPROC glXDestroyWindow = NULL;
02273 PFNGLXCREATEPIXMAPPROC glXCreatePixmap = NULL;
02274 PFNGLXDESTROYPIXMAPPROC glXDestroyPixmap = NULL;
02275 PFNGLXCREATEPBUFFERPROC glXCreatePbuffer = NULL;
02276 PFNGLXDESTROYPBUFFERPROC glXDestroyPbuffer = NULL;
02277 PFNGLXQUERYDRAWABLEPROC glXQueryDrawable = NULL;
02278 PFNGLXCREATENEWCONTEXTPROC glXCreateNewContext = NULL;
02279 PFNGLXMAKECONTEXTCURRENTPROC glXMakeContextCurrent = NULL;
02280 PFNGLXGETCURRENTREADDRAWABLEPROC glXGetCurrentReadDrawable = NULL;
02281 PFNGLXQUERYCONTEXTPROC glXQueryContext = NULL;
02282 PFNGLXSELECTEVENTPROC glXSelectEvent = NULL;
02283 PFNGLXGETSELECTEDEVENTPROC glXGetSelectedEvent = NULL;
02284 
02285 static GLboolean _glxewInit_13 ()
02286 {
02287   GLboolean r = GL_FALSE;
02288   r = r || (glXChooseFBConfig = (PFNGLXCHOOSEFBCONFIGPROC)glewGetProcAddress("glXChooseFBConfig")) == NULL;
02289   r = r || (glXGetFBConfigs = (PFNGLXGETFBCONFIGSPROC)glewGetProcAddress("glXGetFBConfigs")) == NULL;
02290   r = r || (glXGetVisualFromFBConfig = (PFNGLXGETVISUALFROMFBCONFIGPROC)glewGetProcAddress("glXGetVisualFromFBConfig")) == NULL;
02291   r = r || (glXGetFBConfigAttrib = (PFNGLXGETFBCONFIGATTRIBPROC)glewGetProcAddress("glXGetFBConfigAttrib")) == NULL;
02292   r = r || (glXCreateWindow = (PFNGLXCREATEWINDOWPROC)glewGetProcAddress("glXCreateWindow")) == NULL;
02293   r = r || (glXDestroyWindow = (PFNGLXDESTROYWINDOWPROC)glewGetProcAddress("glXDestroyWindow")) == NULL;
02294   r = r || (glXCreatePixmap = (PFNGLXCREATEPIXMAPPROC)glewGetProcAddress("glXCreatePixmap")) == NULL;
02295   r = r || (glXDestroyPixmap = (PFNGLXDESTROYPIXMAPPROC)glewGetProcAddress("glXDestroyPixmap")) == NULL;
02296   r = r || (glXCreatePbuffer = (PFNGLXCREATEPBUFFERPROC)glewGetProcAddress("glXCreatePbuffer")) == NULL;
02297   r = r || (glXDestroyPbuffer = (PFNGLXDESTROYPBUFFERPROC)glewGetProcAddress("glXDestroyPbuffer")) == NULL;
02298   r = r || (glXQueryDrawable = (PFNGLXQUERYDRAWABLEPROC)glewGetProcAddress("glXQueryDrawable")) == NULL;
02299   r = r || (glXCreateNewContext = (PFNGLXCREATENEWCONTEXTPROC)glewGetProcAddress("glXCreateNewContext")) == NULL;
02300   r = r || (glXMakeContextCurrent = (PFNGLXMAKECONTEXTCURRENTPROC)glewGetProcAddress("glXMakeContextCurrent")) == NULL;
02301   r = r || (glXGetCurrentReadDrawable = (PFNGLXGETCURRENTREADDRAWABLEPROC)glewGetProcAddress("glXGetCurrentReadDrawable")) == NULL;
02302   r = r || (glXQueryContext = (PFNGLXQUERYCONTEXTPROC)glewGetProcAddress("glXQueryContext")) == NULL;
02303   r = r || (glXSelectEvent = (PFNGLXSELECTEVENTPROC)glewGetProcAddress("glXSelectEvent")) == NULL;
02304   r = r || (glXGetSelectedEvent = (PFNGLXGETSELECTEDEVENTPROC)glewGetProcAddress("glXGetSelectedEvent")) == NULL;
02305   return r;
02306 }
02307 #endif /* GLX_VERSION_1_3 */
02308 
02309 /* --------------------------- EXT_import_context -------------------------- */
02310 
02311 #ifdef GLX_EXT_import_context
02312 PFNGLXGETCURRENTDISPLAYEXTPROC glXGetCurrentDisplayEXT = NULL;
02313 PFNGLXQUERYCONTEXTINFOEXTPROC glXQueryContextInfoEXT = NULL;
02314 PFNGLXGETCONTEXTIDEXTPROC glXGetContextIDEXT = NULL;
02315 PFNGLXIMPORTCONTEXTEXTPROC glXImportContextEXT = NULL;
02316 PFNGLXFREECONTEXTEXTPROC glXFreeContextEXT = NULL;
02317 
02318 static GLboolean _glxewInit_EXT_import_context ()
02319 {
02320   GLboolean r = GL_FALSE;
02321   r = r || (glXGetCurrentDisplayEXT = (PFNGLXGETCURRENTDISPLAYEXTPROC)glewGetProcAddress("glXGetCurrentDisplayEXT")) == NULL;
02322   r = r || (glXQueryContextInfoEXT = (PFNGLXQUERYCONTEXTINFOEXTPROC)glewGetProcAddress("glXQueryContextInfoEXT")) == NULL;
02323   r = r || (glXGetContextIDEXT = (PFNGLXGETCONTEXTIDEXTPROC)glewGetProcAddress("glXGetContextIDEXT")) == NULL;
02324   r = r || (glXImportContextEXT = (PFNGLXIMPORTCONTEXTEXTPROC)glewGetProcAddress("glXImportContextEXT")) == NULL;
02325   r = r || (glXFreeContextEXT = (PFNGLXFREECONTEXTEXTPROC)glewGetProcAddress("glXFreeContextEXT")) == NULL;
02326   return r;
02327 }
02328 #endif /* GLX_EXT_import_context */
02329 
02330 /* --------------------------- MESA_copy_sub_buffer ----------------------- */
02331 
02332 #ifdef GLX_MESA_copy_sub_buffer
02333 PFNGLXCOPYSUBBUFFERMESAPROC glXCopySubBufferMESA = NULL;
02334 
02335 static GLboolean _glxewInit_MESA_copy_sub_buffer ()
02336 {
02337   GLboolean r = GL_FALSE;
02338   r = r || (glXCopySubBufferMESA = (PFNGLXCOPYSUBBUFFERMESAPROC)glewGetProcAddress("glXCopySubBufferMESA")) == NULL;
02339   return r;
02340 }
02341 #endif /* GLX_MESA_copy_sub_buffer */
02342 
02343 /* -------------------------- MESA_pixmap_colormap ------------------------ */
02344 
02345 #ifdef GLX_MESA_pixmap_colormap
02346 PFNGLXCREATEGLXPIXMAPMESAPROC glXCreateGLXPixmapMESA = NULL;
02347 
02348 static GLboolean _glxewInit_MESA_pixmap_colormap ()
02349 {
02350   GLboolean r = GL_FALSE;
02351   r = r || (glXCreateGLXPixmapMESA = (PFNGLXCREATEGLXPIXMAPMESAPROC)glewGetProcAddress("glXCreateGLXPixmapMESA")) == NULL;
02352   return r;
02353 }
02354 #endif /* GLX_MESA_pixmap_colormap */
02355 
02356 /* -------------------------- MESA_release_buffers ------------------------ */
02357 
02358 #ifdef GLX_MESA_release_buffers
02359 PFNGLXRELEASEBUFFERSMESAPROC glXReleaseBuffersMESA = NULL;
02360 
02361 static GLboolean _glxewInit_MESA_release_buffers ()
02362 {
02363   GLboolean r = GL_FALSE;
02364   r = r || (glXReleaseBuffersMESA = (PFNGLXRELEASEBUFFERSMESAPROC)glewGetProcAddress("glXReleaseBuffersMESA")) == NULL;
02365   return r;
02366 }
02367 #endif /* GLX_MESA_release_buffers */
02368 
02369 /* --------------------------- MESA_set_3dfx_mode ------------------------- */
02370 
02371 #ifdef GLX_MESA_set_3dfx_mode
02372 PFNGLXSET3DFXMODEMESAPROC glXSet3DfxModeMESA = NULL;
02373 
02374 static GLboolean _glxewInit_MESA_set_3dfx_mode ()
02375 {
02376   GLboolean r = GL_FALSE;
02377   r = r || (glXSet3DfxModeMESA = (PFNGLXSET3DFXMODEMESAPROC)glewGetProcAddress("glXSet3DfxModeMESA")) == NULL;
02378   return r;
02379 }
02380 #endif /* GLX_MESA_set_3dfx_mode */
02381 
02382 /* ------------------------- NV_vertex_array_range ------------------------ */
02383 
02384 #ifdef GLX_NV_vertex_array_range
02385 PFNGLXALLOCATEMEMORYNVPROC glXAllocateMemoryNV = NULL;
02386 PFNGLXFREEMEMORYNVPROC glXFreeMemoryNV = NULL;
02387 
02388 static GLboolean _glxewInit_NV_vertex_array_range ()
02389 {
02390   GLboolean r = GL_FALSE;
02391   r = r || (glXAllocateMemoryNV = (PFNGLXALLOCATEMEMORYNVPROC)glewGetProcAddress("glXAllocateMemoryNV")) == NULL;
02392   r = r || (glXFreeMemoryNV = (PFNGLXFREEMEMORYNVPROC)glewGetProcAddress("glXFreeMemoryNV")) == NULL;
02393   return r;
02394 }
02395 #endif /* GLX_NV_vertex_array_range */
02396 
02397 /* ---------------------------- OML_sync_control -------------------------- */
02398 
02399 #ifdef GLX_OML_sync_control
02400 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
02401 PFNGLXGETSYNCVALUESOMLPROC glXGetSyncValuesOML = NULL;
02402 PFNGLXGETMSCRATEOMLPROC glXGetMscRateOML = NULL;
02403 PFNGLXSWAPBUFFERSMSCOMLPROC glXSwapBuffersMscOML = NULL;
02404 PFNGLXWAITFORMSCOMLPROC glXWaitForMscOML = NULL;
02405 PFNGLXWAITFORSBCOMLPROC glXWaitForSbcOML = NULL;
02406 
02407 static GLboolean _glxewInit_OML_sync_control ()
02408 {
02409   GLboolean r = GL_FALSE;
02410   r = r || (glXGetSyncValuesOML = (PFNGLXGETSYNCVALUESOMLPROC)glewGetProcAddress("glXGetSyncValuesOML")) == NULL;
02411   r = r || (glXGetMscRateOML = (PFNGLXGETMSCRATEOMLPROC)glewGetProcAddress("glXGetMscRateOML")) == NULL;
02412   r = r || (glXSwapBuffersMscOML = (PFNGLXSWAPBUFFERSMSCOMLPROC)glewGetProcAddress("glXSwapBuffersMscOML")) == NULL;
02413   r = r || (glXWaitForMscOML = (PFNGLXWAITFORMSCOMLPROC)glewGetProcAddress("glXWaitForMscOML")) == NULL;
02414   r = r || (glXWaitForSbcOML = (PFNGLXWAITFORSBCOMLPROC)glewGetProcAddress("glXWaitForSbcOML")) == NULL;
02415   return r;
02416 }
02417 #endif /* __STDC_VERSION__ */
02418 #endif /* GLX_OML_sync_control */
02419 
02420 /* ------------------------------- SGI_cushion ---------------------------- */
02421 
02422 #ifdef GLX_SGI_cushion
02423 PFNGLXCUSHIONSGIPROC glXCushionSGI = NULL;
02424 
02425 static GLboolean _glxewInit_SGI_cushion ()
02426 {
02427   GLboolean r = GL_FALSE;
02428   r = r || (glXCushionSGI = (PFNGLXCUSHIONSGIPROC)glewGetProcAddress("glXCushionSGI")) == NULL;
02429   return r;
02430 }
02431 #endif /* GLX_SGI_cushion */
02432 
02433 /* -------------------------- SGI_make_current_read ----------------------- */
02434 
02435 #ifdef GLX_SGI_make_current_read
02436 PFNGLXMAKECURRENTREADSGIPROC glXMakeCurrentReadSGI = NULL;
02437 PFNGLXGETCURRENTREADDRAWABLESGIPROC glXGetCurrentReadDrawableSGI = NULL;
02438 
02439 static GLboolean _glxewInit_SGI_make_current_read ()
02440 {
02441   GLboolean r = GL_FALSE;
02442   r = r || (glXMakeCurrentReadSGI = (PFNGLXMAKECURRENTREADSGIPROC)glewGetProcAddress("glXMakeCurrentReadSGI")) == NULL;
02443   r = r || (glXGetCurrentReadDrawableSGI = (PFNGLXGETCURRENTREADDRAWABLESGIPROC)glewGetProcAddress("glXGetCurrentReadDrawableSGI")) == NULL;
02444   return r;
02445 }
02446 #endif /* GLX_SGI_make_current_read */
02447 
02448 /* ---------------------------- SGI_swap_control -------------------------- */
02449 
02450 #ifdef GLX_SGI_swap_control
02451 PFNGLXSWAPINTERVALSGIPROC glXSwapIntervalSGI = NULL;
02452 
02453 static GLboolean _glxewInit_SGI_swap_control ()
02454 {
02455   GLboolean r = GL_FALSE;
02456   r = r || (glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glewGetProcAddress("glXSwapIntervalSGI")) == NULL;
02457   return r;
02458 }
02459 #endif /* GLX_SGI_swap_control */
02460 
02461 /* ----------------------------- SGI_video_sync --------------------------- */
02462 
02463 #ifdef GLX_SGI_video_sync
02464 PFNGLXGETVIDEOSYNCSGIPROC glXGetVideoSyncSGI = NULL;
02465 PFNGLXWAITVIDEOSYNCSGIPROC glXWaitVideoSyncSGI = NULL;
02466 PFNGLXGETREFRESHRATESGIPROC glXGetRefreshRateSGI = NULL;
02467 
02468 static GLboolean _glxewInit_SGI_video_sync ()
02469 {
02470   GLboolean r = GL_FALSE;
02471   r = r || (glXGetVideoSyncSGI = (PFNGLXGETVIDEOSYNCSGIPROC)glewGetProcAddress("glXGetVideoSyncSGI")) == NULL;
02472   r = r || (glXWaitVideoSyncSGI = (PFNGLXWAITVIDEOSYNCSGIPROC)glewGetProcAddress("glXWaitVideoSyncSGI")) == NULL;
02473   r = r || (glXGetRefreshRateSGI = (PFNGLXGETREFRESHRATESGIPROC)glewGetProcAddress("glXGetRefreshRateSGI")) == NULL;
02474   return r;
02475 }
02476 #endif /* GLX_SGI_video_sync */
02477 
02478 /* ------------------------------ SGIX_fbconfig --------------------------- */
02479 
02480 #ifdef GLX_SGIX_fbconfig
02481 PFNGLXGETFBCONFIGATTRIBSGIXPROC glXGetFBConfigAttribSGIX = NULL;
02482 PFNGLXCHOOSEFBCONFIGSGIXPROC glXChooseFBConfigSGIX = NULL;
02483 PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC glXCreateGLXPixmapWithConfigSGIX = NULL;
02484 PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC glXCreateContextWithConfigSGIX = NULL;
02485 PFNGLXGETVISUALFROMFBCONFIGSGIXPROC glXGetVisualFromFBConfigSGIX = NULL;
02486 PFNGLXGETFBCONFIGFROMVISUALSGIXPROC glXGetFBConfigFromVisualSGIX = NULL;
02487 
02488 static GLboolean _glxewInit_SGIX_fbconfig ()
02489 {
02490   GLboolean r = GL_FALSE;
02491   r = r || (glXGetFBConfigAttribSGIX = (PFNGLXGETFBCONFIGATTRIBSGIXPROC)glewGetProcAddress("glXGetFBConfigAttribSGIX")) == NULL;
02492   r = r || (glXChooseFBConfigSGIX = (PFNGLXCHOOSEFBCONFIGSGIXPROC)glewGetProcAddress("glXChooseFBConfigSGIX")) == NULL;
02493   r = r || (glXCreateGLXPixmapWithConfigSGIX = (PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)glewGetProcAddress("glXCreateGLXPixmapWithConfigSGIX")) == NULL;
02494   r = r || (glXCreateContextWithConfigSGIX = (PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)glewGetProcAddress("glXCreateContextWithConfigSGIX")) == NULL;
02495   r = r || (glXGetVisualFromFBConfigSGIX = (PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)glewGetProcAddress("glXGetVisualFromFBConfigSGIX")) == NULL;
02496   r = r || (glXGetFBConfigFromVisualSGIX = (PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)glewGetProcAddress("glXGetFBConfigFromVisualSGIX")) == NULL;
02497   return r;
02498 }
02499 #endif /* GLX_SGIX_fbconfig */
02500 
02501 /* ------------------------------- SGIX_pbuffer --------------------------- */
02502 
02503 #ifdef GLX_SGIX_pbuffer
02504 PFNGLXCREATEGLXPBUFFERSGIXPROC glXCreateGLXPbufferSGIX = NULL;
02505 PFNGLXDESTROYGLXPBUFFERSGIXPROC glXDestroyGLXPbufferSGIX = NULL;
02506 PFNGLXQUERYGLXPBUFFERSGIXPROC glXQueryGLXPbufferSGIX = NULL;
02507 PFNGLXSELECTEVENTSGIXPROC glXSelectEventSGIX = NULL;
02508 PFNGLXGETSELECTEDEVENTSGIXPROC glXGetSelectedEventSGIX = NULL;
02509 
02510 static GLboolean _glxewInit_SGIX_pbuffer ()
02511 {
02512   GLboolean r = GL_FALSE;
02513   r = r || (glXCreateGLXPbufferSGIX = (PFNGLXCREATEGLXPBUFFERSGIXPROC)glewGetProcAddress("glXCreateGLXPbufferSGIX")) == NULL;
02514   r = r || (glXDestroyGLXPbufferSGIX = (PFNGLXDESTROYGLXPBUFFERSGIXPROC)glewGetProcAddress("glXDestroyGLXPbufferSGIX")) == NULL;
02515   r = r || (glXQueryGLXPbufferSGIX = (PFNGLXQUERYGLXPBUFFERSGIXPROC)glewGetProcAddress("glXQueryGLXPbufferSGIX")) == NULL;
02516   r = r || (glXSelectEventSGIX = (PFNGLXSELECTEVENTSGIXPROC)glewGetProcAddress("glXSelectEventSGIX")) == NULL;
02517   r = r || (glXGetSelectedEventSGIX = (PFNGLXGETSELECTEDEVENTSGIXPROC)glewGetProcAddress("glXGetSelectedEventSGIX")) == NULL;
02518   return r;
02519 }
02520 #endif /* GLX_SGIX_pbuffer */
02521 
02522 /* ---------------------------- SGIX_swap_barrier ------------------------- */
02523 
02524 #ifdef GLX_SGIX_swap_barrier
02525 PFNGLXBINDSWAPBARRIERSGIXPROC glXBindSwapBarrierSGIX = NULL;
02526 PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC glXQueryMaxSwapBarriersSGIX = NULL;
02527 
02528 static GLboolean _glxewInit_SGIX_swap_barrier ()
02529 {
02530   GLboolean r = GL_FALSE;
02531   r = r || (glXBindSwapBarrierSGIX = (PFNGLXBINDSWAPBARRIERSGIXPROC)glewGetProcAddress("glXBindSwapBarrierSGIX")) == NULL;
02532   r = r || (glXQueryMaxSwapBarriersSGIX = (PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)glewGetProcAddress("glXQueryMaxSwapBarriersSGIX")) == NULL;
02533   return r;
02534 }
02535 #endif /* GLX_SGIX_swap_barrier */
02536 
02537 /* ----------------------------- SGIX_swap_group -------------------------- */
02538 
02539 #ifdef GLX_SGIX_swap_group
02540 PFNGLXJOINSWAPGROUPSGIXPROC glXJoinSwapGroupSGIX = NULL;
02541 
02542 static GLboolean _glxewInit_SGIX_swap_group ()
02543 {
02544   GLboolean r = GL_FALSE;
02545   r = r || (glXJoinSwapGroupSGIX = (PFNGLXJOINSWAPGROUPSGIXPROC)glewGetProcAddress("glXJoinSwapGroupSGIX")) == NULL;
02546   return r;
02547 }
02548 #endif /* GLX_SGIX_swap_group */
02549 
02550 /* ------------------------ SUN_get_transparent_index --------------------- */
02551 
02552 #ifdef GLX_SUN_get_transparent_index
02553 PFNGLXGETTRANSPARENTINDEXSUNPROC glXGetTransparentIndexSUN = NULL;
02554 
02555 static GLboolean _glxewInit_SUN_get_transparent_index ()
02556 {
02557   GLboolean r = GL_FALSE;
02558   r = r || (glXGetTransparentIndexSUN = (PFNGLXGETTRANSPARENTINDEXSUNPROC)glewGetProcAddress("glXGetTransparentIndexSUN")) == NULL;
02559   return r;
02560 }
02561 #endif /* GLX_SUN_get_transparent_index */
02562 
02563 #endif /* _WIN32 */
02564 
02565 /* ------------------------------------------------------------------------ */
02566 
02567 /*
02568  * GLEW, just like OpenGL or GLU, does not rely on the standard C library.
02569  * These functions only implement the functionality required in this file.
02570  */
02571 
02572 int _glewStrLen (const char *s)
02573 {
02574   int i=0;
02575   while (s+i != NULL && s[i] != '\0') i++;
02576   return i;
02577 }
02578 
02579 int _glewStrCLen (const char *s, char c)
02580 {
02581   int i=0;
02582   while (s+i != NULL && s[i] != '\0' && s[i] != c) i++;
02583   return i;
02584 }
02585 
02586 int _glewStrSame (const char *a, const char *b, int n)
02587 {
02588   int i=0;
02589   while (i < n && a+i != NULL && b+i != NULL && a[i] == b[i]) i++;
02590   return i == n;
02591 }
02592 
02593 void* _glewMemSet (void *s, char c, int n)
02594 {
02595   int i;
02596   char* d=(char*)s;
02597   for (i=0; i<n; i++) d[i]=c;
02598   return s;
02599 }
02600 
02601 /* 
02602  * Search for name in the extensions string. Use of strstr()
02603  * is not sufficient because extension names can be prefixes of
02604  * other extension names. Could use strtok() but the constant
02605  * string returned by glGetString might be in read-only memory.
02606  */
02607 GLboolean glewGetExtension (const char *name)
02608 {    
02609   char *p, *end;
02610   int len = _glewStrLen(name);
02611   p = (char*)glGetString(GL_EXTENSIONS);
02612   if (0 == p) return GL_FALSE;
02613   end = p + _glewStrLen(p);
02614   while (p < end)
02615   {
02616     int n = _glewStrCLen(p, ' ');
02617     if (len == n && _glewStrSame(name, p, n)) return GL_TRUE;
02618     p += n+1;
02619   }
02620   return GL_FALSE;
02621 }
02622 
02623 /* ------------------------------------------------------------------------ */
02624 
02625 static GLint _glewInit ()
02626 {
02627   char* s;
02628   int i;
02629   /* initialize glew struct */
02630   _glewMemSet(&glew, 0, sizeof(glew));
02631   /* query opengl version */
02632   s = (char*)glGetString(GL_VERSION);
02633   if (!s) return GLEW_ERROR_NO_GL_VERSION;
02634   i=_glewStrCLen(s, '.')+1;
02635   if (s+i == NULL || s[i] < '1')
02636   {
02637     glew.GL_11 = 0; glew.GL_12 = 0; glew.GL_13 = 0; glew.GL_14 = 0;
02638     return GLEW_ERROR_GL_VERSION_10_ONLY;
02639   }
02640   else
02641   {
02642     if (s[2] == '4')
02643     {
02644       glew.GL_11 = 1; glew.GL_12 = 1; glew.GL_13 = 1; glew.GL_14 = 1;    
02645     }
02646     if (s[2] == '3')
02647     {
02648       glew.GL_11 = 1; glew.GL_12 = 1; glew.GL_13 = 1; glew.GL_14 = 0;    
02649     }
02650     if (s[2] == '2')
02651     {
02652       glew.GL_11 = 1; glew.GL_12 = 1; glew.GL_13 = 0; glew.GL_14 = 0;    
02653     }
02654     if (s[2] < '2')
02655     {
02656       glew.GL_11 = 1; glew.GL_12 = 0; glew.GL_13 = 0; glew.GL_14 = 0;    
02657     }
02658   }
02659   /* load core opengl */
02660 #ifdef GL_VERSION_1_2
02661   if (glewExperimental || glew.GL_12) glew.GL_12 = !_glewInit_12();
02662 #endif
02663 #ifdef GL_VERSION_1_3
02664   if (glewExperimental || glew.GL_13) glew.GL_13 = !_glewInit_13();
02665 #endif
02666 #ifdef GL_VERSION_1_4
02667   if (glewExperimental || glew.GL_14) glew.GL_14 = !_glewInit_14();
02668 #endif
02669   /* load extensions */
02670 #ifdef GL_ARB_depth_texture
02671   glew.ARB_depth_texture = glewGetExtension("GL_ARB_depth_texture");
02672 #endif
02673 #ifdef GL_ARB_fragment_program
02674   glew.ARB_fragment_program = glewGetExtension("GL_ARB_fragment_program");
02675 #endif
02676 #ifdef GL_ARB_imaging
02677   glew.ARB_imaging = glewGetExtension("GL_ARB_imaging");
02678   if (glewExperimental || glew.ARB_imaging) glew.ARB_imaging = !_glewInit_ARB_imaging();
02679 #endif
02680 #ifdef GL_ARB_matrix_palette
02681   glew.ARB_matrix_palette = glewGetExtension("GL_ARB_matrix_palette");
02682   if (glewExperimental || glew.ARB_matrix_palette) glew.ARB_matrix_palette = !_glewInit_ARB_matrix_palette();
02683 #endif
02684 #ifdef GL_ARB_multisample
02685   glew.ARB_multisample = glewGetExtension("GL_ARB_multisample");
02686   if (glewExperimental || glew.ARB_multisample) glew.ARB_multisample = !_glewInit_ARB_multisample();
02687 #endif
02688 #ifdef GL_ARB_multitexture
02689   glew.ARB_multitexture = glewGetExtension("GL_ARB_multitexture");
02690   if (glewExperimental || glew.ARB_multitexture) glew.ARB_multitexture = !_glewInit_ARB_multitexture();
02691 #endif
02692 #ifdef GL_ARB_point_parameters
02693   glew.ARB_point_parameters = glewGetExtension("GL_ARB_point_parameters");
02694   if (glewExperimental || glew.ARB_point_parameters) glew.ARB_point_parameters = !_glewInit_ARB_point_parameters();
02695 #endif
02696 #ifdef GL_ARB_shadow
02697   glew.ARB_shadow = glewGetExtension("GL_ARB_shadow");
02698 #endif
02699 #ifdef GL_ARB_shadow_ambient
02700   glew.ARB_shadow_ambient = glewGetExtension("GL_ARB_shadow_ambient");
02701 #endif
02702 #ifdef GL_ARB_texture_border_clamp
02703   glew.ARB_texture_border_clamp = glewGetExtension("GL_ARB_texture_border_clamp");
02704 #endif
02705 #ifdef GL_ARB_texture_compression
02706   glew.ARB_texture_compression = glewGetExtension("GL_ARB_texture_compression");
02707   if (glewExperimental || glew.ARB_texture_compression) glew.ARB_texture_compression = !_glewInit_ARB_texture_compression();
02708 #endif
02709 #ifdef GL_ARB_texture_cube_map
02710   glew.ARB_texture_cube_map = glewGetExtension("GL_ARB_texture_cube_map");
02711 #endif
02712 #ifdef GL_ARB_texture_env_add
02713   glew.ARB_texture_env_add = glewGetExtension("GL_ARB_texture_env_add");
02714 #endif
02715 #ifdef GL_ARB_texture_env_combine
02716   glew.ARB_texture_env_combine = glewGetExtension("GL_ARB_texture_env_combine");
02717 #endif
02718 #ifdef GL_ARB_texture_env_crossbar
02719   glew.ARB_texture_env_crossbar = glewGetExtension("GL_ARB_texture_env_crossbar");
02720 #endif
02721 #ifdef GL_ARB_texture_env_dot3
02722   glew.ARB_texture_env_dot3 = glewGetExtension("GL_ARB_texture_env_dot3");
02723 #endif
02724 #ifdef GL_ARB_texture_mirrored_repeat
02725   glew.ARB_texture_mirrored_repeat = glewGetExtension("GL_ARB_texture_mirrored_repeat");
02726 #endif
02727 #ifdef GL_ARB_transpose_matrix
02728   glew.ARB_transpose_matrix = glewGetExtension("GL_ARB_transpose_matrix");
02729   if (glewExperimental || glew.ARB_transpose_matrix) glew.ARB_transpose_matrix = !_glewInit_ARB_transpose_matrix();
02730 #endif
02731 #ifdef GL_ARB_vertex_blend
02732   glew.ARB_vertex_blend = glewGetExtension("GL_ARB_vertex_blend");
02733   if (glewExperimental || glew.ARB_vertex_blend) glew.ARB_vertex_blend = !_glewInit_ARB_vertex_blend();
02734 #endif
02735 #ifdef GL_ARB_vertex_program
02736   glew.ARB_vertex_program = glewGetExtension("GL_ARB_vertex_program");
02737   if (glewExperimental || glew.ARB_vertex_program) glew.ARB_vertex_program = !_glewInit_ARB_vertex_program();
02738 #endif
02739 #ifdef GL_ARB_window_pos
02740   glew.ARB_window_pos = glewGetExtension("GL_ARB_window_pos");
02741   if (glewExperimental || glew.ARB_window_pos) glew.ARB_window_pos = !_glewInit_ARB_window_pos();
02742 #endif
02743 
02744 #ifdef GL_EXT_abgr
02745   glew.EXT_abgr = glewGetExtension("GL_EXT_abgr");
02746 #endif
02747 #ifdef GL_EXT_bgra
02748   glew.EXT_bgra = glewGetExtension("GL_EXT_bgra");
02749 #endif
02750 #ifdef GL_EXT_blend_color
02751   glew.EXT_blend_color = glewGetExtension("GL_EXT_blend_color");
02752   if (glewExperimental || glew.EXT_blend_color) glew.EXT_blend_color = !_glewInit_EXT_blend_color();
02753 #endif
02754 #ifdef GL_EXT_blend_func_separate
02755   glew.EXT_blend_func_separate = glewGetExtension("GL_EXT_blend_func_separate");
02756   if (glewExperimental || glew.EXT_blend_func_separate) glew.EXT_blend_func_separate = !_glewInit_EXT_blend_func_separate();
02757 #endif
02758 #ifdef GL_EXT_blend_minmax
02759   glew.EXT_blend_minmax = glewGetExtension("GL_EXT_blend_minmax");
02760   if (glewExperimental || glew.EXT_blend_minmax) glew.EXT_blend_minmax = !_glewInit_EXT_blend_minmax();
02761 #endif
02762 #ifdef GL_EXT_blend_subtract
02763   glew.EXT_blend_subtract = glewGetExtension("GL_EXT_blend_subtract");
02764 #endif
02765 #ifdef GL_EXT_clip_volume_hint
02766   glew.EXT_compiled_vertex_array = glewGetExtension("GL_EXT_clip_volume_hint");
02767 #endif
02768 #ifdef GL_EXT_compiled_vertex_array
02769   glew.EXT_compiled_vertex_array = glewGetExtension("GL_EXT_compiled_vertex_array");
02770   if (glewExperimental || glew.EXT_compiled_vertex_array) glew.EXT_compiled_vertex_array = !_glewInit_EXT_compiled_vertex_array();
02771 #endif
02772 #ifdef GL_EXT_cull_vertex
02773   glew.EXT_cull_vertex = glewGetExtension("GL_EXT_cull_vertex");
02774   if (glewExperimental || glew.EXT_cull_vertex) glew.EXT_cull_vertex = !_glewInit_EXT_cull_vertex();
02775 #endif
02776 #ifdef GL_EXT_draw_range_elements
02777   glew.EXT_draw_range_elements = glewGetExtension("GL_EXT_draw_range_elements");
02778   if (glewExperimental || glew.EXT_draw_range_elements) glew.EXT_draw_range_elements = !_glewInit_EXT_draw_range_elements();
02779 #endif
02780 #ifdef GL_EXT_fog_coord
02781   glew.EXT_fog_coord = glewGetExtension("GL_EXT_fog_coord");
02782   if (glewExperimental || glew.EXT_fog_coord) glew.EXT_fog_coord = !_glewInit_EXT_fog_coord();
02783 #endif
02784 #ifdef GL_EXT_multi_draw_arrays
02785   glew.EXT_multi_draw_arrays = glewGetExtension("GL_EXT_multi_draw_arrays");
02786   if (glewExperimental || glew.EXT_multi_draw_arrays) glew.EXT_multi_draw_arrays = !_glewInit_EXT_multi_draw_arrays();
02787 #endif
02788 #ifdef GL_EXT_packed_pixels
02789   glew.EXT_packed_pixels = glewGetExtension("GL_EXT_packed_pixels");
02790 #endif
02791 #ifdef GL_EXT_point_parameters
02792   glew.EXT_point_parameters = glewGetExtension("GL_EXT_point_parameters");
02793   if (glewExperimental || glew.EXT_point_parameters) glew.EXT_point_parameters = !_glewInit_EXT_point_parameters();
02794 #endif
02795 #ifdef GL_EXT_secondary_color
02796   glew.EXT_secondary_color = glewGetExtension("GL_EXT_secondary_color");
02797   if (glewExperimental || glew.EXT_secondary_color) glew.EXT_secondary_color = !_glewInit_EXT_secondary_color();
02798 #endif
02799 #ifdef GL_EXT_separate_specular_color
02800   glew.EXT_separate_specular_color = glewGetExtension("GL_EXT_separate_specular_color");
02801 #endif
02802 #ifdef GL_EXT_shadow_funcs
02803   glew.EXT_shadow_funcs = glewGetExtension("GL_EXT_shadow_funcs");
02804 #endif
02805 #ifdef GL_EXT_stencil_two_side
02806   glew.EXT_stencil_two_side = glewGetExtension("GL_EXT_stencil_two_side");
02807   if (glewExperimental || glew.EXT_stencil_two_side) glew.EXT_stencil_two_side = !_glewInit_EXT_stencil_two_side();
02808 #endif
02809 #ifdef GL_EXT_stencil_wrap
02810   glew.EXT_stencil_wrap = glewGetExtension("GL_EXT_stencil_wrap");
02811 #endif
02812 #ifdef GL_EXT_texture_compression_s3tc
02813   glew.EXT_texture_compression_s3tc = glewGetExtension("GL_EXT_texture_compression_s3tc");
02814 #endif
02815 #ifdef GL_EXT_texture_env_combine
02816   glew.EXT_texture_env_combine = glewGetExtension("GL_EXT_texture_env_combine");
02817 #endif
02818 #ifdef GL_EXT_texture_filter_anisotropic
02819   glew.EXT_texture_filter_anisotropic = glewGetExtension("GL_EXT_texture_filter_anisotropic");
02820 #endif
02821 #ifdef GL_EXT_texture_lod_bias
02822   glew.EXT_texture_lod_bias = glewGetExtension("GL_EXT_texture_lod_bias");
02823 #endif
02824 #ifdef GL_EXT_texture_rectangle
02825   glew.EXT_texture_rectangle = glewGetExtension("GL_EXT_texture_rectangle");
02826 #endif
02827 #ifdef GL_EXT_texture3D
02828   glew.EXT_texture3D = glewGetExtension("GL_EXT_texture3D");
02829   if (glewExperimental || glew.EXT_texture3D) glew.EXT_texture3D = !_glewInit_EXT_texture3D();
02830 #endif
02831 #ifdef GL_EXT_vertex_shader
02832   glew.EXT_vertex_shader = glewGetExtension("GL_EXT_vertex_shader");
02833   if (glewExperimental || glew.EXT_vertex_shader) glew.EXT_vertex_shader = !_glewInit_EXT_vertex_shader();
02834 #endif
02835 #ifdef GL_EXT_vertex_weighting
02836   glew.EXT_vertex_weighting = glewGetExtension("GL_EXT_vertex_weighting");
02837   if (glewExperimental || glew.EXT_vertex_weighting) glew.EXT_vertex_weighting = !_glewInit_EXT_vertex_weighting();
02838 #endif
02839 
02840 #ifdef GL_SGIS_generate_mipmap
02841   glew.SGIS_generate_mipmap = glewGetExtension("GL_SGIS_generate_mipmap");
02842 #endif
02843 #ifdef GL_SGIS_texture_lod
02844   glew.SGIS_texture_lod = glewGetExtension("GL_SGIS_texture_lod");
02845 #endif
02846 #ifdef GL_SGIX_depth_texture
02847   glew.SGIX_depth_texture = glewGetExtension("GL_SGIX_depth_texture");
02848 #endif
02849 #ifdef GL_SGIX_shadow
02850   glew.SGIX_shadow = glewGetExtension("GL_SGIX_shadow");
02851 #endif
02852 
02853 #ifdef GL_HP_occlusion_test
02854   glew.HP_occlusion_test = glewGetExtension("GL_HP_occlusion_test");
02855 #endif
02856 #ifdef GL_S3_s3tc
02857   glew.S3_s3tc = glewGetExtension("GL_S3_s3tc");
02858 #endif
02859 #ifdef GL_WIN_swap_hint
02860   glew.WIN_swap_hint = glewGetExtension("GL_WIN_swap_hint");
02861   if (glewExperimental || glew.WIN_swap_hint) glew.WIN_swap_hint = !_glewInit_WIN_swap_hint();
02862 #endif
02863 
02864 #ifdef GL_ATI_draw_buffers
02865   glew.ATI_draw_buffers = glewGetExtension("GL_ATI_draw_buffers");
02866   if (glewExperimental || glew.ATI_draw_buffers) glew.ATI_draw_buffers = !_glewInit_ATI_draw_buffers();
02867 #endif
02868 #ifdef GL_ATI_element_array
02869   glew.ATI_element_array = glewGetExtension("GL_ATI_element_array");
02870   if (glewExperimental || glew.ATI_element_array) glew.ATI_element_array = !_glewInit_ATI_element_array();
02871 #endif
02872 #ifdef GL_ATI_envmap_bumpmap
02873   glew.ATI_envmap_bumpmap = glewGetExtension("GL_ATI_envmap_bumpmap");
02874   if (glewExperimental || glew.ATI_envmap_bumpmap) glew.ATI_envmap_bumpmap = !_glewInit_ATI_envmap_bumpmap();
02875 #endif
02876 #ifdef GL_ATI_fragment_shader
02877   glew.ATI_fragment_shader = glewGetExtension("GL_ATI_fragment_shader");
02878   if (glewExperimental || glew.ATI_fragment_shader) glew.ATI_fragment_shader = !_glewInit_ATI_fragment_shader();
02879 #endif
02880 #ifdef GL_ATI_map_object_buffer
02881   glew.ATI_map_object_buffer = glewGetExtension("GL_ATI_map_object_buffer");
02882   if (glewExperimental || glew.ATI_map_object_buffer) glew.ATI_map_object_buffer = !_glewInit_ATI_map_object_buffer();
02883 #endif
02884 #ifdef GL_ATI_mapped_texture
02885   glew.ATI_mapped_texture = glewGetExtension("GL_ATI_mapped_texture");
02886   if (glewExperimental || glew.ATI_mapped_texture) glew.ATI_mapped_texture = !_glewInit_ATI_mapped_texture();
02887 #endif
02888 #ifdef GL_ATI_pn_triangles
02889   glew.ATI_pn_triangles = glewGetExtension("GL_ATI_pn_triangles");
02890   if (glewExperimental || glew.ATI_pn_triangles) glew.ATI_pn_triangles = !_glewInit_ATI_pn_triangles();
02891 #endif
02892 #ifdef GL_ATI_separate_stencil
02893   glew.ATI_separate_stencil = glewGetExtension("GL_ATI_separate_stencil");
02894   if (glewExperimental || glew.ATI_separate_stencil) glew.ATI_separate_stencil = !_glewInit_ATI_separate_stencil();
02895 #endif
02896 #ifdef GL_ATI_text_fragment_shader
02897   glew.ATI_texture_float = glewGetExtension("GL_ATI_texture_float");
02898 #endif
02899 #ifdef GL_ATI_texture_env_combine3
02900   glew.ATI_texture_env_combine3 = glewGetExtension("GL_ATI_texture_env_combine3");
02901 #endif
02902 #ifdef GL_ATI_texture_float
02903   glew.ATI_texture_float = glewGetExtension("GL_ATI_texture_float");
02904 #endif
02905 #ifdef GL_ATI_texture_mirror_once
02906   glew.ATI_texture_mirror_once = glewGetExtension("GL_ATI_texture_mirror_once");
02907 #endif
02908 #ifdef GL_ATI_vertex_array_object
02909   glew.ATI_vertex_array_object = glewGetExtension("GL_ATI_vertex_array_object");
02910   if (glewExperimental || glew.ATI_vertex_array_object) glew.ATI_vertex_array_object = !_glewInit_ATI_vertex_array_object();
02911 #endif
02912 #ifdef GL_ATI_vertex_attrib_array_object
02913   glew.ATI_vertex_attrib_array_object = glewGetExtension("GL_ATI_vertex_attrib_array_object");
02914   if (glewExperimental || glew.ATI_vertex_attrib_array_object) glew.ATI_vertex_attrib_array_object = !_glewInit_ATI_vertex_attrib_array_object();
02915 #endif
02916 #ifdef GL_ATI_vertex_streams
02917   glew.ATI_vertex_streams = glewGetExtension("GL_ATI_vertex_streams");
02918   if (glewExperimental || glew.ATI_vertex_streams) glew.ATI_vertex_streams = !_glewInit_ATI_vertex_streams();
02919 #endif
02920 #ifdef GL_ATIX_point_sprites
02921   glew.ATIX_point_sprites = glewGetExtension("GL_ATIX_point_sprites");
02922 #endif
02923 #ifdef GL_ATIX_texture_env_combine3
02924   glew.ATIX_texture_env_combine3 = glewGetExtension("GL_ATIX_texture_env_combine3");
02925 #endif
02926 #ifdef GL_ATIX_texture_env_route
02927   glew.ATIX_texture_env_route = glewGetExtension("GL_ATIX_texture_env_route");
02928 #endif
02929 #ifdef GL_ATIX_vertex_shader_output_point_size
02930   glew.ATIX_vertex_shader_output_point_size = glewGetExtension("GL_ATIX_vertex_shader_output_point_size");
02931 #endif
02932 
02933 #ifdef GL_NV_blend_square
02934   glew.NV_blend_square = glewGetExtension("GL_NV_blend_square");
02935 #endif
02936 #ifdef GL_NV_copy_depth_to_color
02937   glew.NV_copy_depth_to_color = glewGetExtension("GL_NV_copy_depth_to_color");
02938 #endif
02939 #ifdef GL_NV_depth_clamp
02940   glew.NV_depth_clamp = glewGetExtension("GL_NV_depth_clamp");
02941 #endif
02942 #ifdef GL_NV_element_array
02943   glew.NV_element_array = glewGetExtension("GL_NV_element_array");
02944   if (glewExperimental || glew.NV_element_array) glew.NV_element_array = !_glewInit_NV_element_array();
02945 #endif
02946 #ifdef GL_NV_evaluators
02947   glew.NV_evaluators = glewGetExtension("GL_NV_evaluators");
02948   if (glewExperimental || glew.NV_evaluators) glew.NV_evaluators = !_glewInit_NV_evaluators();
02949 #endif
02950 #ifdef GL_NV_fence
02951   glew.NV_fence = glewGetExtension("GL_NV_fence");
02952   if (glewExperimental || glew.NV_fence) glew.NV_fence = !_glewInit_NV_fence();
02953 #endif
02954 #ifdef GL_NV_float_buffer
02955   glew.NV_float_buffer = glewGetExtension("GL_NV_float_buffer");
02956 #endif
02957 #ifdef GL_NV_fog_distance
02958   glew.NV_fog_distance = glewGetExtension("GL_NV_fog_distance");
02959 #endif
02960 #ifdef GL_NV_fragment_program
02961   glew.NV_fragment_program = glewGetExtension("GL_NV_fragment_program");
02962   if (glewExperimental || glew.NV_fragment_program) glew.NV_fragment_program = !_glewInit_NV_fragment_program();
02963 #endif
02964 #ifdef GL_NV_light_max_exponent
02965   glew.NV_half_float = glewGetExtension("GL_NV_half_float");
02966 #endif
02967 #ifdef GL_NV_light_max_exponent
02968   glew.NV_light_max_exponent = glewGetExtension("GL_NV_light_max_exponent");
02969 #endif
02970 #ifdef GL_NV_multisample_filter_hint
02971   glew.NV_multisample_filter_hint = glewGetExtension("GL_NV_multisample_filter_hint");
02972 #endif
02973 #ifdef GL_NV_occlusion_query
02974   glew.NV_occlusion_query = glewGetExtension("GL_NV_occlusion_query");
02975   if (glewExperimental || glew.NV_occlusion_query) glew.NV_occlusion_query = !_glewInit_NV_occlusion_query();
02976 #endif
02977 #ifdef GL_NV_packed_depth_stencil
02978   glew.NV_packed_depth_stencil = glewGetExtension("GL_NV_packed_depth_stencil");
02979 #endif
02980 #ifdef GL_NV_pixel_data_range
02981   glew.NV_pixel_data_range = glewGetExtension("GL_NV_pixel_data_range");
02982   if (glewExperimental || glew.NV_pixel_data_range) glew.NV_pixel_data_range = !_glewInit_NV_pixel_data_range();
02983 #endif
02984 #ifdef GL_NV_point_sprite
02985   glew.NV_point_sprite = glewGetExtension("GL_NV_point_sprite");
02986   if (glewExperimental || glew.NV_point_sprite) glew.NV_point_sprite = !_glewInit_NV_point_sprite();
02987 #endif
02988 #ifdef GL_NV_primitive_restart
02989   glew.NV_primitive_restart = glewGetExtension("GL_NV_");
02990   if (glewExperimental || glew.NV_primitive_restart) glew.NV_primitive_restart = !_glewInit_NV_primitive_restart();
02991 #endif
02992 #ifdef GL_NV_register_combiners
02993   glew.NV_register_combiners = glewGetExtension("GL_NV_register_combiners");
02994   if (glewExperimental || glew.NV_register_combiners) glew.NV_register_combiners = !_glewInit_NV_register_combiners();
02995 #endif
02996 #ifdef GL_NV_register_combiners2
02997   glew.NV_register_combiners2 = glewGetExtension("GL_NV_register_combiners2");
02998   if (glewExperimental || glew.NV_register_combiners2) glew.NV_register_combiners2 = !_glewInit_NV_register_combiners2();
02999 #endif
03000 #ifdef GL_NV_texgen_emboss
03001   glew.NV_texgen_emboss = glewGetExtension("GL_NV_texgen_emboss");
03002 #endif
03003 #ifdef GL_NV_texgen_reflection
03004   glew.NV_texgen_reflection = glewGetExtension("GL_NV_texgen_reflection");
03005 #endif
03006 #ifdef GL_NV_texture_compression_vtc
03007   glew.NV_texture_compression_vtc = glewGetExtension("GL_NV_texture_compression_vtc");
03008 #endif
03009 #ifdef GL_NV_texture_env_combine4
03010   glew.NV_texture_env_combine4 = glewGetExtension("GL_NV_texture_env_combine4");
03011 #endif
03012 #ifdef GL_NV_texture_expand_normal
03013   glew.NV_texture_expand_normal = glewGetExtension("GL_NV_texture_expand_normal");
03014 #endif
03015 #ifdef GL_NV_texture_rectangle
03016   glew.NV_texture_rectangle = glewGetExtension("GL_NV_texture_rectangle");
03017 #endif
03018 #ifdef GL_NV_texture_shader
03019   glew.NV_texture_shader = glewGetExtension("GL_NV_texture_shader");
03020 #endif
03021 #ifdef GL_NV_texture_shader2
03022   glew.NV_texture_shader2 = glewGetExtension("GL_NV_texture_shader2");
03023 #endif
03024 #ifdef GL_NV_texture_shader3
03025   glew.NV_texture_shader3 = glewGetExtension("GL_NV_texture_shader3");
03026 #endif
03027 #ifdef GL_NV_vertex_array_range
03028   glew.NV_vertex_array_range = glewGetExtension("GL_NV_vertex_array_range");
03029   if (glewExperimental || glew.NV_vertex_array_range) glew.NV_vertex_array_range = !_glewInit_NV_vertex_array_range();
03030 #endif
03031 #ifdef GL_NV_vertex_array_range2
03032   glew.NV_vertex_array_range2 = glewGetExtension("GL_NV_vertex_array_range2");
03033 #endif
03034 #ifdef GL_NV_vertex_program
03035   glew.NV_vertex_program = glewGetExtension("GL_NV_vertex_program");
03036   if (glewExperimental || glew.NV_vertex_array_range) glew.NV_vertex_array_range = !_glewInit_NV_vertex_program();
03037 #endif
03038 #ifdef GL_NV_vertex_program1_1
03039   glew.NV_vertex_program1_1 = glewGetExtension("GL_NV_vertex_program1_1");
03040 #endif
03041 #ifdef GL_NV_vertex_program2
03042   glew.NV_vertex_program2 = glewGetExtension("GL_NV_vertex_program2");
03043 #endif
03044   return GLEW_OK;
03045 }
03046 
03047 /* ------------------------------------------------------------------------ */
03048 
03049 #ifdef _WIN32
03050 
03051 GLboolean wglewGetExtension (const char *name)
03052 {    
03053   char *p, *end;
03054   int len = _glewStrLen(name);
03055   if (wglGetExtensionsStringARB == NULL)
03056     if (wglGetExtensionsStringEXT == NULL)
03057       return GL_FALSE;
03058     else
03059       p = (char*)wglGetExtensionsStringEXT();
03060   else
03061     p = (char*)wglGetExtensionsStringARB(wglGetCurrentDC());
03062   if (0 == p) return GL_FALSE;
03063   end = p + _glewStrLen(p);
03064   while (p < end)
03065   {
03066     int n = _glewStrCLen(p, ' ');
03067     if (len == n && _glewStrSame(name, p, n)) return GL_TRUE;
03068     p += n+1;
03069   }
03070   return GL_FALSE;
03071 }
03072 
03073 static GLint _wglewInit ()
03074 {
03075   /* intialize wglew struct */
03076   _glewMemSet(&wglew, 0, sizeof(wglew));
03077   /* find wgl extension string query functions */
03078   _wglewInit_ARB_extensions_string();
03079   wglew.ARB_extensions_string = wglGetExtensionsStringARB != NULL;
03080   _wglewInit_EXT_extensions_string();
03081   wglew.EXT_extensions_string = wglGetExtensionsStringEXT != NULL;
03082   if (wglew.ARB_extensions_string == 0 && 
03083       wglew.EXT_extensions_string == 0) return GLEW_ERROR_NO_EXTENSIONS_STRING;
03084   /* initialize extensions */
03085 #ifdef WGL_ARB_buffer_region
03086   wglew.ARB_buffer_region = wglewGetExtension("WGL_ARB_buffer_region");
03087   if (glewExperimental || wglew.ARB_buffer_region) wglew.ARB_buffer_region = !_wglewInit_ARB_buffer_region();
03088 #endif
03089 #ifdef WGL_ARB_make_current_read
03090   wglew.ARB_make_current_read = wglewGetExtension("WGL_ARB_make_current_read");
03091   if (glewExperimental || wglew.ARB_make_current_read) wglew.ARB_make_current_read = !_wglewInit_ARB_make_current_read();
03092 #endif    
03093 #ifdef WGL_ARB_multisample
03094   wglew.ARB_multisample = wglewGetExtension("WGL_ARB_multisample");
03095 #endif
03096 #ifdef WGL_ARB_pbuffer
03097   wglew.ARB_pbuffer = wglewGetExtension("WGL_ARB_pbuffer");
03098   if (glewExperimental || wglew.ARB_pbuffer) wglew.ARB_pbuffer = !_wglewInit_ARB_pbuffer();
03099 #endif
03100 #ifdef WGL_ARB_pixel_format
03101   wglew.ARB_pixel_format = wglewGetExtension("WGL_ARB_pixel_format");
03102   if (glewExperimental || wglew.ARB_pixel_format) wglew.ARB_pixel_format = !_wglewInit_ARB_pixel_format();
03103 #endif
03104 #ifdef WGL_ARB_render_texture
03105   wglew.ARB_render_texture = wglewGetExtension("WGL_ARB_render_texture");
03106   if (glewExperimental || wglew.ARB_render_texture) wglew.ARB_render_texture = !_wglewInit_ARB_render_texture();
03107 #endif
03108 
03109 #ifdef WGL_EXT_depth_float
03110   wglew.EXT_depth_float = wglewGetExtension("WGL_EXT_depth_float");
03111 #endif
03112 #ifdef WGL_EXT_display_color_table
03113   wglew.EXT_display_color_table = wglewGetExtension("WGL_EXT_display_color_table");
03114   if (glewExperimental || wglew.EXT_display_color_table) wglew.EXT_display_color_table = !_wglewInit_EXT_display_color_table();
03115 #endif
03116 #ifdef WGL_EXT_make_current_read
03117   wglew.EXT_make_current_read = wglewGetExtension("WGL_EXT_make_current_read");
03118   if (glewExperimental || wglew.EXT_make_current_read) wglew.EXT_make_current_read = !_wglewInit_EXT_make_current_read();
03119 #endif
03120 #ifdef WGL_EXT_multisample
03121   wglew.EXT_multisample = wglewGetExtension("WGL_EXT_multisample");
03122 #endif
03123 #ifdef WGL_EXT_pixel_format
03124   wglew.EXT_pixel_format = wglewGetExtension("WGL_EXT_pixel_format");
03125   if (glewExperimental || wglew.EXT_pixel_format) wglew.EXT_pixel_format = !_wglewInit_EXT_pixel_format();
03126 #endif
03127 #ifdef WGL_EXT_pbuffer
03128   wglew.EXT_pbuffer = wglewGetExtension("WGL_EXT_pbuffer");
03129   if (glewExperimental || wglew.EXT_pbuffer) wglew.EXT_pbuffer = !_wglewInit_EXT_pbuffer();
03130 #endif
03131 #ifdef WGL_EXT_swap_control
03132   wglew.EXT_swap_control = wglewGetExtension("WGL_EXT_swap_control");
03133   if (glewExperimental || wglew.EXT_swap_control) wglew.EXT_swap_control = !_wglewInit_EXT_swap_control();
03134 #endif
03135 
03136 #ifdef WGL_I3D_digital_video_control
03137   wglew.I3D_digital_video_control = wglewGetExtension("WGL_I3D_digital_video_control");
03138   if (glewExperimental || wglew.I3D_digital_video_control) wglew.I3D_digital_video_control = !_wglewInit_I3D_digital_video_control();
03139 #endif
03140 #ifdef WGL_I3D_gamma
03141   wglew.I3D_gamma = wglewGetExtension("WGL_I3D_gamma");
03142   if (glewExperimental || wglew.I3D_gamma) wglew.I3D_gamma = !_wglewInit_I3D_gamma();
03143 #endif
03144 #ifdef WGL_I3D_genlock
03145   wglew.I3D_genlock = wglewGetExtension("WGL_I3D_genlock");
03146   if (glewExperimental || wglew.I3D_genlock) wglew.I3D_genlock = !_wglewInit_I3D_genlock();
03147 #endif
03148 #ifdef WGL_I3D_image_buffer
03149   wglew.I3D_image_buffer = wglewGetExtension("WGL_I3D_image_buffer");
03150   if (glewExperimental || wglew.I3D_image_buffer) wglew.I3D_image_buffer = !_wglewInit_I3D_image_buffer();
03151 #endif
03152 #ifdef WGL_I3D_swap_frame_lock
03153   wglew.I3D_swap_frame_lock = wglewGetExtension("WGL_I3D_swap_frame_lock");
03154   if (glewExperimental || wglew.I3D_swap_frame_lock) wglew.I3D_swap_frame_lock = !_wglewInit_I3D_swap_frame_lock();
03155 #endif
03156 #ifdef WGL_I3D_swap_frame_usage
03157   wglew.I3D_swap_frame_usage = wglewGetExtension("WGL_I3D_swap_frame_usage");
03158   if (glewExperimental || wglew.I3D_swap_frame_usage) wglew.I3D_swap_frame_usage = !_wglewInit_I3D_swap_frame_usage();
03159 #endif
03160 
03161 #ifdef WGL_OML_sync_control
03162   wglew.OML_sync_control = wglewGetExtension("WGL_OML_sync_control");
03163   if (glewExperimental || wglew.OML_sync_control) wglew.OML_sync_control = !_wglewInit_OML_sync_control();
03164 #endif
03165 
03166 #ifdef WGL_ATI_pixel_format_float
03167   wglew.ATI_pixel_format_float = wglewGetExtension("WGL_ATI_pixel_format_float");
03168 #endif
03169 
03170 #ifdef WGL_NV_float_buffer
03171   wglew.NV_float_buffer = wglewGetExtension("WGL_NV_float_buffer");
03172 #endif
03173 #ifdef WGL_NV_render_depth_texture
03174   wglew.NV_render_depth_texture = wglewGetExtension("WGL_NV_render_depth_texture");
03175 #endif
03176 #ifdef WGL_NV_render_texture_rectangle
03177   wglew.NV_render_texture_rectangle = wglewGetExtension("WGL_NV_render_texture_rectangle");
03178 #endif
03179 #ifdef WGL_NV_vertex_array_range
03180   wglew.NV_vertex_array_range = wglewGetExtension("WGL_NV_vertex_array_range");
03181   if (glewExperimental || wglew.NV_vertex_array_range) wglew.NV_vertex_array_range = !_wglewInit_NV_vertex_array_range();
03182 #endif
03183   return GLEW_OK;
03184 }
03185 
03186 #else /* _UNIX */
03187 
03188 GLboolean glxewGetExtension (const char *name)
03189 {    
03190   char *p, *end;
03191   int len = _glewStrLen(name);
03192   if (glXQueryExtensionsString == NULL) return GL_FALSE;
03193   p = (char*)glXQueryExtensionsString(glXGetCurrentDisplay(), DefaultScreen(glXGetCurrentDisplay()));
03194   if (0 == p) return GL_FALSE;
03195   end = p + _glewStrLen(p);
03196   while (p < end)
03197   {
03198     int n = _glewStrCLen(p, ' ');
03199     if (len == n && _glewStrSame(name, p, n)) return GL_TRUE;
03200     p += n+1;
03201   }
03202   return GL_FALSE;
03203 }
03204 
03205 static GLint _glxewInit ()
03206 {
03207   int major, minor;
03208   /* intialize glxew struct */
03209   _glewMemSet(&glxew, 0, sizeof(glxew));
03210   /* initialize core GLX 1.0-1.2 */
03211   if (_glxewInit_10() || _glxewInit_11() || _glxewInit_12()) return GLEW_ERROR_GLX_VERSION_11_ONLY;
03212   /* query GLX version */
03213   glXQueryVersion(glXGetCurrentDisplay(), &major, &minor);
03214   switch (minor)
03215   {
03216     case 2:
03217     glxew.GLX_10 = 1; glxew.GLX_11 = 1; glxew.GLX_12 = 1; glxew.GLX_13 = 0; glxew.GLX_14 = 0; 
03218     break;
03219     case 3:
03220     glxew.GLX_10 = 1; glxew.GLX_11 = 1; glxew.GLX_12 = 1; glxew.GLX_13 = 1; glxew.GLX_14 = 0; 
03221     break;
03222     case 4:
03223     glxew.GLX_10 = 1; glxew.GLX_11 = 1; glxew.GLX_12 = 1; glxew.GLX_13 = 1; glxew.GLX_14 = 1; 
03224     break;
03225     default:
03226     return GLEW_ERROR_GLX_VERSION_11_ONLY;
03227     break;
03228   }
03229   /* initialize core GLX 1.3-1.4 */
03230 #ifdef GLX_VERSION_1_3
03231   if (glewExperimental || glxew.GLX_13) glxew.GLX_13 = !_glxewInit_13();
03232 #endif
03233   /* initialize extensions */
03234 #ifdef GLX_ARB_multisample
03235   glxew.ARB_multisample = glxewGetExtension("GLX_ARB_multisample");
03236 #endif
03237 
03238 #ifdef GLX_EXT_visual_info
03239   glxew.EXT_visual_info = glxewGetExtension("GLX_EXT_visual_info");
03240 #endif
03241 #ifdef GLX_EXT_visual_rating
03242   glxew.EXT_visual_rating = glxewGetExtension("GLX_EXT_visual_rating");
03243 #endif
03244 #ifdef GLX_EXT_import_context
03245   glxew.EXT_import_context = glxewGetExtension("GLX_EXT_import_context");
03246   if (glewExperimental || glxew.EXT_import_context) glxew.EXT_import_context = !_glxewInit_EXT_import_context();
03247 #endif
03248 
03249 #ifdef GLX_MESA_copy_sub_buffer
03250   glxew.MESA_copy_sub_buffer = glxewGetExtension("GLX_MESA_copy_sub_buffer");
03251   if (glewExperimental || glxew.MESA_copy_sub_buffer) glxew.MESA_copy_sub_buffer = !_glxewInit_MESA_copy_sub_buffer();
03252 #endif
03253 #ifdef GLX_MESA_pixmap_colormap
03254   glxew.MESA_pixmap_colormap = glxewGetExtension("GLX_MESA_pixmap_colormap");
03255   if (glewExperimental || glxew.MESA_pixmap_colormap) glxew.MESA_pixmap_colormap = !_glxewInit_MESA_pixmap_colormap();
03256 #endif
03257 #ifdef GLX_MESA_release_buffers
03258   glxew.MESA_release_buffers = glxewGetExtension("GLX_MESA_release_buffers");
03259   if (glewExperimental || glxew.MESA_release_buffers) glxew.MESA_release_buffers = !_glxewInit_MESA_release_buffers();
03260 #endif
03261 #ifdef GLX_MESA_set_3dfx_mode
03262   glxew.MESA_set_3dfx_mode = glxewGetExtension("GLX_MESA_set_3dfx_mode");
03263   if (glewExperimental || glxew.MESA_set_3dfx_mode) glxew.MESA_set_3dfx_mode = !_glxewInit_MESA_set_3dfx_mode();
03264 #endif
03265 
03266 #ifdef GLX_NV_vertex_array_range
03267   glxew.NV_vertex_array_range = glxewGetExtension("GLX_NV_vertex_array_range");
03268   if (glewExperimental || glxew.NV_vertex_array_range) glxew.NV_vertex_array_range = !_glxewInit_NV_vertex_array_range();
03269 #endif
03270 
03271 #ifdef GLX_OML_swap_method
03272   glxew.OML_swap_method = glxewGetExtension("GLX_OML_swap_method");
03273 #endif
03274 #ifdef GLX_OML_sync_control
03275 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
03276   glxew.OML_sync_control = glxewGetExtension("GLX_OML_sync_control");
03277   if (glewExperimental || glxew.OML_sync_control) glxew.OML_sync_control = !_glxewInit_OML_sync_control();
03278 #endif /* __STDC_VERSION__ */
03279 #endif
03280 
03281 #ifdef GLX_SGI_cushion
03282   glxew.SGI_cushion = glxewGetExtension("GLX_SGI_cushion");
03283   if (glewExperimental || glxew.SGI_cushion) glxew.SGI_cushion = !_glxewInit_SGI_cushion();
03284 #endif
03285 #ifdef GLX_SGI_make_current_read
03286   glxew.SGI_make_current_read = glxewGetExtension("GLX_SGI_make_current_read");
03287   if (glewExperimental || glxew.SGI_make_current_read) glxew.SGI_make_current_read = !_glxewInit_SGI_make_current_read();
03288 #endif
03289 #ifdef GLX_SGI_swap_control
03290   glxew.SGI_swap_control = glxewGetExtension("GLX_SGI_swap_control");
03291   if (glewExperimental || glxew.SGI_swap_control) glxew.SGI_swap_control = !_glxewInit_SGI_swap_control();
03292 #endif
03293 #ifdef GLX_SGI_video_sync
03294   glxew.SGI_video_sync = glxewGetExtension("GLX_SGI_video_sync");
03295   if (glewExperimental || glxew.SGI_video_sync) glxew.SGI_video_sync = !_glxewInit_SGI_video_sync();
03296 #endif
03297 
03298 #ifdef GLX_SGIS_blended_overlay
03299   glxew.SGIS_blended_overlay = glxewGetExtension("GLX_SGIS_blended_overlay");
03300 #endif
03301 #ifdef GLX_SGIS_multisample
03302   glxew.SGIS_multisample = glxewGetExtension("GLX_SGIS_multisample");
03303 #endif
03304 #ifdef GLX_SGIS_shared_multisample
03305   glxew.SGIS_shared_multisample = glxewGetExtension("GLX_SGIS_shared_multisample");
03306 #endif
03307 
03308 #ifdef GLX_SGIX_fbconfig
03309   glxew.SGIX_fbconfig = glxewGetExtension("GLX_SGIX_fbconfig");
03310   if (glewExperimental || glxew.SGIX_fbconfig) glxew.SGIX_fbconfig = !_glxewInit_SGIX_fbconfig();
03311 #endif
03312 #ifdef GLX_SGIX_pbuffer
03313   glxew.SGIX_pbuffer = glxewGetExtension("GLX_SGIX_pbuffer");
03314   if (glewExperimental || glxew.SGIX_pbuffer) glxew.SGIX_pbuffer = !_glxewInit_SGIX_pbuffer();
03315 #endif
03316 #ifdef GLX_SGIX_swap_barrier
03317   glxew.SGIX_swap_barrier = glxewGetExtension("GLX_SGIX_swap_barrier");
03318   if (glewExperimental || glxew.SGIX_swap_barrier) glxew.SGIX_swap_barrier = !_glxewInit_SGIX_swap_barrier();
03319 #endif
03320 #ifdef GLX_SGIX_swap_group
03321   glxew.SGIX_swap_group = glxewGetExtension("GLX_SGIX_swap_group");
03322   if (glewExperimental || glxew.SGIX_swap_group) glxew.SGIX_swap_group = !_glxewInit_SGIX_swap_group();
03323 #endif
03324 #ifdef GLX_SGIX_visual_select_group
03325   glxew.SGIX_visual_select_group = glxewGetExtension("GLX_SGIX_visual_select_group");
03326 #endif
03327 
03328 #ifdef GLX_SUN_get_transparent_index
03329   glxew.SUN_get_transparent_index = glxewGetExtension("GLX_SUN_get_transparent_index");
03330   if (glewExperimental || glxew.SUN_get_transparent_index) glxew.SUN_get_transparent_index = !_glxewInit_SUN_get_transparent_index();
03331 #endif
03332   return GLEW_OK;
03333 }
03334 
03335 #endif /* _WIN32 */
03336 
03337 /* ------------------------------------------------------------------------ */
03338 
03339 static char _glewErrorString[6][40] =
03340 {
03341   "no error",
03342   "missing GL version",
03343   "missing {ARB,EXT}_extensions_string",
03344   "GL 1.1 and up are not supported",
03345   "GLX 1.2 and up are not supported",
03346   "unknown error"
03347 };
03348 
03349 const char* glewGetErrorString (GLint error)
03350 {
03351   if (error > 5) error = 5;
03352   return _glewErrorString[error];
03353 }
03354 
03355 /* ------------------------------------------------------------------------ */
03356 
03357 struct GLEW glew;
03358 #ifdef _WIN32
03359 struct WGLEW wglew;
03360 #else /* _UNIX */
03361 struct GLXEW glxew;
03362 #endif /* _WIN32 */
03363 GLboolean glewExperimental = GL_FALSE;
03364 
03365 GLint glewInit ()
03366 {
03367   GLint r;
03368   if (r = _glewInit()) return r;
03369 #ifdef _WIN32
03370   return _wglewInit();
03371 #else /* _UNIX */
03372   return _glxewInit();
03373 #endif /* _WIN32 */
03374 }

Send questions, comments, and bug reports to:
jmk