Kees van Prooijenmore windows port9ae11ff13 years agoHistory
15955 lines · 789.0 KB · C++
RawDownload
#ifdef _WIN32/*** The OpenGL Extension Wrangler Library** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>** Copyright (C) 2002, Lev Povalahev** All rights reserved.** ** Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are met:** ** * Redistributions of source code must retain the above copyright notice, **   this list of conditions and the following disclaimer.** * Redistributions in binary form must reproduce the above copyright notice, **   this list of conditions and the following disclaimer in the documentation **   and/or other materials provided with the distribution.** * The name of the author may be used to endorse or promote products **   derived from this software without specific prior written permission.**** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF** THE POSSIBILITY OF SUCH DAMAGE.*/ #define GLEW_STATIC #include <GL/glew.h>#if defined(_WIN32)#  include <GL/wglew.h>#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)#  include <GL/glxew.h>#endif /* * Define glewGetContext and related helper macros. */#ifdef GLEW_MX#  define glewGetContext() ctx#  ifdef _WIN32#    define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx#    define GLEW_CONTEXT_ARG_VAR_INIT ctx#    define wglewGetContext() ctx#    define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx#    define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx#  else /* _WIN32 */#    define GLEW_CONTEXT_ARG_DEF_INIT void#    define GLEW_CONTEXT_ARG_VAR_INIT#    define glxewGetContext() ctx#    define GLXEW_CONTEXT_ARG_DEF_INIT void#    define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx#  endif /* _WIN32 */#  define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx#else /* GLEW_MX */#  define GLEW_CONTEXT_ARG_DEF_INIT void#  define GLEW_CONTEXT_ARG_VAR_INIT#  define GLEW_CONTEXT_ARG_DEF_LIST void#  define WGLEW_CONTEXT_ARG_DEF_INIT void#  define WGLEW_CONTEXT_ARG_DEF_LIST void#  define GLXEW_CONTEXT_ARG_DEF_INIT void#  define GLXEW_CONTEXT_ARG_DEF_LIST void#endif /* GLEW_MX */ #if defined(__sgi) || defined (__sun) || defined(GLEW_APPLE_GLX)#include <dlfcn.h>#include <stdio.h>#include <stdlib.h> void* dlGetProcAddress (const GLubyte* name){  static void* h = NULL;  static void* gpa;   if (h == NULL)  {    if ((h = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL)) == NULL) return NULL;    gpa = dlsym(h, "glXGetProcAddress");  }   if (gpa != NULL)    return ((void*(*)(const GLubyte*))gpa)(name);  else    return dlsym(h, (const char*)name);}#endif /* __sgi || __sun || GLEW_APPLE_GLX */ #if defined(__APPLE__)#include <stdlib.h>#include <string.h>#include <AvailabilityMacros.h> #ifdef MAC_OS_X_VERSION_10_3 #include <dlfcn.h> void* NSGLGetProcAddress (const GLubyte *name){  static void* image = NULL;  if (NULL == image)   {    image = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY);  }  if( !image ) return NULL;  void* addr = dlsym(image, (const char*)name);  if( addr ) return addr;#ifdef GLEW_APPLE_GLX  return dlGetProcAddress( name ); // try next for glx symbols#else  return NULL;#endif}#else #include <mach-o/dyld.h> void* NSGLGetProcAddress (const GLubyte *name){  static const struct mach_header* image = NULL;  NSSymbol symbol;  char* symbolName;  if (NULL == image)  {    image = NSAddImage("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", NSADDIMAGE_OPTION_RETURN_ON_ERROR);  }  /* prepend a '_' for the Unix C symbol mangling convention */  symbolName = malloc(strlen((const char*)name) + 2);  strcpy(symbolName+1, (const char*)name);  symbolName[0] = '_';  symbol = NULL;  /* if (NSIsSymbolNameDefined(symbolName))	 symbol = NSLookupAndBindSymbol(symbolName); */  symbol = image ? NSLookupSymbolInImage(image, symbolName, NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) : NULL;  free(symbolName);  if( symbol ) return NSAddressOfSymbol(symbol);#ifdef GLEW_APPLE_GLX  return dlGetProcAddress( name ); // try next for glx symbols#else  return NULL;#endif}#endif /* MAC_OS_X_VERSION_10_3 */#endif /* __APPLE__ */ /* * Define glewGetProcAddress. */#if defined(_WIN32)#  define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)#else#  if defined(__APPLE__)#    define glewGetProcAddress(name) NSGLGetProcAddress(name)#  else#    if defined(__sgi) || defined(__sun)#      define glewGetProcAddress(name) dlGetProcAddress(name)#    else /* __linux */#      define glewGetProcAddress(name) (*glXGetProcAddressARB)(name)#    endif#  endif#endif /* * Define GLboolean const cast. */#define CONST_CAST(x) (*(GLboolean*)&x) /* * GLEW, just like OpenGL or GLU, does not rely on the standard C library. * These functions implement the functionality required in this file. */static GLuint _glewStrLen (const GLubyte* s){  GLuint i=0;  if (s == NULL) return 0;  while (s[i] != '\0') i++;  return i;} static GLuint _glewStrCLen (const GLubyte* s, GLubyte c){  GLuint i=0;  if (s == NULL) return 0;  while (s[i] != '\0' && s[i] != c) i++;  return (s[i] == '\0' || s[i] == c) ? i : 0;} static GLboolean _glewStrSame (const GLubyte* a, const GLubyte* b, GLuint n){  GLuint i=0;  if(a == NULL || b == NULL)    return (a == NULL && b == NULL && n == 0) ? GL_TRUE : GL_FALSE;  while (i < n && a[i] != '\0' && b[i] != '\0' && a[i] == b[i]) i++;  return i == n ? GL_TRUE : GL_FALSE;} static GLboolean _glewStrSame1 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb){  while (*na > 0 && (**a == ' ' || **a == '\n' || **a == '\r' || **a == '\t'))  {    (*a)++;    (*na)--;  }  if(*na >= nb)  {    GLuint i=0;    while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++;    if(i == nb)    {      *a = *a + nb;      *na = *na - nb;      return GL_TRUE;    }  }  return GL_FALSE;} static GLboolean _glewStrSame2 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb){  if(*na >= nb)  {    GLuint i=0;    while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++;    if(i == nb)    {      *a = *a + nb;      *na = *na - nb;      return GL_TRUE;    }  }  return GL_FALSE;} static GLboolean _glewStrSame3 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb){  if(*na >= nb)  {    GLuint i=0;    while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++;    if (i == nb && (*na == nb || (*a)[i] == ' ' || (*a)[i] == '\n' || (*a)[i] == '\r' || (*a)[i] == '\t'))    {      *a = *a + nb;      *na = *na - nb;      return GL_TRUE;    }  }  return GL_FALSE;} /* * Search for name in the extensions string. Use of strstr() * is not sufficient because extension names can be prefixes of * other extension names. Could use strtok() but the constant * string returned by glGetString might be in read-only memory. */static GLboolean _glewSearchExtension (const char* name, const GLubyte *start, const GLubyte *end){  const GLubyte* p;  GLuint len = _glewStrLen((const GLubyte*)name);  p = start;  while (p < end)  {    GLuint n = _glewStrCLen(p, ' ');    if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;    p += n+1;  }  return GL_FALSE;} #if !defined(_WIN32) || !defined(GLEW_MX) PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D = NULL;PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements = NULL;PFNGLTEXIMAGE3DPROC __glewTexImage3D = NULL;PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D = NULL; PFNGLACTIVETEXTUREPROC __glewActiveTexture = NULL;PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture = NULL;PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D = NULL;PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D = NULL;PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D = NULL;PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D = NULL;PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D = NULL;PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D = NULL;PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage = NULL;PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd = NULL;PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf = NULL;PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd = NULL;PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf = NULL;PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d = NULL;PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv = NULL;PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f = NULL;PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv = NULL;PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i = NULL;PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv = NULL;PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s = NULL;PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv = NULL;PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d = NULL;PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv = NULL;PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f = NULL;PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv = NULL;PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i = NULL;PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv = NULL;PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s = NULL;PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv = NULL;PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d = NULL;PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv = NULL;PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f = NULL;PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv = NULL;PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i = NULL;PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv = NULL;PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s = NULL;PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv = NULL;PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d = NULL;PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv = NULL;PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f = NULL;PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv = NULL;PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i = NULL;PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv = NULL;PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s = NULL;PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv = NULL;PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage = NULL; PFNGLBLENDCOLORPROC __glewBlendColor = NULL;PFNGLBLENDEQUATIONPROC __glewBlendEquation = NULL;PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate = NULL;PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer = NULL;PFNGLFOGCOORDDPROC __glewFogCoordd = NULL;PFNGLFOGCOORDDVPROC __glewFogCoorddv = NULL;PFNGLFOGCOORDFPROC __glewFogCoordf = NULL;PFNGLFOGCOORDFVPROC __glewFogCoordfv = NULL;PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays = NULL;PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements = NULL;PFNGLPOINTPARAMETERFPROC __glewPointParameterf = NULL;PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv = NULL;PFNGLPOINTPARAMETERIPROC __glewPointParameteri = NULL;PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv = NULL;PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b = NULL;PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv = NULL;PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d = NULL;PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv = NULL;PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f = NULL;PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv = NULL;PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i = NULL;PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv = NULL;PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s = NULL;PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv = NULL;PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub = NULL;PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv = NULL;PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui = NULL;PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv = NULL;PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us = NULL;PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv = NULL;PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer = NULL;PFNGLWINDOWPOS2DPROC __glewWindowPos2d = NULL;PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv = NULL;PFNGLWINDOWPOS2FPROC __glewWindowPos2f = NULL;PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv = NULL;PFNGLWINDOWPOS2IPROC __glewWindowPos2i = NULL;PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv = NULL;PFNGLWINDOWPOS2SPROC __glewWindowPos2s = NULL;PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv = NULL;PFNGLWINDOWPOS3DPROC __glewWindowPos3d = NULL;PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv = NULL;PFNGLWINDOWPOS3FPROC __glewWindowPos3f = NULL;PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv = NULL;PFNGLWINDOWPOS3IPROC __glewWindowPos3i = NULL;PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv = NULL;PFNGLWINDOWPOS3SPROC __glewWindowPos3s = NULL;PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv = NULL; PFNGLBEGINQUERYPROC __glewBeginQuery = NULL;PFNGLBINDBUFFERPROC __glewBindBuffer = NULL;PFNGLBUFFERDATAPROC __glewBufferData = NULL;PFNGLBUFFERSUBDATAPROC __glewBufferSubData = NULL;PFNGLDELETEBUFFERSPROC __glewDeleteBuffers = NULL;PFNGLDELETEQUERIESPROC __glewDeleteQueries = NULL;PFNGLENDQUERYPROC __glewEndQuery = NULL;PFNGLGENBUFFERSPROC __glewGenBuffers = NULL;PFNGLGENQUERIESPROC __glewGenQueries = NULL;PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv = NULL;PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv = NULL;PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData = NULL;PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv = NULL;PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv = NULL;PFNGLGETQUERYIVPROC __glewGetQueryiv = NULL;PFNGLISBUFFERPROC __glewIsBuffer = NULL;PFNGLISQUERYPROC __glewIsQuery = NULL;PFNGLMAPBUFFERPROC __glewMapBuffer = NULL;PFNGLUNMAPBUFFERPROC __glewUnmapBuffer = NULL; PFNGLATTACHSHADERPROC __glewAttachShader = NULL;PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation = NULL;PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate = NULL;PFNGLCOMPILESHADERPROC __glewCompileShader = NULL;PFNGLCREATEPROGRAMPROC __glewCreateProgram = NULL;PFNGLCREATESHADERPROC __glewCreateShader = NULL;PFNGLDELETEPROGRAMPROC __glewDeleteProgram = NULL;PFNGLDELETESHADERPROC __glewDeleteShader = NULL;PFNGLDETACHSHADERPROC __glewDetachShader = NULL;PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray = NULL;PFNGLDRAWBUFFERSPROC __glewDrawBuffers = NULL;PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray = NULL;PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib = NULL;PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform = NULL;PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders = NULL;PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation = NULL;PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog = NULL;PFNGLGETPROGRAMIVPROC __glewGetProgramiv = NULL;PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog = NULL;PFNGLGETSHADERSOURCEPROC __glewGetShaderSource = NULL;PFNGLGETSHADERIVPROC __glewGetShaderiv = NULL;PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation = NULL;PFNGLGETUNIFORMFVPROC __glewGetUniformfv = NULL;PFNGLGETUNIFORMIVPROC __glewGetUniformiv = NULL;PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv = NULL;PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv = NULL;PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv = NULL;PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv = NULL;PFNGLISPROGRAMPROC __glewIsProgram = NULL;PFNGLISSHADERPROC __glewIsShader = NULL;PFNGLLINKPROGRAMPROC __glewLinkProgram = NULL;PFNGLSHADERSOURCEPROC __glewShaderSource = NULL;PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate = NULL;PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate = NULL;PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate = NULL;PFNGLUNIFORM1FPROC __glewUniform1f = NULL;PFNGLUNIFORM1FVPROC __glewUniform1fv = NULL;PFNGLUNIFORM1IPROC __glewUniform1i = NULL;PFNGLUNIFORM1IVPROC __glewUniform1iv = NULL;PFNGLUNIFORM2FPROC __glewUniform2f = NULL;PFNGLUNIFORM2FVPROC __glewUniform2fv = NULL;PFNGLUNIFORM2IPROC __glewUniform2i = NULL;PFNGLUNIFORM2IVPROC __glewUniform2iv = NULL;PFNGLUNIFORM3FPROC __glewUniform3f = NULL;PFNGLUNIFORM3FVPROC __glewUniform3fv = NULL;PFNGLUNIFORM3IPROC __glewUniform3i = NULL;PFNGLUNIFORM3IVPROC __glewUniform3iv = NULL;PFNGLUNIFORM4FPROC __glewUniform4f = NULL;PFNGLUNIFORM4FVPROC __glewUniform4fv = NULL;PFNGLUNIFORM4IPROC __glewUniform4i = NULL;PFNGLUNIFORM4IVPROC __glewUniform4iv = NULL;PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv = NULL;PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv = NULL;PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv = NULL;PFNGLUSEPROGRAMPROC __glewUseProgram = NULL;PFNGLVALIDATEPROGRAMPROC __glewValidateProgram = NULL;PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d = NULL;PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv = NULL;PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f = NULL;PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv = NULL;PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s = NULL;PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv = NULL;PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d = NULL;PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv = NULL;PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f = NULL;PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv = NULL;PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s = NULL;PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv = NULL;PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d = NULL;PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv = NULL;PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f = NULL;PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv = NULL;PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s = NULL;PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv = NULL;PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv = NULL;PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv = NULL;PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv = NULL;PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub = NULL;PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv = NULL;PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv = NULL;PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv = NULL;PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv = NULL;PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d = NULL;PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv = NULL;PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f = NULL;PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv = NULL;PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv = NULL;PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s = NULL;PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv = NULL;PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv = NULL;PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv = NULL;PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv = NULL;PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer = NULL; PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv = NULL;PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv = NULL;PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv = NULL;PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv = NULL;PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv = NULL;PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv = NULL; PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender = NULL;PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback = NULL;PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation = NULL;

Lines 1–500 of 15955.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t