PageRenderTime 29ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 1ms

/RenderSystems/GL3Plus/src/glew.cpp

https://bitbucket.org/masterfalcon/ogre-gl3plus/
C++ | 1323 lines | 1161 code | 110 blank | 52 comment | 105 complexity | 195040e8863e88efa288d6c6b51bbd6d MD5 | raw file
Possible License(s): MIT, LGPL-2.1

Large files files are truncated, but you can click here to view the full file

  1. /*
  2. ** The OpenGL Extension Wrangler Library
  3. ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
  4. ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
  5. ** Copyright (C) 2002, Lev Povalahev
  6. ** All rights reserved.
  7. **
  8. ** Redistribution and use in source and binary forms, with or without
  9. ** modification, are permitted provided that the following conditions are met:
  10. **
  11. ** * Redistributions of source code must retain the above copyright notice,
  12. ** this list of conditions and the following disclaimer.
  13. ** * Redistributions in binary form must reproduce the above copyright notice,
  14. ** this list of conditions and the following disclaimer in the documentation
  15. ** and/or other materials provided with the distribution.
  16. ** * The name of the author may be used to endorse or promote products
  17. ** derived from this software without specific prior written permission.
  18. **
  19. ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  20. ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  21. ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  22. ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  23. ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  24. ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  25. ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  26. ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  27. ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  28. ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  29. ** THE POSSIBILITY OF SUCH DAMAGE.
  30. */
  31. #include <GL/glew.h>
  32. #if defined(_WIN32)
  33. # include <GL/wglew.h>
  34. #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
  35. # include <GL/glxew.h>
  36. #endif
  37. /*
  38. * Define glewGetContext and related helper macros.
  39. */
  40. #ifdef GLEW_MX
  41. # define glewGetContext() ctx
  42. # ifdef _WIN32
  43. # define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx
  44. # define GLEW_CONTEXT_ARG_VAR_INIT ctx
  45. # define wglewGetContext() ctx
  46. # define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx
  47. # define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx
  48. # else /* _WIN32 */
  49. # define GLEW_CONTEXT_ARG_DEF_INIT void
  50. # define GLEW_CONTEXT_ARG_VAR_INIT
  51. # define glxewGetContext() ctx
  52. # define GLXEW_CONTEXT_ARG_DEF_INIT void
  53. # define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx
  54. # endif /* _WIN32 */
  55. # define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx
  56. #else /* GLEW_MX */
  57. # define GLEW_CONTEXT_ARG_DEF_INIT void
  58. # define GLEW_CONTEXT_ARG_VAR_INIT
  59. # define GLEW_CONTEXT_ARG_DEF_LIST void
  60. # define WGLEW_CONTEXT_ARG_DEF_INIT void
  61. # define WGLEW_CONTEXT_ARG_DEF_LIST void
  62. # define GLXEW_CONTEXT_ARG_DEF_INIT void
  63. # define GLXEW_CONTEXT_ARG_DEF_LIST void
  64. #endif /* GLEW_MX */
  65. #if defined(__sgi) || defined (__sun) || defined(GLEW_APPLE_GLX)
  66. #include <dlfcn.h>
  67. #include <stdio.h>
  68. #include <stdlib.h>
  69. void* dlGetProcAddress (const GLubyte* name)
  70. {
  71. static void* h = NULL;
  72. static void* gpa;
  73. if (h == NULL)
  74. {
  75. if ((h = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL)) == NULL) return NULL;
  76. gpa = dlsym(h, "glXGetProcAddress");
  77. }
  78. if (gpa != NULL)
  79. return ((void*(*)(const GLubyte*))gpa)(name);
  80. else
  81. return dlsym(h, (const char*)name);
  82. }
  83. #endif /* __sgi || __sun || GLEW_APPLE_GLX */
  84. #if defined(__APPLE__)
  85. #include <stdlib.h>
  86. #include <string.h>
  87. #include <AvailabilityMacros.h>
  88. #ifdef MAC_OS_X_VERSION_10_3
  89. #include <dlfcn.h>
  90. void* NSGLGetProcAddress (const GLubyte *name)
  91. {
  92. static void* image = NULL;
  93. if (NULL == image)
  94. {
  95. image = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY);
  96. }
  97. if( !image ) return NULL;
  98. void* addr = dlsym(image, (const char*)name);
  99. if( addr ) return addr;
  100. #ifdef GLEW_APPLE_GLX
  101. return dlGetProcAddress( name ); // try next for glx symbols
  102. #else
  103. return NULL;
  104. #endif
  105. }
  106. #else
  107. #include <mach-o/dyld.h>
  108. void* NSGLGetProcAddress (const GLubyte *name)
  109. {
  110. static const struct mach_header* image = NULL;
  111. NSSymbol symbol;
  112. char* symbolName;
  113. if (NULL == image)
  114. {
  115. image = NSAddImage("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", NSADDIMAGE_OPTION_RETURN_ON_ERROR);
  116. }
  117. /* prepend a '_' for the Unix C symbol mangling convention */
  118. symbolName = malloc(strlen((const char*)name) + 2);
  119. strcpy(symbolName+1, (const char*)name);
  120. symbolName[0] = '_';
  121. symbol = NULL;
  122. /* if (NSIsSymbolNameDefined(symbolName))
  123. symbol = NSLookupAndBindSymbol(symbolName); */
  124. symbol = image ? NSLookupSymbolInImage(image, symbolName, NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) : NULL;
  125. free(symbolName);
  126. if( symbol ) return NSAddressOfSymbol(symbol);
  127. #ifdef GLEW_APPLE_GLX
  128. return dlGetProcAddress( name ); // try next for glx symbols
  129. #else
  130. return NULL;
  131. #endif
  132. }
  133. #endif /* MAC_OS_X_VERSION_10_3 */
  134. #endif /* __APPLE__ */
  135. /*
  136. * Define glewGetProcAddress.
  137. */
  138. #if defined(_WIN32)
  139. # define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
  140. #else
  141. # if defined(__APPLE__)
  142. # define glewGetProcAddress(name) NSGLGetProcAddress(name)
  143. # else
  144. # if defined(__sgi) || defined(__sun)
  145. # define glewGetProcAddress(name) dlGetProcAddress(name)
  146. # else /* __linux */
  147. # define glewGetProcAddress(name) (*glXGetProcAddressARB)(name)
  148. # endif
  149. # endif
  150. #endif
  151. /*
  152. * Define GLboolean const cast.
  153. */
  154. #define CONST_CAST(x) (*(GLboolean*)&x)
  155. /*
  156. * GLEW, just like OpenGL or GLU, does not rely on the standard C library.
  157. * These functions implement the functionality required in this file.
  158. */
  159. static GLuint _glewStrLen (const GLubyte* s)
  160. {
  161. GLuint i=0;
  162. if (s == NULL) return 0;
  163. while (s[i] != '\0') i++;
  164. return i;
  165. }
  166. static GLuint _glewStrCLen (const GLubyte* s, GLubyte c)
  167. {
  168. GLuint i=0;
  169. if (s == NULL) return 0;
  170. while (s[i] != '\0' && s[i] != c) i++;
  171. return (s[i] == '\0' || s[i] == c) ? i : 0;
  172. }
  173. static GLboolean _glewStrSame (const GLubyte* a, const GLubyte* b, GLuint n)
  174. {
  175. GLuint i=0;
  176. if(a == NULL || b == NULL)
  177. return (a == NULL && b == NULL && n == 0) ? GL_TRUE : GL_FALSE;
  178. while (i < n && a[i] != '\0' && b[i] != '\0' && a[i] == b[i]) i++;
  179. return i == n ? GL_TRUE : GL_FALSE;
  180. }
  181. static GLboolean _glewStrSame1 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb)
  182. {
  183. while (*na > 0 && (**a == ' ' || **a == '\n' || **a == '\r' || **a == '\t'))
  184. {
  185. (*a)++;
  186. (*na)--;
  187. }
  188. if(*na >= nb)
  189. {
  190. GLuint i=0;
  191. while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++;
  192. if(i == nb)
  193. {
  194. *a = *a + nb;
  195. *na = *na - nb;
  196. return GL_TRUE;
  197. }
  198. }
  199. return GL_FALSE;
  200. }
  201. static GLboolean _glewStrSame2 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb)
  202. {
  203. if(*na >= nb)
  204. {
  205. GLuint i=0;
  206. while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++;
  207. if(i == nb)
  208. {
  209. *a = *a + nb;
  210. *na = *na - nb;
  211. return GL_TRUE;
  212. }
  213. }
  214. return GL_FALSE;
  215. }
  216. static GLboolean _glewStrSame3 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb)
  217. {
  218. if(*na >= nb)
  219. {
  220. GLuint i=0;
  221. while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++;
  222. if (i == nb && (*na == nb || (*a)[i] == ' ' || (*a)[i] == '\n' || (*a)[i] == '\r' || (*a)[i] == '\t'))
  223. {
  224. *a = *a + nb;
  225. *na = *na - nb;
  226. return GL_TRUE;
  227. }
  228. }
  229. return GL_FALSE;
  230. }
  231. /*
  232. * Search for name in the extensions string. Use of strstr()
  233. * is not sufficient because extension names can be prefixes of
  234. * other extension names. Could use strtok() but the constant
  235. * string returned by glGetString might be in read-only memory.
  236. */
  237. static GLboolean _glewSearchExtension (const char* name, const GLubyte *start, const GLubyte *end)
  238. {
  239. const GLubyte* p;
  240. GLuint len = _glewStrLen((const GLubyte*)name);
  241. p = start;
  242. while (p < end)
  243. {
  244. GLuint n = _glewStrCLen(p, ' ');
  245. if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;
  246. p += n+1;
  247. }
  248. return GL_FALSE;
  249. }
  250. #if !defined(_WIN32) || !defined(GLEW_MX)
  251. PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D = NULL;
  252. PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements = NULL;
  253. PFNGLTEXIMAGE3DPROC __glewTexImage3D = NULL;
  254. PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D = NULL;
  255. PFNGLACTIVETEXTUREPROC __glewActiveTexture = NULL;
  256. PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture = NULL;
  257. PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D = NULL;
  258. PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D = NULL;
  259. PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D = NULL;
  260. PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D = NULL;
  261. PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D = NULL;
  262. PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D = NULL;
  263. PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage = NULL;
  264. PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd = NULL;
  265. PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf = NULL;
  266. PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd = NULL;
  267. PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf = NULL;
  268. PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d = NULL;
  269. PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv = NULL;
  270. PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f = NULL;
  271. PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv = NULL;
  272. PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i = NULL;
  273. PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv = NULL;
  274. PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s = NULL;
  275. PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv = NULL;
  276. PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d = NULL;
  277. PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv = NULL;
  278. PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f = NULL;
  279. PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv = NULL;
  280. PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i = NULL;
  281. PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv = NULL;
  282. PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s = NULL;
  283. PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv = NULL;
  284. PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d = NULL;
  285. PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv = NULL;
  286. PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f = NULL;
  287. PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv = NULL;
  288. PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i = NULL;
  289. PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv = NULL;
  290. PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s = NULL;
  291. PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv = NULL;
  292. PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d = NULL;
  293. PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv = NULL;
  294. PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f = NULL;
  295. PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv = NULL;
  296. PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i = NULL;
  297. PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv = NULL;
  298. PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s = NULL;
  299. PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv = NULL;
  300. PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage = NULL;
  301. PFNGLBLENDCOLORPROC __glewBlendColor = NULL;
  302. PFNGLBLENDEQUATIONPROC __glewBlendEquation = NULL;
  303. PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate = NULL;
  304. PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer = NULL;
  305. PFNGLFOGCOORDDPROC __glewFogCoordd = NULL;
  306. PFNGLFOGCOORDDVPROC __glewFogCoorddv = NULL;
  307. PFNGLFOGCOORDFPROC __glewFogCoordf = NULL;
  308. PFNGLFOGCOORDFVPROC __glewFogCoordfv = NULL;
  309. PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays = NULL;
  310. PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements = NULL;
  311. PFNGLPOINTPARAMETERFPROC __glewPointParameterf = NULL;
  312. PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv = NULL;
  313. PFNGLPOINTPARAMETERIPROC __glewPointParameteri = NULL;
  314. PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv = NULL;
  315. PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b = NULL;
  316. PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv = NULL;
  317. PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d = NULL;
  318. PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv = NULL;
  319. PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f = NULL;
  320. PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv = NULL;
  321. PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i = NULL;
  322. PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv = NULL;
  323. PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s = NULL;
  324. PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv = NULL;
  325. PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub = NULL;
  326. PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv = NULL;
  327. PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui = NULL;
  328. PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv = NULL;
  329. PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us = NULL;
  330. PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv = NULL;
  331. PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer = NULL;
  332. PFNGLWINDOWPOS2DPROC __glewWindowPos2d = NULL;
  333. PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv = NULL;
  334. PFNGLWINDOWPOS2FPROC __glewWindowPos2f = NULL;
  335. PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv = NULL;
  336. PFNGLWINDOWPOS2IPROC __glewWindowPos2i = NULL;
  337. PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv = NULL;
  338. PFNGLWINDOWPOS2SPROC __glewWindowPos2s = NULL;
  339. PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv = NULL;
  340. PFNGLWINDOWPOS3DPROC __glewWindowPos3d = NULL;
  341. PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv = NULL;
  342. PFNGLWINDOWPOS3FPROC __glewWindowPos3f = NULL;
  343. PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv = NULL;
  344. PFNGLWINDOWPOS3IPROC __glewWindowPos3i = NULL;
  345. PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv = NULL;
  346. PFNGLWINDOWPOS3SPROC __glewWindowPos3s = NULL;
  347. PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv = NULL;
  348. PFNGLBEGINQUERYPROC __glewBeginQuery = NULL;
  349. PFNGLBINDBUFFERPROC __glewBindBuffer = NULL;
  350. PFNGLBUFFERDATAPROC __glewBufferData = NULL;
  351. PFNGLBUFFERSUBDATAPROC __glewBufferSubData = NULL;
  352. PFNGLDELETEBUFFERSPROC __glewDeleteBuffers = NULL;
  353. PFNGLDELETEQUERIESPROC __glewDeleteQueries = NULL;
  354. PFNGLENDQUERYPROC __glewEndQuery = NULL;
  355. PFNGLGENBUFFERSPROC __glewGenBuffers = NULL;
  356. PFNGLGENQUERIESPROC __glewGenQueries = NULL;
  357. PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv = NULL;
  358. PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv = NULL;
  359. PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData = NULL;
  360. PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv = NULL;
  361. PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv = NULL;
  362. PFNGLGETQUERYIVPROC __glewGetQueryiv = NULL;
  363. PFNGLISBUFFERPROC __glewIsBuffer = NULL;
  364. PFNGLISQUERYPROC __glewIsQuery = NULL;
  365. PFNGLMAPBUFFERPROC __glewMapBuffer = NULL;
  366. PFNGLUNMAPBUFFERPROC __glewUnmapBuffer = NULL;
  367. PFNGLATTACHSHADERPROC __glewAttachShader = NULL;
  368. PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation = NULL;
  369. PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate = NULL;
  370. PFNGLCOMPILESHADERPROC __glewCompileShader = NULL;
  371. PFNGLCREATEPROGRAMPROC __glewCreateProgram = NULL;
  372. PFNGLCREATESHADERPROC __glewCreateShader = NULL;
  373. PFNGLDELETEPROGRAMPROC __glewDeleteProgram = NULL;
  374. PFNGLDELETESHADERPROC __glewDeleteShader = NULL;
  375. PFNGLDETACHSHADERPROC __glewDetachShader = NULL;
  376. PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray = NULL;
  377. PFNGLDRAWBUFFERSPROC __glewDrawBuffers = NULL;
  378. PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray = NULL;
  379. PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib = NULL;
  380. PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform = NULL;
  381. PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders = NULL;
  382. PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation = NULL;
  383. PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog = NULL;
  384. PFNGLGETPROGRAMIVPROC __glewGetProgramiv = NULL;
  385. PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog = NULL;
  386. PFNGLGETSHADERSOURCEPROC __glewGetShaderSource = NULL;
  387. PFNGLGETSHADERIVPROC __glewGetShaderiv = NULL;
  388. PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation = NULL;
  389. PFNGLGETUNIFORMFVPROC __glewGetUniformfv = NULL;
  390. PFNGLGETUNIFORMIVPROC __glewGetUniformiv = NULL;
  391. PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv = NULL;
  392. PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv = NULL;
  393. PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv = NULL;
  394. PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv = NULL;
  395. PFNGLISPROGRAMPROC __glewIsProgram = NULL;
  396. PFNGLISSHADERPROC __glewIsShader = NULL;
  397. PFNGLLINKPROGRAMPROC __glewLinkProgram = NULL;
  398. PFNGLSHADERSOURCEPROC __glewShaderSource = NULL;
  399. PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate = NULL;
  400. PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate = NULL;
  401. PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate = NULL;
  402. PFNGLUNIFORM1FPROC __glewUniform1f = NULL;
  403. PFNGLUNIFORM1FVPROC __glewUniform1fv = NULL;
  404. PFNGLUNIFORM1IPROC __glewUniform1i = NULL;
  405. PFNGLUNIFORM1IVPROC __glewUniform1iv = NULL;
  406. PFNGLUNIFORM2FPROC __glewUniform2f = NULL;
  407. PFNGLUNIFORM2FVPROC __glewUniform2fv = NULL;
  408. PFNGLUNIFORM2IPROC __glewUniform2i = NULL;
  409. PFNGLUNIFORM2IVPROC __glewUniform2iv = NULL;
  410. PFNGLUNIFORM3FPROC __glewUniform3f = NULL;
  411. PFNGLUNIFORM3FVPROC __glewUniform3fv = NULL;
  412. PFNGLUNIFORM3IPROC __glewUniform3i = NULL;
  413. PFNGLUNIFORM3IVPROC __glewUniform3iv = NULL;
  414. PFNGLUNIFORM4FPROC __glewUniform4f = NULL;
  415. PFNGLUNIFORM4FVPROC __glewUniform4fv = NULL;
  416. PFNGLUNIFORM4IPROC __glewUniform4i = NULL;
  417. PFNGLUNIFORM4IVPROC __glewUniform4iv = NULL;
  418. PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv = NULL;
  419. PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv = NULL;
  420. PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv = NULL;
  421. PFNGLUSEPROGRAMPROC __glewUseProgram = NULL;
  422. PFNGLVALIDATEPROGRAMPROC __glewValidateProgram = NULL;
  423. PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d = NULL;
  424. PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv = NULL;
  425. PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f = NULL;
  426. PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv = NULL;
  427. PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s = NULL;
  428. PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv = NULL;
  429. PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d = NULL;
  430. PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv = NULL;
  431. PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f = NULL;
  432. PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv = NULL;
  433. PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s = NULL;
  434. PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv = NULL;
  435. PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d = NULL;
  436. PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv = NULL;
  437. PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f = NULL;
  438. PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv = NULL;
  439. PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s = NULL;
  440. PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv = NULL;
  441. PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv = NULL;
  442. PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv = NULL;
  443. PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv = NULL;
  444. PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub = NULL;
  445. PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv = NULL;
  446. PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv = NULL;
  447. PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv = NULL;
  448. PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv = NULL;
  449. PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d = NULL;
  450. PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv = NULL;
  451. PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f = NULL;
  452. PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv = NULL;
  453. PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv = NULL;
  454. PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s = NULL;
  455. PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv = NULL;
  456. PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv = NULL;
  457. PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv = NULL;
  458. PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv = NULL;
  459. PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer = NULL;
  460. PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv = NULL;
  461. PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv = NULL;
  462. PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv = NULL;
  463. PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv = NULL;
  464. PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv = NULL;
  465. PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv = NULL;
  466. PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender = NULL;
  467. PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback = NULL;
  468. PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation = NULL;
  469. PFNGLCLAMPCOLORPROC __glewClampColor = NULL;
  470. PFNGLCLEARBUFFERFIPROC __glewClearBufferfi = NULL;
  471. PFNGLCLEARBUFFERFVPROC __glewClearBufferfv = NULL;
  472. PFNGLCLEARBUFFERIVPROC __glewClearBufferiv = NULL;
  473. PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv = NULL;
  474. PFNGLCOLORMASKIPROC __glewColorMaski = NULL;
  475. PFNGLDISABLEIPROC __glewDisablei = NULL;
  476. PFNGLENABLEIPROC __glewEnablei = NULL;
  477. PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender = NULL;
  478. PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback = NULL;
  479. PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v = NULL;
  480. PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation = NULL;
  481. PFNGLGETSTRINGIPROC __glewGetStringi = NULL;
  482. PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv = NULL;
  483. PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv = NULL;
  484. PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying = NULL;
  485. PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv = NULL;
  486. PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv = NULL;
  487. PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv = NULL;
  488. PFNGLISENABLEDIPROC __glewIsEnabledi = NULL;
  489. PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv = NULL;
  490. PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv = NULL;
  491. PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings = NULL;
  492. PFNGLUNIFORM1UIPROC __glewUniform1ui = NULL;
  493. PFNGLUNIFORM1UIVPROC __glewUniform1uiv = NULL;
  494. PFNGLUNIFORM2UIPROC __glewUniform2ui = NULL;
  495. PFNGLUNIFORM2UIVPROC __glewUniform2uiv = NULL;
  496. PFNGLUNIFORM3UIPROC __glewUniform3ui = NULL;
  497. PFNGLUNIFORM3UIVPROC __glewUniform3uiv = NULL;
  498. PFNGLUNIFORM4UIPROC __glewUniform4ui = NULL;
  499. PFNGLUNIFORM4UIVPROC __glewUniform4uiv = NULL;
  500. PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i = NULL;
  501. PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv = NULL;
  502. PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui = NULL;
  503. PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv = NULL;
  504. PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i = NULL;
  505. PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv = NULL;
  506. PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui = NULL;
  507. PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv = NULL;
  508. PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i = NULL;
  509. PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv = NULL;
  510. PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui = NULL;
  511. PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv = NULL;
  512. PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv = NULL;
  513. PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i = NULL;
  514. PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv = NULL;
  515. PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv = NULL;
  516. PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv = NULL;
  517. PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui = NULL;
  518. PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv = NULL;
  519. PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv = NULL;
  520. PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer = NULL;
  521. PFNGLDRAWARRAYSINSTANCEDPROC __glewDrawArraysInstanced = NULL;
  522. PFNGLDRAWELEMENTSINSTANCEDPROC __glewDrawElementsInstanced = NULL;
  523. PFNGLPRIMITIVERESTARTINDEXPROC __glewPrimitiveRestartIndex = NULL;
  524. PFNGLTEXBUFFERPROC __glewTexBuffer = NULL;
  525. PFNGLFRAMEBUFFERTEXTUREPROC __glewFramebufferTexture = NULL;
  526. PFNGLGETBUFFERPARAMETERI64VPROC __glewGetBufferParameteri64v = NULL;
  527. PFNGLGETINTEGER64I_VPROC __glewGetInteger64i_v = NULL;
  528. PFNGLVERTEXATTRIBDIVISORPROC __glewVertexAttribDivisor = NULL;
  529. PFNGLBLENDEQUATIONSEPARATEIPROC __glewBlendEquationSeparatei = NULL;
  530. PFNGLBLENDEQUATIONIPROC __glewBlendEquationi = NULL;
  531. PFNGLBLENDFUNCSEPARATEIPROC __glewBlendFuncSeparatei = NULL;
  532. PFNGLBLENDFUNCIPROC __glewBlendFunci = NULL;
  533. PFNGLMINSAMPLESHADINGPROC __glewMinSampleShading = NULL;
  534. PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX = NULL;
  535. PFNGLDEBUGMESSAGECALLBACKAMDPROC __glewDebugMessageCallbackAMD = NULL;
  536. PFNGLDEBUGMESSAGEENABLEAMDPROC __glewDebugMessageEnableAMD = NULL;
  537. PFNGLDEBUGMESSAGEINSERTAMDPROC __glewDebugMessageInsertAMD = NULL;
  538. PFNGLGETDEBUGMESSAGELOGAMDPROC __glewGetDebugMessageLogAMD = NULL;
  539. PFNGLBLENDEQUATIONINDEXEDAMDPROC __glewBlendEquationIndexedAMD = NULL;
  540. PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC __glewBlendEquationSeparateIndexedAMD = NULL;
  541. PFNGLBLENDFUNCINDEXEDAMDPROC __glewBlendFuncIndexedAMD = NULL;
  542. PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC __glewBlendFuncSeparateIndexedAMD = NULL;
  543. PFNGLDELETENAMESAMDPROC __glewDeleteNamesAMD = NULL;
  544. PFNGLGENNAMESAMDPROC __glewGenNamesAMD = NULL;
  545. PFNGLISNAMEAMDPROC __glewIsNameAMD = NULL;
  546. PFNGLBEGINPERFMONITORAMDPROC __glewBeginPerfMonitorAMD = NULL;
  547. PFNGLDELETEPERFMONITORSAMDPROC __glewDeletePerfMonitorsAMD = NULL;
  548. PFNGLENDPERFMONITORAMDPROC __glewEndPerfMonitorAMD = NULL;
  549. PFNGLGENPERFMONITORSAMDPROC __glewGenPerfMonitorsAMD = NULL;
  550. PFNGLGETPERFMONITORCOUNTERDATAAMDPROC __glewGetPerfMonitorCounterDataAMD = NULL;
  551. PFNGLGETPERFMONITORCOUNTERINFOAMDPROC __glewGetPerfMonitorCounterInfoAMD = NULL;
  552. PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC __glewGetPerfMonitorCounterStringAMD = NULL;
  553. PFNGLGETPERFMONITORCOUNTERSAMDPROC __glewGetPerfMonitorCountersAMD = NULL;
  554. PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD = NULL;
  555. PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD = NULL;
  556. PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD = NULL;
  557. PFNGLSETMULTISAMPLEFVAMDPROC __glewSetMultisamplefvAMD = NULL;
  558. PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD = NULL;
  559. PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD = NULL;
  560. PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE = NULL;
  561. PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE = NULL;
  562. PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE = NULL;
  563. PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE = NULL;
  564. PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE = NULL;
  565. PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE = NULL;
  566. PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE = NULL;
  567. PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE = NULL;
  568. PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE = NULL;
  569. PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE = NULL;
  570. PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE = NULL;
  571. PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE = NULL;
  572. PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE = NULL;
  573. PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE = NULL;
  574. PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE = NULL;
  575. PFNGLGETOBJECTPARAMETERIVAPPLEPROC __glewGetObjectParameterivAPPLE = NULL;
  576. PFNGLOBJECTPURGEABLEAPPLEPROC __glewObjectPurgeableAPPLE = NULL;
  577. PFNGLOBJECTUNPURGEABLEAPPLEPROC __glewObjectUnpurgeableAPPLE = NULL;
  578. PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE = NULL;
  579. PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE = NULL;
  580. PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE = NULL;
  581. PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE = NULL;
  582. PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE = NULL;
  583. PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE = NULL;
  584. PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE = NULL;
  585. PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE = NULL;
  586. PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE = NULL;
  587. PFNGLDISABLEVERTEXATTRIBAPPLEPROC __glewDisableVertexAttribAPPLE = NULL;
  588. PFNGLENABLEVERTEXATTRIBAPPLEPROC __glewEnableVertexAttribAPPLE = NULL;
  589. PFNGLISVERTEXATTRIBENABLEDAPPLEPROC __glewIsVertexAttribEnabledAPPLE = NULL;
  590. PFNGLMAPVERTEXATTRIB1DAPPLEPROC __glewMapVertexAttrib1dAPPLE = NULL;
  591. PFNGLMAPVERTEXATTRIB1FAPPLEPROC __glewMapVertexAttrib1fAPPLE = NULL;
  592. PFNGLMAPVERTEXATTRIB2DAPPLEPROC __glewMapVertexAttrib2dAPPLE = NULL;
  593. PFNGLMAPVERTEXATTRIB2FAPPLEPROC __glewMapVertexAttrib2fAPPLE = NULL;
  594. PFNGLCLEARDEPTHFPROC __glewClearDepthf = NULL;
  595. PFNGLDEPTHRANGEFPROC __glewDepthRangef = NULL;
  596. PFNGLGETSHADERPRECISIONFORMATPROC __glewGetShaderPrecisionFormat = NULL;
  597. PFNGLRELEASESHADERCOMPILERPROC __glewReleaseShaderCompiler = NULL;
  598. PFNGLSHADERBINARYPROC __glewShaderBinary = NULL;
  599. PFNGLBINDFRAGDATALOCATIONINDEXEDPROC __glewBindFragDataLocationIndexed = NULL;
  600. PFNGLGETFRAGDATAINDEXPROC __glewGetFragDataIndex = NULL;
  601. PFNGLCREATESYNCFROMCLEVENTARBPROC __glewCreateSyncFromCLeventARB = NULL;
  602. PFNGLCLAMPCOLORARBPROC __glewClampColorARB = NULL;
  603. PFNGLCOPYBUFFERSUBDATAPROC __glewCopyBufferSubData = NULL;
  604. PFNGLDEBUGMESSAGECALLBACKARBPROC __glewDebugMessageCallbackARB = NULL;
  605. PFNGLDEBUGMESSAGECONTROLARBPROC __glewDebugMessageControlARB = NULL;
  606. PFNGLDEBUGMESSAGEINSERTARBPROC __glewDebugMessageInsertARB = NULL;
  607. PFNGLGETDEBUGMESSAGELOGARBPROC __glewGetDebugMessageLogARB = NULL;
  608. PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB = NULL;
  609. PFNGLBLENDEQUATIONSEPARATEIARBPROC __glewBlendEquationSeparateiARB = NULL;
  610. PFNGLBLENDEQUATIONIARBPROC __glewBlendEquationiARB = NULL;
  611. PFNGLBLENDFUNCSEPARATEIARBPROC __glewBlendFuncSeparateiARB = NULL;
  612. PFNGLBLENDFUNCIARBPROC __glewBlendFunciARB = NULL;
  613. PFNGLDRAWELEMENTSBASEVERTEXPROC __glewDrawElementsBaseVertex = NULL;
  614. PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC __glewDrawElementsInstancedBaseVertex = NULL;
  615. PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC __glewDrawRangeElementsBaseVertex = NULL;
  616. PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex = NULL;
  617. PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect = NULL;
  618. PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect = NULL;
  619. PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer = NULL;
  620. PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer = NULL;
  621. PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer = NULL;
  622. PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus = NULL;
  623. PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers = NULL;
  624. PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers = NULL;
  625. PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer = NULL;
  626. PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D = NULL;
  627. PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D = NULL;
  628. PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D = NULL;
  629. PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer = NULL;
  630. PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers = NULL;
  631. PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers = NULL;
  632. PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap = NULL;
  633. PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv = NULL;
  634. PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv = NULL;
  635. PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer = NULL;
  636. PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer = NULL;
  637. PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage = NULL;
  638. PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample = NULL;
  639. PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB = NULL;
  640. PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB = NULL;
  641. PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB = NULL;
  642. PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB = NULL;
  643. PFNGLGETPROGRAMBINARYPROC __glewGetProgramBinary = NULL;
  644. PFNGLPROGRAMBINARYPROC __glewProgramBinary = NULL;
  645. PFNGLPROGRAMPARAMETERIPROC __glewProgramParameteri = NULL;
  646. PFNGLGETUNIFORMDVPROC __glewGetUniformdv = NULL;
  647. PFNGLPROGRAMUNIFORM1DEXTPROC __glewProgramUniform1dEXT = NULL;
  648. PFNGLPROGRAMUNIFORM1DVEXTPROC __glewProgramUniform1dvEXT = NULL;
  649. PFNGLPROGRAMUNIFORM2DEXTPROC __glewProgramUniform2dEXT = NULL;
  650. PFNGLPROGRAMUNIFORM2DVEXTPROC __glewProgramUniform2dvEXT = NULL;
  651. PFNGLPROGRAMUNIFORM3DEXTPROC __glewProgramUniform3dEXT = NULL;
  652. PFNGLPROGRAMUNIFORM3DVEXTPROC __glewProgramUniform3dvEXT = NULL;
  653. PFNGLPROGRAMUNIFORM4DEXTPROC __glewProgramUniform4dEXT = NULL;
  654. PFNGLPROGRAMUNIFORM4DVEXTPROC __glewProgramUniform4dvEXT = NULL;
  655. PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC __glewProgramUniformMatrix2dvEXT = NULL;
  656. PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC __glewProgramUniformMatrix2x3dvEXT = NULL;
  657. PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC __glewProgramUniformMatrix2x4dvEXT = NULL;
  658. PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC __glewProgramUniformMatrix3dvEXT = NULL;
  659. PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC __glewProgramUniformMatrix3x2dvEXT = NULL;
  660. PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC __glewProgramUniformMatrix3x4dvEXT = NULL;
  661. PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC __glewProgramUniformMatrix4dvEXT = NULL;
  662. PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC __glewProgramUniformMatrix4x2dvEXT = NULL;
  663. PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC __glewProgramUniformMatrix4x3dvEXT = NULL;
  664. PFNGLUNIFORM1DPROC __glewUniform1d = NULL;
  665. PFNGLUNIFORM1DVPROC __glewUniform1dv = NULL;
  666. PFNGLUNIFORM2DPROC __glewUniform2d = NULL;
  667. PFNGLUNIFORM2DVPROC __glewUniform2dv = NULL;
  668. PFNGLUNIFORM3DPROC __glewUniform3d = NULL;
  669. PFNGLUNIFORM3DVPROC __glewUniform3dv = NULL;
  670. PFNGLUNIFORM4DPROC __glewUniform4d = NULL;
  671. PFNGLUNIFORM4DVPROC __glewUniform4dv = NULL;
  672. PFNGLUNIFORMMATRIX2DVPROC __glewUniformMatrix2dv = NULL;
  673. PFNGLUNIFORMMATRIX2X3DVPROC __glewUniformMatrix2x3dv = NULL;
  674. PFNGLUNIFORMMATRIX2X4DVPROC __glewUniformMatrix2x4dv = NULL;
  675. PFNGLUNIFORMMATRIX3DVPROC __glewUniformMatrix3dv = NULL;
  676. PFNGLUNIFORMMATRIX3X2DVPROC __glewUniformMatrix3x2dv = NULL;
  677. PFNGLUNIFORMMATRIX3X4DVPROC __glewUniformMatrix3x4dv = NULL;
  678. PFNGLUNIFORMMATRIX4DVPROC __glewUniformMatrix4dv = NULL;
  679. PFNGLUNIFORMMATRIX4X2DVPROC __glewUniformMatrix4x2dv = NULL;
  680. PFNGLUNIFORMMATRIX4X3DVPROC __glewUniformMatrix4x3dv = NULL;
  681. PFNGLCOLORSUBTABLEPROC __glewColorSubTable = NULL;
  682. PFNGLCOLORTABLEPROC __glewColorTable = NULL;
  683. PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv = NULL;
  684. PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv = NULL;
  685. PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D = NULL;
  686. PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D = NULL;
  687. PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf = NULL;
  688. PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv = NULL;
  689. PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri = NULL;
  690. PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv = NULL;
  691. PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable = NULL;
  692. PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable = NULL;
  693. PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D = NULL;
  694. PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D = NULL;
  695. PFNGLGETCOLORTABLEPROC __glewGetColorTable = NULL;
  696. PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv = NULL;
  697. PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv = NULL;
  698. PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter = NULL;
  699. PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv = NULL;
  700. PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv = NULL;
  701. PFNGLGETHISTOGRAMPROC __glewGetHistogram = NULL;
  702. PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv = NULL;
  703. PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv = NULL;
  704. PFNGLGETMINMAXPROC __glewGetMinmax = NULL;
  705. PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv = NULL;
  706. PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv = NULL;
  707. PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter = NULL;
  708. PFNGLHISTOGRAMPROC __glewHistogram = NULL;
  709. PFNGLMINMAXPROC __glewMinmax = NULL;
  710. PFNGLRESETHISTOGRAMPROC __glewResetHistogram = NULL;
  711. PFNGLRESETMINMAXPROC __glewResetMinmax = NULL;
  712. PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D = NULL;
  713. PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB = NULL;
  714. PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB = NULL;
  715. PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB = NULL;
  716. PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange = NULL;
  717. PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange = NULL;
  718. PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB = NULL;
  719. PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB = NULL;
  720. PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB = NULL;
  721. PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB = NULL;
  722. PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB = NULL;
  723. PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB = NULL;
  724. PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB = NULL;
  725. PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB = NULL;
  726. PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB = NULL;
  727. PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB = NULL;
  728. PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB = NULL;
  729. PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB = NULL;
  730. PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB = NULL;
  731. PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB = NULL;
  732. PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB = NULL;
  733. PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB = NULL;
  734. PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB = NULL;
  735. PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB = NULL;
  736. PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB = NULL;
  737. PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB = NULL;
  738. PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB = NULL;
  739. PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB = NULL;
  740. PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB = NULL;
  741. PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB = NULL;
  742. PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB = NULL;
  743. PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB = NULL;
  744. PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB = NULL;
  745. PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB = NULL;
  746. PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB = NULL;
  747. PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB = NULL;
  748. PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB = NULL;
  749. PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB = NULL;
  750. PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB = NULL;
  751. PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB = NULL;
  752. PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB = NULL;
  753. PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB = NULL;
  754. PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB = NULL;
  755. PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB = NULL;
  756. PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB = NULL;
  757. PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB = NULL;
  758. PFNGLBEGINQUERYARBPROC __glewBeginQueryARB = NULL;
  759. PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB = NULL;
  760. PFNGLENDQUERYARBPROC __glewEndQueryARB = NULL;
  761. PFNGLGENQUERIESARBPROC __glewGenQueriesARB = NULL;
  762. PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB = NULL;
  763. PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB = NULL;
  764. PFNGLGETQUERYIVARBPROC __glewGetQueryivARB = NULL;
  765. PFNGLISQUERYARBPROC __glewIsQueryARB = NULL;
  766. PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB = NULL;
  767. PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB = NULL;
  768. PFNGLPROVOKINGVERTEXPROC __glewProvokingVertex = NULL;
  769. PFNGLGETNCOLORTABLEARBPROC __glewGetnColorTableARB = NULL;
  770. PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC __glewGetnCompressedTexImageARB = NULL;
  771. PFNGLGETNCONVOLUTIONFILTERARBPROC __glewGetnConvolutionFilterARB = NULL;
  772. PFNGLGETNHISTOGRAMARBPROC __glewGetnHistogramARB = NULL;
  773. PFNGLGETNMAPDVARBPROC __glewGetnMapdvARB = NULL;
  774. PFNGLGETNMAPFVARBPROC __glewGetnMapfvARB = NULL;
  775. PFNGLGETNMAPIVARBPROC __glewGetnMapivARB = NULL;
  776. PFNGLGETNMINMAXARBPROC __glewGetnMinmaxARB = NULL;
  777. PFNGLGETNPIXELMAPFVARBPROC __glewGetnPixelMapfvARB = NULL;
  778. PFNGLGETNPIXELMAPUIVARBPROC __glewGetnPixelMapuivARB = NULL;
  779. PFNGLGETNPIXELMAPUSVARBPROC __glewGetnPixelMapusvARB = NULL;
  780. PFNGLGETNPOLYGONSTIPPLEARBPROC __glewGetnPolygonStippleARB = NULL;
  781. PFNGLGETNSEPARABLEFILTERARBPROC __glewGetnSeparableFilterARB = NULL;
  782. PFNGLGETNTEXIMAGEARBPROC __glewGetnTexImageARB = NULL;
  783. PFNGLGETNUNIFORMDVARBPROC __glewGetnUniformdvARB = NULL;
  784. PFNGLGETNUNIFORMFVARBPROC __glewGetnUniformfvARB = NULL;
  785. PFNGLGETNUNIFORMIVARBPROC __glewGetnUniformivARB = NULL;
  786. PFNGLGETNUNIFORMUIVARBPROC __glewGetnUniformuivARB = NULL;
  787. PFNGLREADNPIXELSARBPROC __glewReadnPixelsARB = NULL;
  788. PFNGLMINSAMPLESHADINGARBPROC __glewMinSampleShadingARB = NULL;
  789. PFNGLBINDSAMPLERPROC __glewBindSampler = NULL;
  790. PFNGLDELETESAMPLERSPROC __glewDeleteSamplers = NULL;
  791. PFNGLGENSAMPLERSPROC __glewGenSamplers = NULL;
  792. PFNGLGETSAMPLERPARAMETERIIVPROC __glewGetSamplerParameterIiv = NULL;
  793. PFNGLGETSAMPLERPARAMETERIUIVPROC __glewGetSamplerParameterIuiv = NULL;
  794. PFNGLGETSAMPLERPARAMETERFVPROC __glewGetSamplerParameterfv = NULL;
  795. PFNGLGETSAMPLERPARAMETERIVPROC __glewGetSamplerParameteriv = NULL;
  796. PFNGLISSAMPLERPROC __glewIsSampler = NULL;
  797. PFNGLSAMPLERPARAMETERIIVPROC __glewSamplerParameterIiv = NULL;
  798. PFNGLSAMPLERPARAMETERIUIVPROC __glewSamplerParameterIuiv = NULL;
  799. PFNGLSAMPLERPARAMETERFPROC __glewSamplerParameterf = NULL;
  800. PFNGLSAMPLERPARAMETERFVPROC __glewSamplerParameterfv = NULL;
  801. PFNGLSAMPLERPARAMETERIPROC __glewSamplerParameteri = NULL;
  802. PFNGLSAMPLERPARAMETERIVPROC __glewSamplerParameteriv = NULL;
  803. PFNGLACTIVESHADERPROGRAMPROC __glewActiveShaderProgram = NULL;
  804. PFNGLBINDPROGRAMPIPELINEPROC __glewBindProgramPipeline = NULL;
  805. PFNGLCREATESHADERPROGRAMVPROC __glewCreateShaderProgramv = NULL;
  806. PFNGLDELETEPROGRAMPIPELINESPROC __glewDeleteProgramPipelines = NULL;
  807. PFNGLGENPROGRAMPIPELINESPROC __glewGenProgramPipelines = NULL;
  808. PFNGLGETPROGRAMPIPELINEINFOLOGPROC __glewGetProgramPipelineInfoLog = NULL;
  809. PFNGLGETPROGRAMPIPELINEIVPROC __glewGetProgramPipelineiv = NULL;
  810. PFNGLISPROGRAMPIPELINEPROC __glewIsProgramPipeline = NULL;
  811. PFNGLPROGRAMUNIFORM1DPROC __glewProgramUniform1d = NULL;
  812. PFNGLPROGRAMUNIFORM1DVPROC __glewProgramUniform1dv = NULL;
  813. PFNGLPROGRAMUNIFORM1FPROC __glewProgramUniform1f = NULL;
  814. PFNGLPROGRAMUNIFORM1FVPROC __glewProgramUniform1fv = NULL;
  815. PFNGLPROGRAMUNIFORM1IPROC __glewProgramUniform1i = NULL;
  816. PFNGLPROGRAMUNIFORM1IVPROC __glewProgramUniform1iv = NULL;
  817. PFNGLPROGRAMUNIFORM1UIPROC __glewProgramUniform1ui = NULL;
  818. PFNGLPROGRAMUNIFORM1UIVPROC __glewProgramUniform1uiv = NULL;
  819. PFNGLPROGRAMUNIFORM2DPROC __glewProgramUniform2d = NULL;
  820. PFNGLPROGRAMUNIFORM2DVPROC __glewProgramUniform2dv = NULL;
  821. PFNGLPROGRAMUNIFORM2FPROC __glewProgramUniform2f = NULL;
  822. PFNGLPROGRAMUNIFORM2FVPROC __glewProgramUniform2fv = NULL;
  823. PFNGLPROGRAMUNIFORM2IPROC __glewProgramUniform2i = NULL;
  824. PFNGLPROGRAMUNIFORM2IVPROC __glewProgramUniform2iv = NULL;
  825. PFNGLPROGRAMUNIFORM2UIPROC __glewProgramUniform2ui = NULL;
  826. PFNGLPROGRAMUNIFORM2UIVPROC __glewProgramUniform2uiv = NULL;
  827. PFNGLPROGRAMUNIFORM3DPROC __glewProgramUniform3d = NULL;
  828. PFNGLPROGRAMUNIFORM3DVPROC __glewProgramUniform3dv = NULL;
  829. PFNGLPROGRAMUNIFORM3FPROC __glewProgramUniform3f = NULL;
  830. PFNGLPROGRAMUNIFORM3FVPROC __glewProgramUniform3fv = NULL;
  831. PFNGLPROGRAMUNIFORM3IPROC __glewProgramUniform3i = NULL;
  832. PFNGLPROGRAMUNIFORM3IVPROC __glewProgramUniform3iv = NULL;
  833. PFNGLPROGRAMUNIFORM3UIPROC __glewProgramUniform3ui = NULL;
  834. PFNGLPROGRAMUNIFORM3UIVPROC __glewProgramUniform3uiv = NULL;
  835. PFNGLPROGRAMUNIFORM4DPROC __glewProgramUniform4d = NULL;
  836. PFNGLPROGRAMUNIFORM4DVPROC __glewProgramUniform4dv = NULL;
  837. PFNGLPROGRAMUNIFORM4FPROC __glewProgramUniform4f = NULL;
  838. PFNGLPROGRAMUNIFORM4FVPROC __glewProgramUniform4fv = NULL;
  839. PFNGLPROGRAMUNIFORM4IPROC __glewProgramUniform4i = NULL;
  840. PFNGLPROGRAMUNIFORM4IVPROC __glewProgramUniform4iv = NULL;
  841. PFNGLPROGRAMUNIFORM4UIPROC __glewProgramUniform4ui = NULL;
  842. PFNGLPROGRAMUNIFORM4UIVPROC __glewProgramUniform4uiv = NULL;
  843. PFNGLPROGRAMUNIFORMMATRIX2DVPROC __glewProgramUniformMatrix2dv = NULL;
  844. PFNGLPROGRAMUNIFORMMATRIX2FVPROC __glewProgramUniformMatrix2fv = NULL;
  845. PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC __glewProgramUniformMatrix2x3dv = NULL;
  846. PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC __glewProgramUniformMatrix2x3fv = NULL;
  847. PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC __glewProgramUniformMatrix2x4dv = NULL;
  848. PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC __glewProgramUniformMatrix2x4fv = NULL;
  849. PFNGLPROGRAMUNIFORMMATRIX3DVPROC __glewProgramUniformMatrix3dv = NULL;
  850. PFNGLPROGRAMUNIFORMMATRIX3FVPROC __glewProgramUniformMatrix3fv = NULL;
  851. PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC __glewProgramUniformMatrix3x2dv = NULL;
  852. PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC __glewProgramUniformMatrix3x2fv = NULL;
  853. PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC __glewProgramUniformMatrix3x4dv = NULL;
  854. PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC __glewProgramUniformMatrix3x4fv = NULL;
  855. PFNGLPROGRAMUNIFORMMATRIX4DVPROC __glewProgramUniformMatrix4dv = NULL;
  856. PFNGLPROGRAMUNIFORMMATRIX4FVPROC __glewProgramUniformMatrix4fv = NULL;
  857. PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC __glewProgramUniformMatrix4x2dv = NULL;
  858. PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC __glewProgramUniformMatrix4x2fv = NULL;
  859. PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC __glewProgramUniformMatrix4x3dv = NULL;
  860. PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC __glewProgramUniformMatrix4x3fv = NULL;
  861. PFNGLUSEPROGRAMSTAGESPROC __glewUseProgramStages = NULL;
  862. PFNGLVALIDATEPROGRAMPIPELINEPROC __glewValidateProgramPipeline = NULL;
  863. PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB = NULL;
  864. PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB = NULL;
  865. PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB = NULL;
  866. PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB = NULL;
  867. PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB = NULL;
  868. PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB = NULL;
  869. PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB = NULL;
  870. PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB = NULL;
  871. PFNGLGETHANDLEARBPROC __glewGetHandleARB = NULL;
  872. PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB = NULL;
  873. PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB = NULL;
  874. PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB = NULL;
  875. PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB = NULL;
  876. PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB = NULL;
  877. PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB = NULL;
  878. PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB = NULL;
  879. PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB = NULL;
  880. PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB = NULL;
  881. PFNGLUNIFORM1FARBPROC __glewUniform1fARB = NULL;
  882. PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB = NULL;
  883. PFNGLUNIFORM1IARBPROC __glewUniform1iARB = NULL;
  884. PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB = NULL;
  885. PFNGLUNIFORM2FARBPROC __glewUniform2fARB = NULL;
  886. PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB = NULL;
  887. PFNGLUNIFORM2IARBPROC __glewUniform2iARB = NULL;
  888. PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB = NULL;
  889. PFNGLUNIFORM3FARBPROC __glewUniform3fARB = NULL;
  890. PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB = NULL;
  891. PFNGLUNIFORM3IARBPROC __glewUniform3iARB = NULL;
  892. PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB = NULL;
  893. PFNGLUNIFORM4FARBPROC __glewUniform4fARB = NULL;
  894. PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB = NULL;
  895. PFNGLUNIFORM4IARBPROC __glewUniform4iARB = NULL;
  896. PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB = NULL;
  897. PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB = NULL;
  898. PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB = NULL;
  899. PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB = NULL;
  900. PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB = NULL;
  901. PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB = NULL;
  902. PFNGLGETACTIVESUBROUTINENAMEPROC __glewGetActiveSubroutineName = NULL;
  903. PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC __glewGetActiveSubroutineUniformName = NULL;
  904. PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC __glewGetActiveSubroutineUniformiv = NULL;
  905. PFNGLGETPROGRAMSTAGEIVPROC __glewGetProgramStageiv = NULL;
  906. PFNGLGETSUBROUTINEINDEXPROC __glewGetSubroutineIndex = NULL;
  907. PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC __glewGetSubroutineUniformLocation = NULL;
  908. PFNGLGETUNIFORMSUBROUTINEUIVPROC __glewGetUniformSubroutineuiv = NULL;
  909. PFNGLUNIFORMSUBROUTINESUIVPROC __glewUniformSubroutinesuiv = NULL;
  910. PFNGLCOMPILESHADERINCLUDEARBPROC __glewCompileShaderIncludeARB = NULL;
  911. PFNGLDELETENAMEDSTRINGARBPROC __glewDeleteNamedStringARB = NULL;
  912. PFNGLGETNAMEDSTRINGARBPROC __glewGetNamedStringARB = NULL;
  913. PFNGLGETNAMEDSTRINGIVARBPROC __glewGetNamedStringivARB = NULL;
  914. PFNGLISNAMEDSTRINGARBPROC __glewIsNamedStringARB = NULL;
  915. PFNGLNAMEDSTRINGARBPROC __glewNamedStringARB = NULL;
  916. PFNGLCLIENTWAITSYNCPROC __glewClientWaitSync = NULL;
  917. PFNGLDELETESYNCPROC __glewDeleteSync = NULL;
  918. PFNGLFENCESYNCPROC __glewFenceSync = NULL;
  919. PFNGLGETINTEGER64VPROC __glewGetInteger64v = NULL;
  920. PFNGLGETSYNCIVPROC __glewGetSynciv = NULL;
  921. PFNGLISSYNCPROC __glewIsSync = NULL;
  922. PFNGLWAITSYNCPROC __glewWaitSync = NULL;
  923. PFNGLPATCHPARAMETERFVPROC __glewPatchParameterfv = NULL;
  924. PFNGLPATCHPARAMETERIPROC __glewPatchParameteri = NULL;
  925. PFNGLTEXBUFFERARBPROC __glewTexBufferARB = NULL;
  926. PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB = NULL;
  927. PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB = NULL;
  928. PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB = NULL;
  929. PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB = NULL;
  930. PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB = NULL;
  931. PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB = NULL;
  932. PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB = NULL;
  933. PFNGLGETMULTISAMPLEFVPROC __glewGetMultisamplefv = NULL;
  934. PFNGLSAMPLEMASKIPROC __glewSampleMaski = NULL;
  935. PFNGLTEXIMAGE2DMULTISAMPLEPROC __glewTexImage2DMultisample = NULL;
  936. PFNGLTEXIMAGE3DMULTISAMPLEPROC __glewTexImage3DMultisample = NULL;
  937. PFNGLGETQUERYOBJECTI64VPROC __glewGetQueryObjecti64v = NULL;
  938. PFNGLGETQUERYOBJECTUI64VPROC __glewGetQueryObjectui64v = NULL;
  939. PFNGLQUERYCOUNTERPROC __glewQueryCounter = NULL;
  940. PFNGLBINDTRANSFORMFEEDBACKPROC __glewBindTransformFeedback = NULL;
  941. PFNGLDELETETRANSFORMFEEDBACKSPROC __glewDeleteTransformFeedbacks = NULL;
  942. PFNGLDRAWTRANSFORMFEEDBACKPROC __glewDrawTransformFeedback = NULL;
  943. PFNGLGENTRANSFORMFEEDBACKSPROC __glewGenTransformFeedbacks = NULL;
  944. PFNGLISTRANSFORMFEEDBACKPROC __glewIsTransformFeedback = NULL;
  945. PFNGLPAUSETRANSFORMFEEDBACKPROC __glewPauseTransformFeedback = NULL;
  946. PFNGLRESUMETRANSFORMFEEDBACKPROC __glewResumeTransformFeedback = NULL;
  947. PFNGLBEGINQUERYINDEXEDPROC __glewBeginQueryIndexed = NULL;
  948. PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC __glewDrawTransformFeedbackStream = NULL;
  949. PFNGLENDQUERYINDEXEDPROC __glewEndQueryIndexed = NULL;
  950. PFNGLGETQUERYINDEXEDIVPROC __glewGetQueryIndexediv = NULL;
  951. PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB = NULL;
  952. PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB = NULL;
  953. PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB = NULL;
  954. PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfA

Large files files are truncated, but you can click here to view the full file