Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

1340 lignes
83 KiB

  1. #include <GL/gl3w.h>
  2. #ifdef _WIN32
  3. #define WIN32_LEAN_AND_MEAN 1
  4. #include <windows.h>
  5. static HMODULE libgl;
  6. static void open_libgl(void)
  7. {
  8. libgl = LoadLibraryA("opengl32.dll");
  9. }
  10. static void close_libgl(void)
  11. {
  12. FreeLibrary(libgl);
  13. }
  14. static void *get_proc(const char *proc)
  15. {
  16. void *res;
  17. res = wglGetProcAddress(proc);
  18. if (!res)
  19. res = GetProcAddress(libgl, proc);
  20. return res;
  21. }
  22. #elif defined(__APPLE__) || defined(__APPLE_CC__)
  23. #include <Carbon/Carbon.h>
  24. CFBundleRef bundle;
  25. CFURLRef bundleURL;
  26. static void open_libgl(void)
  27. {
  28. bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
  29. CFSTR("/System/Library/Frameworks/OpenGL.framework"),
  30. kCFURLPOSIXPathStyle, true);
  31. bundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
  32. assert(bundle != NULL);
  33. }
  34. static void close_libgl(void)
  35. {
  36. CFRelease(bundle);
  37. CFRelease(bundleURL);
  38. }
  39. static void *get_proc(const char *proc)
  40. {
  41. void *res;
  42. CFStringRef procname = CFStringCreateWithCString(kCFAllocatorDefault, proc,
  43. kCFStringEncodingASCII);
  44. res = CFBundleGetFunctionPointerForName(bundle, procname);
  45. CFRelease(procname);
  46. return res;
  47. }
  48. #else
  49. #include <dlfcn.h>
  50. #include <GL/glx.h>
  51. static void *libgl;
  52. static void open_libgl(void)
  53. {
  54. libgl = dlopen("libGL.so.1", RTLD_LAZY | RTLD_GLOBAL);
  55. }
  56. static void close_libgl(void)
  57. {
  58. dlclose(libgl);
  59. }
  60. static void *get_proc(const char *proc)
  61. {
  62. void *res;
  63. res = glXGetProcAddress((const GLubyte *) proc);
  64. if (!res)
  65. res = dlsym(libgl, proc);
  66. return res;
  67. }
  68. #endif
  69. static struct {
  70. int major, minor;
  71. } version;
  72. static int parse_version(void)
  73. {
  74. if (!glGetIntegerv)
  75. return -1;
  76. glGetIntegerv(GL_MAJOR_VERSION, &version.major);
  77. glGetIntegerv(GL_MINOR_VERSION, &version.minor);
  78. if (version.major < 3)
  79. return -1;
  80. return 0;
  81. }
  82. static void load_procs(void);
  83. int gl3wInit(void)
  84. {
  85. open_libgl();
  86. load_procs();
  87. close_libgl();
  88. return parse_version();
  89. }
  90. int gl3wIsSupported(int major, int minor)
  91. {
  92. if (major < 3)
  93. return 0;
  94. if (version.major == major)
  95. return version.minor >= minor;
  96. return version.major >= major;
  97. }
  98. void *gl3wGetProcAddress(const char *proc)
  99. {
  100. return get_proc(proc);
  101. }
  102. PFNGLCULLFACEPROC gl3wCullFace;
  103. PFNGLFRONTFACEPROC gl3wFrontFace;
  104. PFNGLHINTPROC gl3wHint;
  105. PFNGLLINEWIDTHPROC gl3wLineWidth;
  106. PFNGLPOINTSIZEPROC gl3wPointSize;
  107. PFNGLPOLYGONMODEPROC gl3wPolygonMode;
  108. PFNGLSCISSORPROC gl3wScissor;
  109. PFNGLTEXPARAMETERFPROC gl3wTexParameterf;
  110. PFNGLTEXPARAMETERFVPROC gl3wTexParameterfv;
  111. PFNGLTEXPARAMETERIPROC gl3wTexParameteri;
  112. PFNGLTEXPARAMETERIVPROC gl3wTexParameteriv;
  113. PFNGLTEXIMAGE1DPROC gl3wTexImage1D;
  114. PFNGLTEXIMAGE2DPROC gl3wTexImage2D;
  115. PFNGLDRAWBUFFERPROC gl3wDrawBuffer;
  116. PFNGLCLEARPROC gl3wClear;
  117. PFNGLCLEARCOLORPROC gl3wClearColor;
  118. PFNGLCLEARSTENCILPROC gl3wClearStencil;
  119. PFNGLCLEARDEPTHPROC gl3wClearDepth;
  120. PFNGLSTENCILMASKPROC gl3wStencilMask;
  121. PFNGLCOLORMASKPROC gl3wColorMask;
  122. PFNGLDEPTHMASKPROC gl3wDepthMask;
  123. PFNGLDISABLEPROC gl3wDisable;
  124. PFNGLENABLEPROC gl3wEnable;
  125. PFNGLFINISHPROC gl3wFinish;
  126. PFNGLFLUSHPROC gl3wFlush;
  127. PFNGLBLENDFUNCPROC gl3wBlendFunc;
  128. PFNGLLOGICOPPROC gl3wLogicOp;
  129. PFNGLSTENCILFUNCPROC gl3wStencilFunc;
  130. PFNGLSTENCILOPPROC gl3wStencilOp;
  131. PFNGLDEPTHFUNCPROC gl3wDepthFunc;
  132. PFNGLPIXELSTOREFPROC gl3wPixelStoref;
  133. PFNGLPIXELSTOREIPROC gl3wPixelStorei;
  134. PFNGLREADBUFFERPROC gl3wReadBuffer;
  135. PFNGLREADPIXELSPROC gl3wReadPixels;
  136. PFNGLGETBOOLEANVPROC gl3wGetBooleanv;
  137. PFNGLGETDOUBLEVPROC gl3wGetDoublev;
  138. PFNGLGETERRORPROC gl3wGetError;
  139. PFNGLGETFLOATVPROC gl3wGetFloatv;
  140. PFNGLGETINTEGERVPROC gl3wGetIntegerv;
  141. PFNGLGETSTRINGPROC gl3wGetString;
  142. PFNGLGETTEXIMAGEPROC gl3wGetTexImage;
  143. PFNGLGETTEXPARAMETERFVPROC gl3wGetTexParameterfv;
  144. PFNGLGETTEXPARAMETERIVPROC gl3wGetTexParameteriv;
  145. PFNGLGETTEXLEVELPARAMETERFVPROC gl3wGetTexLevelParameterfv;
  146. PFNGLGETTEXLEVELPARAMETERIVPROC gl3wGetTexLevelParameteriv;
  147. PFNGLISENABLEDPROC gl3wIsEnabled;
  148. PFNGLDEPTHRANGEPROC gl3wDepthRange;
  149. PFNGLVIEWPORTPROC gl3wViewport;
  150. PFNGLDRAWARRAYSPROC gl3wDrawArrays;
  151. PFNGLDRAWELEMENTSPROC gl3wDrawElements;
  152. PFNGLGETPOINTERVPROC gl3wGetPointerv;
  153. PFNGLPOLYGONOFFSETPROC gl3wPolygonOffset;
  154. PFNGLCOPYTEXIMAGE1DPROC gl3wCopyTexImage1D;
  155. PFNGLCOPYTEXIMAGE2DPROC gl3wCopyTexImage2D;
  156. PFNGLCOPYTEXSUBIMAGE1DPROC gl3wCopyTexSubImage1D;
  157. PFNGLCOPYTEXSUBIMAGE2DPROC gl3wCopyTexSubImage2D;
  158. PFNGLTEXSUBIMAGE1DPROC gl3wTexSubImage1D;
  159. PFNGLTEXSUBIMAGE2DPROC gl3wTexSubImage2D;
  160. PFNGLBINDTEXTUREPROC gl3wBindTexture;
  161. PFNGLDELETETEXTURESPROC gl3wDeleteTextures;
  162. PFNGLGENTEXTURESPROC gl3wGenTextures;
  163. PFNGLISTEXTUREPROC gl3wIsTexture;
  164. PFNGLBLENDCOLORPROC gl3wBlendColor;
  165. PFNGLBLENDEQUATIONPROC gl3wBlendEquation;
  166. PFNGLDRAWRANGEELEMENTSPROC gl3wDrawRangeElements;
  167. PFNGLTEXIMAGE3DPROC gl3wTexImage3D;
  168. PFNGLTEXSUBIMAGE3DPROC gl3wTexSubImage3D;
  169. PFNGLCOPYTEXSUBIMAGE3DPROC gl3wCopyTexSubImage3D;
  170. PFNGLACTIVETEXTUREPROC gl3wActiveTexture;
  171. PFNGLSAMPLECOVERAGEPROC gl3wSampleCoverage;
  172. PFNGLCOMPRESSEDTEXIMAGE3DPROC gl3wCompressedTexImage3D;
  173. PFNGLCOMPRESSEDTEXIMAGE2DPROC gl3wCompressedTexImage2D;
  174. PFNGLCOMPRESSEDTEXIMAGE1DPROC gl3wCompressedTexImage1D;
  175. PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC gl3wCompressedTexSubImage3D;
  176. PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC gl3wCompressedTexSubImage2D;
  177. PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC gl3wCompressedTexSubImage1D;
  178. PFNGLGETCOMPRESSEDTEXIMAGEPROC gl3wGetCompressedTexImage;
  179. PFNGLBLENDFUNCSEPARATEPROC gl3wBlendFuncSeparate;
  180. PFNGLMULTIDRAWARRAYSPROC gl3wMultiDrawArrays;
  181. PFNGLMULTIDRAWELEMENTSPROC gl3wMultiDrawElements;
  182. PFNGLPOINTPARAMETERFPROC gl3wPointParameterf;
  183. PFNGLPOINTPARAMETERFVPROC gl3wPointParameterfv;
  184. PFNGLPOINTPARAMETERIPROC gl3wPointParameteri;
  185. PFNGLPOINTPARAMETERIVPROC gl3wPointParameteriv;
  186. PFNGLGENQUERIESPROC gl3wGenQueries;
  187. PFNGLDELETEQUERIESPROC gl3wDeleteQueries;
  188. PFNGLISQUERYPROC gl3wIsQuery;
  189. PFNGLBEGINQUERYPROC gl3wBeginQuery;
  190. PFNGLENDQUERYPROC gl3wEndQuery;
  191. PFNGLGETQUERYIVPROC gl3wGetQueryiv;
  192. PFNGLGETQUERYOBJECTIVPROC gl3wGetQueryObjectiv;
  193. PFNGLGETQUERYOBJECTUIVPROC gl3wGetQueryObjectuiv;
  194. PFNGLBINDBUFFERPROC gl3wBindBuffer;
  195. PFNGLDELETEBUFFERSPROC gl3wDeleteBuffers;
  196. PFNGLGENBUFFERSPROC gl3wGenBuffers;
  197. PFNGLISBUFFERPROC gl3wIsBuffer;
  198. PFNGLBUFFERDATAPROC gl3wBufferData;
  199. PFNGLBUFFERSUBDATAPROC gl3wBufferSubData;
  200. PFNGLGETBUFFERSUBDATAPROC gl3wGetBufferSubData;
  201. PFNGLMAPBUFFERPROC gl3wMapBuffer;
  202. PFNGLUNMAPBUFFERPROC gl3wUnmapBuffer;
  203. PFNGLGETBUFFERPARAMETERIVPROC gl3wGetBufferParameteriv;
  204. PFNGLGETBUFFERPOINTERVPROC gl3wGetBufferPointerv;
  205. PFNGLBLENDEQUATIONSEPARATEPROC gl3wBlendEquationSeparate;
  206. PFNGLDRAWBUFFERSPROC gl3wDrawBuffers;
  207. PFNGLSTENCILOPSEPARATEPROC gl3wStencilOpSeparate;
  208. PFNGLSTENCILFUNCSEPARATEPROC gl3wStencilFuncSeparate;
  209. PFNGLSTENCILMASKSEPARATEPROC gl3wStencilMaskSeparate;
  210. PFNGLATTACHSHADERPROC gl3wAttachShader;
  211. PFNGLBINDATTRIBLOCATIONPROC gl3wBindAttribLocation;
  212. PFNGLCOMPILESHADERPROC gl3wCompileShader;
  213. PFNGLCREATEPROGRAMPROC gl3wCreateProgram;
  214. PFNGLCREATESHADERPROC gl3wCreateShader;
  215. PFNGLDELETEPROGRAMPROC gl3wDeleteProgram;
  216. PFNGLDELETESHADERPROC gl3wDeleteShader;
  217. PFNGLDETACHSHADERPROC gl3wDetachShader;
  218. PFNGLDISABLEVERTEXATTRIBARRAYPROC gl3wDisableVertexAttribArray;
  219. PFNGLENABLEVERTEXATTRIBARRAYPROC gl3wEnableVertexAttribArray;
  220. PFNGLGETACTIVEATTRIBPROC gl3wGetActiveAttrib;
  221. PFNGLGETACTIVEUNIFORMPROC gl3wGetActiveUniform;
  222. PFNGLGETATTACHEDSHADERSPROC gl3wGetAttachedShaders;
  223. PFNGLGETATTRIBLOCATIONPROC gl3wGetAttribLocation;
  224. PFNGLGETPROGRAMIVPROC gl3wGetProgramiv;
  225. PFNGLGETPROGRAMINFOLOGPROC gl3wGetProgramInfoLog;
  226. PFNGLGETSHADERIVPROC gl3wGetShaderiv;
  227. PFNGLGETSHADERINFOLOGPROC gl3wGetShaderInfoLog;
  228. PFNGLGETSHADERSOURCEPROC gl3wGetShaderSource;
  229. PFNGLGETUNIFORMLOCATIONPROC gl3wGetUniformLocation;
  230. PFNGLGETUNIFORMFVPROC gl3wGetUniformfv;
  231. PFNGLGETUNIFORMIVPROC gl3wGetUniformiv;
  232. PFNGLGETVERTEXATTRIBDVPROC gl3wGetVertexAttribdv;
  233. PFNGLGETVERTEXATTRIBFVPROC gl3wGetVertexAttribfv;
  234. PFNGLGETVERTEXATTRIBIVPROC gl3wGetVertexAttribiv;
  235. PFNGLGETVERTEXATTRIBPOINTERVPROC gl3wGetVertexAttribPointerv;
  236. PFNGLISPROGRAMPROC gl3wIsProgram;
  237. PFNGLISSHADERPROC gl3wIsShader;
  238. PFNGLLINKPROGRAMPROC gl3wLinkProgram;
  239. PFNGLSHADERSOURCEPROC gl3wShaderSource;
  240. PFNGLUSEPROGRAMPROC gl3wUseProgram;
  241. PFNGLUNIFORM1FPROC gl3wUniform1f;
  242. PFNGLUNIFORM2FPROC gl3wUniform2f;
  243. PFNGLUNIFORM3FPROC gl3wUniform3f;
  244. PFNGLUNIFORM4FPROC gl3wUniform4f;
  245. PFNGLUNIFORM1IPROC gl3wUniform1i;
  246. PFNGLUNIFORM2IPROC gl3wUniform2i;
  247. PFNGLUNIFORM3IPROC gl3wUniform3i;
  248. PFNGLUNIFORM4IPROC gl3wUniform4i;
  249. PFNGLUNIFORM1FVPROC gl3wUniform1fv;
  250. PFNGLUNIFORM2FVPROC gl3wUniform2fv;
  251. PFNGLUNIFORM3FVPROC gl3wUniform3fv;
  252. PFNGLUNIFORM4FVPROC gl3wUniform4fv;
  253. PFNGLUNIFORM1IVPROC gl3wUniform1iv;
  254. PFNGLUNIFORM2IVPROC gl3wUniform2iv;
  255. PFNGLUNIFORM3IVPROC gl3wUniform3iv;
  256. PFNGLUNIFORM4IVPROC gl3wUniform4iv;
  257. PFNGLUNIFORMMATRIX2FVPROC gl3wUniformMatrix2fv;
  258. PFNGLUNIFORMMATRIX3FVPROC gl3wUniformMatrix3fv;
  259. PFNGLUNIFORMMATRIX4FVPROC gl3wUniformMatrix4fv;
  260. PFNGLVALIDATEPROGRAMPROC gl3wValidateProgram;
  261. PFNGLVERTEXATTRIB1DPROC gl3wVertexAttrib1d;
  262. PFNGLVERTEXATTRIB1DVPROC gl3wVertexAttrib1dv;
  263. PFNGLVERTEXATTRIB1FPROC gl3wVertexAttrib1f;
  264. PFNGLVERTEXATTRIB1FVPROC gl3wVertexAttrib1fv;
  265. PFNGLVERTEXATTRIB1SPROC gl3wVertexAttrib1s;
  266. PFNGLVERTEXATTRIB1SVPROC gl3wVertexAttrib1sv;
  267. PFNGLVERTEXATTRIB2DPROC gl3wVertexAttrib2d;
  268. PFNGLVERTEXATTRIB2DVPROC gl3wVertexAttrib2dv;
  269. PFNGLVERTEXATTRIB2FPROC gl3wVertexAttrib2f;
  270. PFNGLVERTEXATTRIB2FVPROC gl3wVertexAttrib2fv;
  271. PFNGLVERTEXATTRIB2SPROC gl3wVertexAttrib2s;
  272. PFNGLVERTEXATTRIB2SVPROC gl3wVertexAttrib2sv;
  273. PFNGLVERTEXATTRIB3DPROC gl3wVertexAttrib3d;
  274. PFNGLVERTEXATTRIB3DVPROC gl3wVertexAttrib3dv;
  275. PFNGLVERTEXATTRIB3FPROC gl3wVertexAttrib3f;
  276. PFNGLVERTEXATTRIB3FVPROC gl3wVertexAttrib3fv;
  277. PFNGLVERTEXATTRIB3SPROC gl3wVertexAttrib3s;
  278. PFNGLVERTEXATTRIB3SVPROC gl3wVertexAttrib3sv;
  279. PFNGLVERTEXATTRIB4NBVPROC gl3wVertexAttrib4Nbv;
  280. PFNGLVERTEXATTRIB4NIVPROC gl3wVertexAttrib4Niv;
  281. PFNGLVERTEXATTRIB4NSVPROC gl3wVertexAttrib4Nsv;
  282. PFNGLVERTEXATTRIB4NUBPROC gl3wVertexAttrib4Nub;
  283. PFNGLVERTEXATTRIB4NUBVPROC gl3wVertexAttrib4Nubv;
  284. PFNGLVERTEXATTRIB4NUIVPROC gl3wVertexAttrib4Nuiv;
  285. PFNGLVERTEXATTRIB4NUSVPROC gl3wVertexAttrib4Nusv;
  286. PFNGLVERTEXATTRIB4BVPROC gl3wVertexAttrib4bv;
  287. PFNGLVERTEXATTRIB4DPROC gl3wVertexAttrib4d;
  288. PFNGLVERTEXATTRIB4DVPROC gl3wVertexAttrib4dv;
  289. PFNGLVERTEXATTRIB4FPROC gl3wVertexAttrib4f;
  290. PFNGLVERTEXATTRIB4FVPROC gl3wVertexAttrib4fv;
  291. PFNGLVERTEXATTRIB4IVPROC gl3wVertexAttrib4iv;
  292. PFNGLVERTEXATTRIB4SPROC gl3wVertexAttrib4s;
  293. PFNGLVERTEXATTRIB4SVPROC gl3wVertexAttrib4sv;
  294. PFNGLVERTEXATTRIB4UBVPROC gl3wVertexAttrib4ubv;
  295. PFNGLVERTEXATTRIB4UIVPROC gl3wVertexAttrib4uiv;
  296. PFNGLVERTEXATTRIB4USVPROC gl3wVertexAttrib4usv;
  297. PFNGLVERTEXATTRIBPOINTERPROC gl3wVertexAttribPointer;
  298. PFNGLUNIFORMMATRIX2X3FVPROC gl3wUniformMatrix2x3fv;
  299. PFNGLUNIFORMMATRIX3X2FVPROC gl3wUniformMatrix3x2fv;
  300. PFNGLUNIFORMMATRIX2X4FVPROC gl3wUniformMatrix2x4fv;
  301. PFNGLUNIFORMMATRIX4X2FVPROC gl3wUniformMatrix4x2fv;
  302. PFNGLUNIFORMMATRIX3X4FVPROC gl3wUniformMatrix3x4fv;
  303. PFNGLUNIFORMMATRIX4X3FVPROC gl3wUniformMatrix4x3fv;
  304. PFNGLCOLORMASKIPROC gl3wColorMaski;
  305. PFNGLGETBOOLEANI_VPROC gl3wGetBooleani_v;
  306. PFNGLGETINTEGERI_VPROC gl3wGetIntegeri_v;
  307. PFNGLENABLEIPROC gl3wEnablei;
  308. PFNGLDISABLEIPROC gl3wDisablei;
  309. PFNGLISENABLEDIPROC gl3wIsEnabledi;
  310. PFNGLBEGINTRANSFORMFEEDBACKPROC gl3wBeginTransformFeedback;
  311. PFNGLENDTRANSFORMFEEDBACKPROC gl3wEndTransformFeedback;
  312. PFNGLBINDBUFFERRANGEPROC gl3wBindBufferRange;
  313. PFNGLBINDBUFFERBASEPROC gl3wBindBufferBase;
  314. PFNGLTRANSFORMFEEDBACKVARYINGSPROC gl3wTransformFeedbackVaryings;
  315. PFNGLGETTRANSFORMFEEDBACKVARYINGPROC gl3wGetTransformFeedbackVarying;
  316. PFNGLCLAMPCOLORPROC gl3wClampColor;
  317. PFNGLBEGINCONDITIONALRENDERPROC gl3wBeginConditionalRender;
  318. PFNGLENDCONDITIONALRENDERPROC gl3wEndConditionalRender;
  319. PFNGLVERTEXATTRIBIPOINTERPROC gl3wVertexAttribIPointer;
  320. PFNGLGETVERTEXATTRIBIIVPROC gl3wGetVertexAttribIiv;
  321. PFNGLGETVERTEXATTRIBIUIVPROC gl3wGetVertexAttribIuiv;
  322. PFNGLVERTEXATTRIBI1IPROC gl3wVertexAttribI1i;
  323. PFNGLVERTEXATTRIBI2IPROC gl3wVertexAttribI2i;
  324. PFNGLVERTEXATTRIBI3IPROC gl3wVertexAttribI3i;
  325. PFNGLVERTEXATTRIBI4IPROC gl3wVertexAttribI4i;
  326. PFNGLVERTEXATTRIBI1UIPROC gl3wVertexAttribI1ui;
  327. PFNGLVERTEXATTRIBI2UIPROC gl3wVertexAttribI2ui;
  328. PFNGLVERTEXATTRIBI3UIPROC gl3wVertexAttribI3ui;
  329. PFNGLVERTEXATTRIBI4UIPROC gl3wVertexAttribI4ui;
  330. PFNGLVERTEXATTRIBI1IVPROC gl3wVertexAttribI1iv;
  331. PFNGLVERTEXATTRIBI2IVPROC gl3wVertexAttribI2iv;
  332. PFNGLVERTEXATTRIBI3IVPROC gl3wVertexAttribI3iv;
  333. PFNGLVERTEXATTRIBI4IVPROC gl3wVertexAttribI4iv;
  334. PFNGLVERTEXATTRIBI1UIVPROC gl3wVertexAttribI1uiv;
  335. PFNGLVERTEXATTRIBI2UIVPROC gl3wVertexAttribI2uiv;
  336. PFNGLVERTEXATTRIBI3UIVPROC gl3wVertexAttribI3uiv;
  337. PFNGLVERTEXATTRIBI4UIVPROC gl3wVertexAttribI4uiv;
  338. PFNGLVERTEXATTRIBI4BVPROC gl3wVertexAttribI4bv;
  339. PFNGLVERTEXATTRIBI4SVPROC gl3wVertexAttribI4sv;
  340. PFNGLVERTEXATTRIBI4UBVPROC gl3wVertexAttribI4ubv;
  341. PFNGLVERTEXATTRIBI4USVPROC gl3wVertexAttribI4usv;
  342. PFNGLGETUNIFORMUIVPROC gl3wGetUniformuiv;
  343. PFNGLBINDFRAGDATALOCATIONPROC gl3wBindFragDataLocation;
  344. PFNGLGETFRAGDATALOCATIONPROC gl3wGetFragDataLocation;
  345. PFNGLUNIFORM1UIPROC gl3wUniform1ui;
  346. PFNGLUNIFORM2UIPROC gl3wUniform2ui;
  347. PFNGLUNIFORM3UIPROC gl3wUniform3ui;
  348. PFNGLUNIFORM4UIPROC gl3wUniform4ui;
  349. PFNGLUNIFORM1UIVPROC gl3wUniform1uiv;
  350. PFNGLUNIFORM2UIVPROC gl3wUniform2uiv;
  351. PFNGLUNIFORM3UIVPROC gl3wUniform3uiv;
  352. PFNGLUNIFORM4UIVPROC gl3wUniform4uiv;
  353. PFNGLTEXPARAMETERIIVPROC gl3wTexParameterIiv;
  354. PFNGLTEXPARAMETERIUIVPROC gl3wTexParameterIuiv;
  355. PFNGLGETTEXPARAMETERIIVPROC gl3wGetTexParameterIiv;
  356. PFNGLGETTEXPARAMETERIUIVPROC gl3wGetTexParameterIuiv;
  357. PFNGLCLEARBUFFERIVPROC gl3wClearBufferiv;
  358. PFNGLCLEARBUFFERUIVPROC gl3wClearBufferuiv;
  359. PFNGLCLEARBUFFERFVPROC gl3wClearBufferfv;
  360. PFNGLCLEARBUFFERFIPROC gl3wClearBufferfi;
  361. PFNGLGETSTRINGIPROC gl3wGetStringi;
  362. PFNGLDRAWARRAYSINSTANCEDPROC gl3wDrawArraysInstanced;
  363. PFNGLDRAWELEMENTSINSTANCEDPROC gl3wDrawElementsInstanced;
  364. PFNGLTEXBUFFERPROC gl3wTexBuffer;
  365. PFNGLPRIMITIVERESTARTINDEXPROC gl3wPrimitiveRestartIndex;
  366. PFNGLGETINTEGER64I_VPROC gl3wGetInteger64i_v;
  367. PFNGLGETBUFFERPARAMETERI64VPROC gl3wGetBufferParameteri64v;
  368. PFNGLFRAMEBUFFERTEXTUREPROC gl3wFramebufferTexture;
  369. PFNGLVERTEXATTRIBDIVISORPROC gl3wVertexAttribDivisor;
  370. PFNGLMINSAMPLESHADINGPROC gl3wMinSampleShading;
  371. PFNGLBLENDEQUATIONIPROC gl3wBlendEquationi;
  372. PFNGLBLENDEQUATIONSEPARATEIPROC gl3wBlendEquationSeparatei;
  373. PFNGLBLENDFUNCIPROC gl3wBlendFunci;
  374. PFNGLBLENDFUNCSEPARATEIPROC gl3wBlendFuncSeparatei;
  375. PFNGLISRENDERBUFFERPROC gl3wIsRenderbuffer;
  376. PFNGLBINDRENDERBUFFERPROC gl3wBindRenderbuffer;
  377. PFNGLDELETERENDERBUFFERSPROC gl3wDeleteRenderbuffers;
  378. PFNGLGENRENDERBUFFERSPROC gl3wGenRenderbuffers;
  379. PFNGLRENDERBUFFERSTORAGEPROC gl3wRenderbufferStorage;
  380. PFNGLGETRENDERBUFFERPARAMETERIVPROC gl3wGetRenderbufferParameteriv;
  381. PFNGLISFRAMEBUFFERPROC gl3wIsFramebuffer;
  382. PFNGLBINDFRAMEBUFFERPROC gl3wBindFramebuffer;
  383. PFNGLDELETEFRAMEBUFFERSPROC gl3wDeleteFramebuffers;
  384. PFNGLGENFRAMEBUFFERSPROC gl3wGenFramebuffers;
  385. PFNGLCHECKFRAMEBUFFERSTATUSPROC gl3wCheckFramebufferStatus;
  386. PFNGLFRAMEBUFFERTEXTURE1DPROC gl3wFramebufferTexture1D;
  387. PFNGLFRAMEBUFFERTEXTURE2DPROC gl3wFramebufferTexture2D;
  388. PFNGLFRAMEBUFFERTEXTURE3DPROC gl3wFramebufferTexture3D;
  389. PFNGLFRAMEBUFFERRENDERBUFFERPROC gl3wFramebufferRenderbuffer;
  390. PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC gl3wGetFramebufferAttachmentParameteriv;
  391. PFNGLGENERATEMIPMAPPROC gl3wGenerateMipmap;
  392. PFNGLBLITFRAMEBUFFERPROC gl3wBlitFramebuffer;
  393. PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC gl3wRenderbufferStorageMultisample;
  394. PFNGLFRAMEBUFFERTEXTURELAYERPROC gl3wFramebufferTextureLayer;
  395. PFNGLMAPBUFFERRANGEPROC gl3wMapBufferRange;
  396. PFNGLFLUSHMAPPEDBUFFERRANGEPROC gl3wFlushMappedBufferRange;
  397. PFNGLBINDVERTEXARRAYPROC gl3wBindVertexArray;
  398. PFNGLDELETEVERTEXARRAYSPROC gl3wDeleteVertexArrays;
  399. PFNGLGENVERTEXARRAYSPROC gl3wGenVertexArrays;
  400. PFNGLISVERTEXARRAYPROC gl3wIsVertexArray;
  401. PFNGLGETUNIFORMINDICESPROC gl3wGetUniformIndices;
  402. PFNGLGETACTIVEUNIFORMSIVPROC gl3wGetActiveUniformsiv;
  403. PFNGLGETACTIVEUNIFORMNAMEPROC gl3wGetActiveUniformName;
  404. PFNGLGETUNIFORMBLOCKINDEXPROC gl3wGetUniformBlockIndex;
  405. PFNGLGETACTIVEUNIFORMBLOCKIVPROC gl3wGetActiveUniformBlockiv;
  406. PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC gl3wGetActiveUniformBlockName;
  407. PFNGLUNIFORMBLOCKBINDINGPROC gl3wUniformBlockBinding;
  408. PFNGLCOPYBUFFERSUBDATAPROC gl3wCopyBufferSubData;
  409. PFNGLDRAWELEMENTSBASEVERTEXPROC gl3wDrawElementsBaseVertex;
  410. PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC gl3wDrawRangeElementsBaseVertex;
  411. PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC gl3wDrawElementsInstancedBaseVertex;
  412. PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC gl3wMultiDrawElementsBaseVertex;
  413. PFNGLPROVOKINGVERTEXPROC gl3wProvokingVertex;
  414. PFNGLFENCESYNCPROC gl3wFenceSync;
  415. PFNGLISSYNCPROC gl3wIsSync;
  416. PFNGLDELETESYNCPROC gl3wDeleteSync;
  417. PFNGLCLIENTWAITSYNCPROC gl3wClientWaitSync;
  418. PFNGLWAITSYNCPROC gl3wWaitSync;
  419. PFNGLGETINTEGER64VPROC gl3wGetInteger64v;
  420. PFNGLGETSYNCIVPROC gl3wGetSynciv;
  421. PFNGLTEXIMAGE2DMULTISAMPLEPROC gl3wTexImage2DMultisample;
  422. PFNGLTEXIMAGE3DMULTISAMPLEPROC gl3wTexImage3DMultisample;
  423. PFNGLGETMULTISAMPLEFVPROC gl3wGetMultisamplefv;
  424. PFNGLSAMPLEMASKIPROC gl3wSampleMaski;
  425. PFNGLBLENDEQUATIONIARBPROC gl3wBlendEquationiARB;
  426. PFNGLBLENDEQUATIONSEPARATEIARBPROC gl3wBlendEquationSeparateiARB;
  427. PFNGLBLENDFUNCIARBPROC gl3wBlendFunciARB;
  428. PFNGLBLENDFUNCSEPARATEIARBPROC gl3wBlendFuncSeparateiARB;
  429. PFNGLMINSAMPLESHADINGARBPROC gl3wMinSampleShadingARB;
  430. PFNGLNAMEDSTRINGARBPROC gl3wNamedStringARB;
  431. PFNGLDELETENAMEDSTRINGARBPROC gl3wDeleteNamedStringARB;
  432. PFNGLCOMPILESHADERINCLUDEARBPROC gl3wCompileShaderIncludeARB;
  433. PFNGLISNAMEDSTRINGARBPROC gl3wIsNamedStringARB;
  434. PFNGLGETNAMEDSTRINGARBPROC gl3wGetNamedStringARB;
  435. PFNGLGETNAMEDSTRINGIVARBPROC gl3wGetNamedStringivARB;
  436. PFNGLBINDFRAGDATALOCATIONINDEXEDPROC gl3wBindFragDataLocationIndexed;
  437. PFNGLGETFRAGDATAINDEXPROC gl3wGetFragDataIndex;
  438. PFNGLGENSAMPLERSPROC gl3wGenSamplers;
  439. PFNGLDELETESAMPLERSPROC gl3wDeleteSamplers;
  440. PFNGLISSAMPLERPROC gl3wIsSampler;
  441. PFNGLBINDSAMPLERPROC gl3wBindSampler;
  442. PFNGLSAMPLERPARAMETERIPROC gl3wSamplerParameteri;
  443. PFNGLSAMPLERPARAMETERIVPROC gl3wSamplerParameteriv;
  444. PFNGLSAMPLERPARAMETERFPROC gl3wSamplerParameterf;
  445. PFNGLSAMPLERPARAMETERFVPROC gl3wSamplerParameterfv;
  446. PFNGLSAMPLERPARAMETERIIVPROC gl3wSamplerParameterIiv;
  447. PFNGLSAMPLERPARAMETERIUIVPROC gl3wSamplerParameterIuiv;
  448. PFNGLGETSAMPLERPARAMETERIVPROC gl3wGetSamplerParameteriv;
  449. PFNGLGETSAMPLERPARAMETERIIVPROC gl3wGetSamplerParameterIiv;
  450. PFNGLGETSAMPLERPARAMETERFVPROC gl3wGetSamplerParameterfv;
  451. PFNGLGETSAMPLERPARAMETERIUIVPROC gl3wGetSamplerParameterIuiv;
  452. PFNGLQUERYCOUNTERPROC gl3wQueryCounter;
  453. PFNGLGETQUERYOBJECTI64VPROC gl3wGetQueryObjecti64v;
  454. PFNGLGETQUERYOBJECTUI64VPROC gl3wGetQueryObjectui64v;
  455. PFNGLVERTEXP2UIPROC gl3wVertexP2ui;
  456. PFNGLVERTEXP2UIVPROC gl3wVertexP2uiv;
  457. PFNGLVERTEXP3UIPROC gl3wVertexP3ui;
  458. PFNGLVERTEXP3UIVPROC gl3wVertexP3uiv;
  459. PFNGLVERTEXP4UIPROC gl3wVertexP4ui;
  460. PFNGLVERTEXP4UIVPROC gl3wVertexP4uiv;
  461. PFNGLTEXCOORDP1UIPROC gl3wTexCoordP1ui;
  462. PFNGLTEXCOORDP1UIVPROC gl3wTexCoordP1uiv;
  463. PFNGLTEXCOORDP2UIPROC gl3wTexCoordP2ui;
  464. PFNGLTEXCOORDP2UIVPROC gl3wTexCoordP2uiv;
  465. PFNGLTEXCOORDP3UIPROC gl3wTexCoordP3ui;
  466. PFNGLTEXCOORDP3UIVPROC gl3wTexCoordP3uiv;
  467. PFNGLTEXCOORDP4UIPROC gl3wTexCoordP4ui;
  468. PFNGLTEXCOORDP4UIVPROC gl3wTexCoordP4uiv;
  469. PFNGLMULTITEXCOORDP1UIPROC gl3wMultiTexCoordP1ui;
  470. PFNGLMULTITEXCOORDP1UIVPROC gl3wMultiTexCoordP1uiv;
  471. PFNGLMULTITEXCOORDP2UIPROC gl3wMultiTexCoordP2ui;
  472. PFNGLMULTITEXCOORDP2UIVPROC gl3wMultiTexCoordP2uiv;
  473. PFNGLMULTITEXCOORDP3UIPROC gl3wMultiTexCoordP3ui;
  474. PFNGLMULTITEXCOORDP3UIVPROC gl3wMultiTexCoordP3uiv;
  475. PFNGLMULTITEXCOORDP4UIPROC gl3wMultiTexCoordP4ui;
  476. PFNGLMULTITEXCOORDP4UIVPROC gl3wMultiTexCoordP4uiv;
  477. PFNGLNORMALP3UIPROC gl3wNormalP3ui;
  478. PFNGLNORMALP3UIVPROC gl3wNormalP3uiv;
  479. PFNGLCOLORP3UIPROC gl3wColorP3ui;
  480. PFNGLCOLORP3UIVPROC gl3wColorP3uiv;
  481. PFNGLCOLORP4UIPROC gl3wColorP4ui;
  482. PFNGLCOLORP4UIVPROC gl3wColorP4uiv;
  483. PFNGLSECONDARYCOLORP3UIPROC gl3wSecondaryColorP3ui;
  484. PFNGLSECONDARYCOLORP3UIVPROC gl3wSecondaryColorP3uiv;
  485. PFNGLVERTEXATTRIBP1UIPROC gl3wVertexAttribP1ui;
  486. PFNGLVERTEXATTRIBP1UIVPROC gl3wVertexAttribP1uiv;
  487. PFNGLVERTEXATTRIBP2UIPROC gl3wVertexAttribP2ui;
  488. PFNGLVERTEXATTRIBP2UIVPROC gl3wVertexAttribP2uiv;
  489. PFNGLVERTEXATTRIBP3UIPROC gl3wVertexAttribP3ui;
  490. PFNGLVERTEXATTRIBP3UIVPROC gl3wVertexAttribP3uiv;
  491. PFNGLVERTEXATTRIBP4UIPROC gl3wVertexAttribP4ui;
  492. PFNGLVERTEXATTRIBP4UIVPROC gl3wVertexAttribP4uiv;
  493. PFNGLDRAWARRAYSINDIRECTPROC gl3wDrawArraysIndirect;
  494. PFNGLDRAWELEMENTSINDIRECTPROC gl3wDrawElementsIndirect;
  495. PFNGLUNIFORM1DPROC gl3wUniform1d;
  496. PFNGLUNIFORM2DPROC gl3wUniform2d;
  497. PFNGLUNIFORM3DPROC gl3wUniform3d;
  498. PFNGLUNIFORM4DPROC gl3wUniform4d;
  499. PFNGLUNIFORM1DVPROC gl3wUniform1dv;
  500. PFNGLUNIFORM2DVPROC gl3wUniform2dv;
  501. PFNGLUNIFORM3DVPROC gl3wUniform3dv;
  502. PFNGLUNIFORM4DVPROC gl3wUniform4dv;
  503. PFNGLUNIFORMMATRIX2DVPROC gl3wUniformMatrix2dv;
  504. PFNGLUNIFORMMATRIX3DVPROC gl3wUniformMatrix3dv;
  505. PFNGLUNIFORMMATRIX4DVPROC gl3wUniformMatrix4dv;
  506. PFNGLUNIFORMMATRIX2X3DVPROC gl3wUniformMatrix2x3dv;
  507. PFNGLUNIFORMMATRIX2X4DVPROC gl3wUniformMatrix2x4dv;
  508. PFNGLUNIFORMMATRIX3X2DVPROC gl3wUniformMatrix3x2dv;
  509. PFNGLUNIFORMMATRIX3X4DVPROC gl3wUniformMatrix3x4dv;
  510. PFNGLUNIFORMMATRIX4X2DVPROC gl3wUniformMatrix4x2dv;
  511. PFNGLUNIFORMMATRIX4X3DVPROC gl3wUniformMatrix4x3dv;
  512. PFNGLGETUNIFORMDVPROC gl3wGetUniformdv;
  513. PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC gl3wGetSubroutineUniformLocation;
  514. PFNGLGETSUBROUTINEINDEXPROC gl3wGetSubroutineIndex;
  515. PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC gl3wGetActiveSubroutineUniformiv;
  516. PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC gl3wGetActiveSubroutineUniformName;
  517. PFNGLGETACTIVESUBROUTINENAMEPROC gl3wGetActiveSubroutineName;
  518. PFNGLUNIFORMSUBROUTINESUIVPROC gl3wUniformSubroutinesuiv;
  519. PFNGLGETUNIFORMSUBROUTINEUIVPROC gl3wGetUniformSubroutineuiv;
  520. PFNGLGETPROGRAMSTAGEIVPROC gl3wGetProgramStageiv;
  521. PFNGLPATCHPARAMETERIPROC gl3wPatchParameteri;
  522. PFNGLPATCHPARAMETERFVPROC gl3wPatchParameterfv;
  523. PFNGLBINDTRANSFORMFEEDBACKPROC gl3wBindTransformFeedback;
  524. PFNGLDELETETRANSFORMFEEDBACKSPROC gl3wDeleteTransformFeedbacks;
  525. PFNGLGENTRANSFORMFEEDBACKSPROC gl3wGenTransformFeedbacks;
  526. PFNGLISTRANSFORMFEEDBACKPROC gl3wIsTransformFeedback;
  527. PFNGLPAUSETRANSFORMFEEDBACKPROC gl3wPauseTransformFeedback;
  528. PFNGLRESUMETRANSFORMFEEDBACKPROC gl3wResumeTransformFeedback;
  529. PFNGLDRAWTRANSFORMFEEDBACKPROC gl3wDrawTransformFeedback;
  530. PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC gl3wDrawTransformFeedbackStream;
  531. PFNGLBEGINQUERYINDEXEDPROC gl3wBeginQueryIndexed;
  532. PFNGLENDQUERYINDEXEDPROC gl3wEndQueryIndexed;
  533. PFNGLGETQUERYINDEXEDIVPROC gl3wGetQueryIndexediv;
  534. PFNGLRELEASESHADERCOMPILERPROC gl3wReleaseShaderCompiler;
  535. PFNGLSHADERBINARYPROC gl3wShaderBinary;
  536. PFNGLGETSHADERPRECISIONFORMATPROC gl3wGetShaderPrecisionFormat;
  537. PFNGLDEPTHRANGEFPROC gl3wDepthRangef;
  538. PFNGLCLEARDEPTHFPROC gl3wClearDepthf;
  539. PFNGLGETPROGRAMBINARYPROC gl3wGetProgramBinary;
  540. PFNGLPROGRAMBINARYPROC gl3wProgramBinary;
  541. PFNGLPROGRAMPARAMETERIPROC gl3wProgramParameteri;
  542. PFNGLUSEPROGRAMSTAGESPROC gl3wUseProgramStages;
  543. PFNGLACTIVESHADERPROGRAMPROC gl3wActiveShaderProgram;
  544. PFNGLCREATESHADERPROGRAMVPROC gl3wCreateShaderProgramv;
  545. PFNGLBINDPROGRAMPIPELINEPROC gl3wBindProgramPipeline;
  546. PFNGLDELETEPROGRAMPIPELINESPROC gl3wDeleteProgramPipelines;
  547. PFNGLGENPROGRAMPIPELINESPROC gl3wGenProgramPipelines;
  548. PFNGLISPROGRAMPIPELINEPROC gl3wIsProgramPipeline;
  549. PFNGLGETPROGRAMPIPELINEIVPROC gl3wGetProgramPipelineiv;
  550. PFNGLPROGRAMUNIFORM1IPROC gl3wProgramUniform1i;
  551. PFNGLPROGRAMUNIFORM1IVPROC gl3wProgramUniform1iv;
  552. PFNGLPROGRAMUNIFORM1FPROC gl3wProgramUniform1f;
  553. PFNGLPROGRAMUNIFORM1FVPROC gl3wProgramUniform1fv;
  554. PFNGLPROGRAMUNIFORM1DPROC gl3wProgramUniform1d;
  555. PFNGLPROGRAMUNIFORM1DVPROC gl3wProgramUniform1dv;
  556. PFNGLPROGRAMUNIFORM1UIPROC gl3wProgramUniform1ui;
  557. PFNGLPROGRAMUNIFORM1UIVPROC gl3wProgramUniform1uiv;
  558. PFNGLPROGRAMUNIFORM2IPROC gl3wProgramUniform2i;
  559. PFNGLPROGRAMUNIFORM2IVPROC gl3wProgramUniform2iv;
  560. PFNGLPROGRAMUNIFORM2FPROC gl3wProgramUniform2f;
  561. PFNGLPROGRAMUNIFORM2FVPROC gl3wProgramUniform2fv;
  562. PFNGLPROGRAMUNIFORM2DPROC gl3wProgramUniform2d;
  563. PFNGLPROGRAMUNIFORM2DVPROC gl3wProgramUniform2dv;
  564. PFNGLPROGRAMUNIFORM2UIPROC gl3wProgramUniform2ui;
  565. PFNGLPROGRAMUNIFORM2UIVPROC gl3wProgramUniform2uiv;
  566. PFNGLPROGRAMUNIFORM3IPROC gl3wProgramUniform3i;
  567. PFNGLPROGRAMUNIFORM3IVPROC gl3wProgramUniform3iv;
  568. PFNGLPROGRAMUNIFORM3FPROC gl3wProgramUniform3f;
  569. PFNGLPROGRAMUNIFORM3FVPROC gl3wProgramUniform3fv;
  570. PFNGLPROGRAMUNIFORM3DPROC gl3wProgramUniform3d;
  571. PFNGLPROGRAMUNIFORM3DVPROC gl3wProgramUniform3dv;
  572. PFNGLPROGRAMUNIFORM3UIPROC gl3wProgramUniform3ui;
  573. PFNGLPROGRAMUNIFORM3UIVPROC gl3wProgramUniform3uiv;
  574. PFNGLPROGRAMUNIFORM4IPROC gl3wProgramUniform4i;
  575. PFNGLPROGRAMUNIFORM4IVPROC gl3wProgramUniform4iv;
  576. PFNGLPROGRAMUNIFORM4FPROC gl3wProgramUniform4f;
  577. PFNGLPROGRAMUNIFORM4FVPROC gl3wProgramUniform4fv;
  578. PFNGLPROGRAMUNIFORM4DPROC gl3wProgramUniform4d;
  579. PFNGLPROGRAMUNIFORM4DVPROC gl3wProgramUniform4dv;
  580. PFNGLPROGRAMUNIFORM4UIPROC gl3wProgramUniform4ui;
  581. PFNGLPROGRAMUNIFORM4UIVPROC gl3wProgramUniform4uiv;
  582. PFNGLPROGRAMUNIFORMMATRIX2FVPROC gl3wProgramUniformMatrix2fv;
  583. PFNGLPROGRAMUNIFORMMATRIX3FVPROC gl3wProgramUniformMatrix3fv;
  584. PFNGLPROGRAMUNIFORMMATRIX4FVPROC gl3wProgramUniformMatrix4fv;
  585. PFNGLPROGRAMUNIFORMMATRIX2DVPROC gl3wProgramUniformMatrix2dv;
  586. PFNGLPROGRAMUNIFORMMATRIX3DVPROC gl3wProgramUniformMatrix3dv;
  587. PFNGLPROGRAMUNIFORMMATRIX4DVPROC gl3wProgramUniformMatrix4dv;
  588. PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC gl3wProgramUniformMatrix2x3fv;
  589. PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC gl3wProgramUniformMatrix3x2fv;
  590. PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC gl3wProgramUniformMatrix2x4fv;
  591. PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC gl3wProgramUniformMatrix4x2fv;
  592. PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC gl3wProgramUniformMatrix3x4fv;
  593. PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC gl3wProgramUniformMatrix4x3fv;
  594. PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC gl3wProgramUniformMatrix2x3dv;
  595. PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC gl3wProgramUniformMatrix3x2dv;
  596. PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC gl3wProgramUniformMatrix2x4dv;
  597. PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC gl3wProgramUniformMatrix4x2dv;
  598. PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC gl3wProgramUniformMatrix3x4dv;
  599. PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC gl3wProgramUniformMatrix4x3dv;
  600. PFNGLVALIDATEPROGRAMPIPELINEPROC gl3wValidateProgramPipeline;
  601. PFNGLGETPROGRAMPIPELINEINFOLOGPROC gl3wGetProgramPipelineInfoLog;
  602. PFNGLVERTEXATTRIBL1DPROC gl3wVertexAttribL1d;
  603. PFNGLVERTEXATTRIBL2DPROC gl3wVertexAttribL2d;
  604. PFNGLVERTEXATTRIBL3DPROC gl3wVertexAttribL3d;
  605. PFNGLVERTEXATTRIBL4DPROC gl3wVertexAttribL4d;
  606. PFNGLVERTEXATTRIBL1DVPROC gl3wVertexAttribL1dv;
  607. PFNGLVERTEXATTRIBL2DVPROC gl3wVertexAttribL2dv;
  608. PFNGLVERTEXATTRIBL3DVPROC gl3wVertexAttribL3dv;
  609. PFNGLVERTEXATTRIBL4DVPROC gl3wVertexAttribL4dv;
  610. PFNGLVERTEXATTRIBLPOINTERPROC gl3wVertexAttribLPointer;
  611. PFNGLGETVERTEXATTRIBLDVPROC gl3wGetVertexAttribLdv;
  612. PFNGLVIEWPORTARRAYVPROC gl3wViewportArrayv;
  613. PFNGLVIEWPORTINDEXEDFPROC gl3wViewportIndexedf;
  614. PFNGLVIEWPORTINDEXEDFVPROC gl3wViewportIndexedfv;
  615. PFNGLSCISSORARRAYVPROC gl3wScissorArrayv;
  616. PFNGLSCISSORINDEXEDPROC gl3wScissorIndexed;
  617. PFNGLSCISSORINDEXEDVPROC gl3wScissorIndexedv;
  618. PFNGLDEPTHRANGEARRAYVPROC gl3wDepthRangeArrayv;
  619. PFNGLDEPTHRANGEINDEXEDPROC gl3wDepthRangeIndexed;
  620. PFNGLGETFLOATI_VPROC gl3wGetFloati_v;
  621. PFNGLGETDOUBLEI_VPROC gl3wGetDoublei_v;
  622. PFNGLCREATESYNCFROMCLEVENTARBPROC gl3wCreateSyncFromCLeventARB;
  623. PFNGLDEBUGMESSAGECONTROLARBPROC gl3wDebugMessageControlARB;
  624. PFNGLDEBUGMESSAGEINSERTARBPROC gl3wDebugMessageInsertARB;
  625. PFNGLDEBUGMESSAGECALLBACKARBPROC gl3wDebugMessageCallbackARB;
  626. PFNGLGETDEBUGMESSAGELOGARBPROC gl3wGetDebugMessageLogARB;
  627. PFNGLGETGRAPHICSRESETSTATUSARBPROC gl3wGetGraphicsResetStatusARB;
  628. PFNGLGETNTEXIMAGEARBPROC gl3wGetnTexImageARB;
  629. PFNGLREADNPIXELSARBPROC gl3wReadnPixelsARB;
  630. PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC gl3wGetnCompressedTexImageARB;
  631. PFNGLGETNUNIFORMFVARBPROC gl3wGetnUniformfvARB;
  632. PFNGLGETNUNIFORMIVARBPROC gl3wGetnUniformivARB;
  633. PFNGLGETNUNIFORMUIVARBPROC gl3wGetnUniformuivARB;
  634. PFNGLGETNUNIFORMDVARBPROC gl3wGetnUniformdvARB;
  635. PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC gl3wDrawArraysInstancedBaseInstance;
  636. PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC gl3wDrawElementsInstancedBaseInstance;
  637. PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC gl3wDrawElementsInstancedBaseVertexBaseInstance;
  638. PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC gl3wDrawTransformFeedbackInstanced;
  639. PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC gl3wDrawTransformFeedbackStreamInstanced;
  640. PFNGLGETINTERNALFORMATIVPROC gl3wGetInternalformativ;
  641. PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC gl3wGetActiveAtomicCounterBufferiv;
  642. PFNGLBINDIMAGETEXTUREPROC gl3wBindImageTexture;
  643. PFNGLMEMORYBARRIERPROC gl3wMemoryBarrier;
  644. PFNGLTEXSTORAGE1DPROC gl3wTexStorage1D;
  645. PFNGLTEXSTORAGE2DPROC gl3wTexStorage2D;
  646. PFNGLTEXSTORAGE3DPROC gl3wTexStorage3D;
  647. PFNGLTEXTURESTORAGE1DEXTPROC gl3wTextureStorage1DEXT;
  648. PFNGLTEXTURESTORAGE2DEXTPROC gl3wTextureStorage2DEXT;
  649. PFNGLTEXTURESTORAGE3DEXTPROC gl3wTextureStorage3DEXT;
  650. PFNGLDEBUGMESSAGECONTROLPROC gl3wDebugMessageControl;
  651. PFNGLDEBUGMESSAGEINSERTPROC gl3wDebugMessageInsert;
  652. PFNGLDEBUGMESSAGECALLBACKPROC gl3wDebugMessageCallback;
  653. PFNGLGETDEBUGMESSAGELOGPROC gl3wGetDebugMessageLog;
  654. PFNGLPUSHDEBUGGROUPPROC gl3wPushDebugGroup;
  655. PFNGLPOPDEBUGGROUPPROC gl3wPopDebugGroup;
  656. PFNGLOBJECTLABELPROC gl3wObjectLabel;
  657. PFNGLGETOBJECTLABELPROC gl3wGetObjectLabel;
  658. PFNGLOBJECTPTRLABELPROC gl3wObjectPtrLabel;
  659. PFNGLGETOBJECTPTRLABELPROC gl3wGetObjectPtrLabel;
  660. PFNGLCLEARBUFFERDATAPROC gl3wClearBufferData;
  661. PFNGLCLEARBUFFERSUBDATAPROC gl3wClearBufferSubData;
  662. PFNGLCLEARNAMEDBUFFERDATAEXTPROC gl3wClearNamedBufferDataEXT;
  663. PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC gl3wClearNamedBufferSubDataEXT;
  664. PFNGLDISPATCHCOMPUTEPROC gl3wDispatchCompute;
  665. PFNGLDISPATCHCOMPUTEINDIRECTPROC gl3wDispatchComputeIndirect;
  666. PFNGLCOPYIMAGESUBDATAPROC gl3wCopyImageSubData;
  667. PFNGLTEXTUREVIEWPROC gl3wTextureView;
  668. PFNGLBINDVERTEXBUFFERPROC gl3wBindVertexBuffer;
  669. PFNGLVERTEXATTRIBFORMATPROC gl3wVertexAttribFormat;
  670. PFNGLVERTEXATTRIBIFORMATPROC gl3wVertexAttribIFormat;
  671. PFNGLVERTEXATTRIBLFORMATPROC gl3wVertexAttribLFormat;
  672. PFNGLVERTEXATTRIBBINDINGPROC gl3wVertexAttribBinding;
  673. PFNGLVERTEXBINDINGDIVISORPROC gl3wVertexBindingDivisor;
  674. PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC gl3wVertexArrayBindVertexBufferEXT;
  675. PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC gl3wVertexArrayVertexAttribFormatEXT;
  676. PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC gl3wVertexArrayVertexAttribIFormatEXT;
  677. PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC gl3wVertexArrayVertexAttribLFormatEXT;
  678. PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC gl3wVertexArrayVertexAttribBindingEXT;
  679. PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC gl3wVertexArrayVertexBindingDivisorEXT;
  680. PFNGLFRAMEBUFFERPARAMETERIPROC gl3wFramebufferParameteri;
  681. PFNGLGETFRAMEBUFFERPARAMETERIVPROC gl3wGetFramebufferParameteriv;
  682. PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC gl3wNamedFramebufferParameteriEXT;
  683. PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC gl3wGetNamedFramebufferParameterivEXT;
  684. PFNGLGETINTERNALFORMATI64VPROC gl3wGetInternalformati64v;
  685. PFNGLINVALIDATETEXSUBIMAGEPROC gl3wInvalidateTexSubImage;
  686. PFNGLINVALIDATETEXIMAGEPROC gl3wInvalidateTexImage;
  687. PFNGLINVALIDATEBUFFERSUBDATAPROC gl3wInvalidateBufferSubData;
  688. PFNGLINVALIDATEBUFFERDATAPROC gl3wInvalidateBufferData;
  689. PFNGLINVALIDATEFRAMEBUFFERPROC gl3wInvalidateFramebuffer;
  690. PFNGLINVALIDATESUBFRAMEBUFFERPROC gl3wInvalidateSubFramebuffer;
  691. PFNGLMULTIDRAWARRAYSINDIRECTPROC gl3wMultiDrawArraysIndirect;
  692. PFNGLMULTIDRAWELEMENTSINDIRECTPROC gl3wMultiDrawElementsIndirect;
  693. PFNGLGETPROGRAMINTERFACEIVPROC gl3wGetProgramInterfaceiv;
  694. PFNGLGETPROGRAMRESOURCEINDEXPROC gl3wGetProgramResourceIndex;
  695. PFNGLGETPROGRAMRESOURCENAMEPROC gl3wGetProgramResourceName;
  696. PFNGLGETPROGRAMRESOURCEIVPROC gl3wGetProgramResourceiv;
  697. PFNGLGETPROGRAMRESOURCELOCATIONPROC gl3wGetProgramResourceLocation;
  698. PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC gl3wGetProgramResourceLocationIndex;
  699. PFNGLSHADERSTORAGEBLOCKBINDINGPROC gl3wShaderStorageBlockBinding;
  700. PFNGLTEXBUFFERRANGEPROC gl3wTexBufferRange;
  701. PFNGLTEXTUREBUFFERRANGEEXTPROC gl3wTextureBufferRangeEXT;
  702. PFNGLTEXSTORAGE2DMULTISAMPLEPROC gl3wTexStorage2DMultisample;
  703. PFNGLTEXSTORAGE3DMULTISAMPLEPROC gl3wTexStorage3DMultisample;
  704. PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC gl3wTextureStorage2DMultisampleEXT;
  705. PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC gl3wTextureStorage3DMultisampleEXT;
  706. static void load_procs(void)
  707. {
  708. gl3wCullFace = (PFNGLCULLFACEPROC) get_proc("glCullFace");
  709. gl3wFrontFace = (PFNGLFRONTFACEPROC) get_proc("glFrontFace");
  710. gl3wHint = (PFNGLHINTPROC) get_proc("glHint");
  711. gl3wLineWidth = (PFNGLLINEWIDTHPROC) get_proc("glLineWidth");
  712. gl3wPointSize = (PFNGLPOINTSIZEPROC) get_proc("glPointSize");
  713. gl3wPolygonMode = (PFNGLPOLYGONMODEPROC) get_proc("glPolygonMode");
  714. gl3wScissor = (PFNGLSCISSORPROC) get_proc("glScissor");
  715. gl3wTexParameterf = (PFNGLTEXPARAMETERFPROC) get_proc("glTexParameterf");
  716. gl3wTexParameterfv = (PFNGLTEXPARAMETERFVPROC) get_proc("glTexParameterfv");
  717. gl3wTexParameteri = (PFNGLTEXPARAMETERIPROC) get_proc("glTexParameteri");
  718. gl3wTexParameteriv = (PFNGLTEXPARAMETERIVPROC) get_proc("glTexParameteriv");
  719. gl3wTexImage1D = (PFNGLTEXIMAGE1DPROC) get_proc("glTexImage1D");
  720. gl3wTexImage2D = (PFNGLTEXIMAGE2DPROC) get_proc("glTexImage2D");
  721. gl3wDrawBuffer = (PFNGLDRAWBUFFERPROC) get_proc("glDrawBuffer");
  722. gl3wClear = (PFNGLCLEARPROC) get_proc("glClear");
  723. gl3wClearColor = (PFNGLCLEARCOLORPROC) get_proc("glClearColor");
  724. gl3wClearStencil = (PFNGLCLEARSTENCILPROC) get_proc("glClearStencil");
  725. gl3wClearDepth = (PFNGLCLEARDEPTHPROC) get_proc("glClearDepth");
  726. gl3wStencilMask = (PFNGLSTENCILMASKPROC) get_proc("glStencilMask");
  727. gl3wColorMask = (PFNGLCOLORMASKPROC) get_proc("glColorMask");
  728. gl3wDepthMask = (PFNGLDEPTHMASKPROC) get_proc("glDepthMask");
  729. gl3wDisable = (PFNGLDISABLEPROC) get_proc("glDisable");
  730. gl3wEnable = (PFNGLENABLEPROC) get_proc("glEnable");
  731. gl3wFinish = (PFNGLFINISHPROC) get_proc("glFinish");
  732. gl3wFlush = (PFNGLFLUSHPROC) get_proc("glFlush");
  733. gl3wBlendFunc = (PFNGLBLENDFUNCPROC) get_proc("glBlendFunc");
  734. gl3wLogicOp = (PFNGLLOGICOPPROC) get_proc("glLogicOp");
  735. gl3wStencilFunc = (PFNGLSTENCILFUNCPROC) get_proc("glStencilFunc");
  736. gl3wStencilOp = (PFNGLSTENCILOPPROC) get_proc("glStencilOp");
  737. gl3wDepthFunc = (PFNGLDEPTHFUNCPROC) get_proc("glDepthFunc");
  738. gl3wPixelStoref = (PFNGLPIXELSTOREFPROC) get_proc("glPixelStoref");
  739. gl3wPixelStorei = (PFNGLPIXELSTOREIPROC) get_proc("glPixelStorei");
  740. gl3wReadBuffer = (PFNGLREADBUFFERPROC) get_proc("glReadBuffer");
  741. gl3wReadPixels = (PFNGLREADPIXELSPROC) get_proc("glReadPixels");
  742. gl3wGetBooleanv = (PFNGLGETBOOLEANVPROC) get_proc("glGetBooleanv");
  743. gl3wGetDoublev = (PFNGLGETDOUBLEVPROC) get_proc("glGetDoublev");
  744. gl3wGetError = (PFNGLGETERRORPROC) get_proc("glGetError");
  745. gl3wGetFloatv = (PFNGLGETFLOATVPROC) get_proc("glGetFloatv");
  746. gl3wGetIntegerv = (PFNGLGETINTEGERVPROC) get_proc("glGetIntegerv");
  747. gl3wGetString = (PFNGLGETSTRINGPROC) get_proc("glGetString");
  748. gl3wGetTexImage = (PFNGLGETTEXIMAGEPROC) get_proc("glGetTexImage");
  749. gl3wGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC) get_proc("glGetTexParameterfv");
  750. gl3wGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC) get_proc("glGetTexParameteriv");
  751. gl3wGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC) get_proc("glGetTexLevelParameterfv");
  752. gl3wGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC) get_proc("glGetTexLevelParameteriv");
  753. gl3wIsEnabled = (PFNGLISENABLEDPROC) get_proc("glIsEnabled");
  754. gl3wDepthRange = (PFNGLDEPTHRANGEPROC) get_proc("glDepthRange");
  755. gl3wViewport = (PFNGLVIEWPORTPROC) get_proc("glViewport");
  756. gl3wDrawArrays = (PFNGLDRAWARRAYSPROC) get_proc("glDrawArrays");
  757. gl3wDrawElements = (PFNGLDRAWELEMENTSPROC) get_proc("glDrawElements");
  758. gl3wGetPointerv = (PFNGLGETPOINTERVPROC) get_proc("glGetPointerv");
  759. gl3wPolygonOffset = (PFNGLPOLYGONOFFSETPROC) get_proc("glPolygonOffset");
  760. gl3wCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC) get_proc("glCopyTexImage1D");
  761. gl3wCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC) get_proc("glCopyTexImage2D");
  762. gl3wCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC) get_proc("glCopyTexSubImage1D");
  763. gl3wCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC) get_proc("glCopyTexSubImage2D");
  764. gl3wTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC) get_proc("glTexSubImage1D");
  765. gl3wTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC) get_proc("glTexSubImage2D");
  766. gl3wBindTexture = (PFNGLBINDTEXTUREPROC) get_proc("glBindTexture");
  767. gl3wDeleteTextures = (PFNGLDELETETEXTURESPROC) get_proc("glDeleteTextures");
  768. gl3wGenTextures = (PFNGLGENTEXTURESPROC) get_proc("glGenTextures");
  769. gl3wIsTexture = (PFNGLISTEXTUREPROC) get_proc("glIsTexture");
  770. gl3wBlendColor = (PFNGLBLENDCOLORPROC) get_proc("glBlendColor");
  771. gl3wBlendEquation = (PFNGLBLENDEQUATIONPROC) get_proc("glBlendEquation");
  772. gl3wDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC) get_proc("glDrawRangeElements");
  773. gl3wTexImage3D = (PFNGLTEXIMAGE3DPROC) get_proc("glTexImage3D");
  774. gl3wTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC) get_proc("glTexSubImage3D");
  775. gl3wCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC) get_proc("glCopyTexSubImage3D");
  776. gl3wActiveTexture = (PFNGLACTIVETEXTUREPROC) get_proc("glActiveTexture");
  777. gl3wSampleCoverage = (PFNGLSAMPLECOVERAGEPROC) get_proc("glSampleCoverage");
  778. gl3wCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC) get_proc("glCompressedTexImage3D");
  779. gl3wCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC) get_proc("glCompressedTexImage2D");
  780. gl3wCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC) get_proc("glCompressedTexImage1D");
  781. gl3wCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) get_proc("glCompressedTexSubImage3D");
  782. gl3wCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) get_proc("glCompressedTexSubImage2D");
  783. gl3wCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) get_proc("glCompressedTexSubImage1D");
  784. gl3wGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC) get_proc("glGetCompressedTexImage");
  785. gl3wBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC) get_proc("glBlendFuncSeparate");
  786. gl3wMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC) get_proc("glMultiDrawArrays");
  787. gl3wMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC) get_proc("glMultiDrawElements");
  788. gl3wPointParameterf = (PFNGLPOINTPARAMETERFPROC) get_proc("glPointParameterf");
  789. gl3wPointParameterfv = (PFNGLPOINTPARAMETERFVPROC) get_proc("glPointParameterfv");
  790. gl3wPointParameteri = (PFNGLPOINTPARAMETERIPROC) get_proc("glPointParameteri");
  791. gl3wPointParameteriv = (PFNGLPOINTPARAMETERIVPROC) get_proc("glPointParameteriv");
  792. gl3wGenQueries = (PFNGLGENQUERIESPROC) get_proc("glGenQueries");
  793. gl3wDeleteQueries = (PFNGLDELETEQUERIESPROC) get_proc("glDeleteQueries");
  794. gl3wIsQuery = (PFNGLISQUERYPROC) get_proc("glIsQuery");
  795. gl3wBeginQuery = (PFNGLBEGINQUERYPROC) get_proc("glBeginQuery");
  796. gl3wEndQuery = (PFNGLENDQUERYPROC) get_proc("glEndQuery");
  797. gl3wGetQueryiv = (PFNGLGETQUERYIVPROC) get_proc("glGetQueryiv");
  798. gl3wGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC) get_proc("glGetQueryObjectiv");
  799. gl3wGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC) get_proc("glGetQueryObjectuiv");
  800. gl3wBindBuffer = (PFNGLBINDBUFFERPROC) get_proc("glBindBuffer");
  801. gl3wDeleteBuffers = (PFNGLDELETEBUFFERSPROC) get_proc("glDeleteBuffers");
  802. gl3wGenBuffers = (PFNGLGENBUFFERSPROC) get_proc("glGenBuffers");
  803. gl3wIsBuffer = (PFNGLISBUFFERPROC) get_proc("glIsBuffer");
  804. gl3wBufferData = (PFNGLBUFFERDATAPROC) get_proc("glBufferData");
  805. gl3wBufferSubData = (PFNGLBUFFERSUBDATAPROC) get_proc("glBufferSubData");
  806. gl3wGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC) get_proc("glGetBufferSubData");
  807. gl3wMapBuffer = (PFNGLMAPBUFFERPROC) get_proc("glMapBuffer");
  808. gl3wUnmapBuffer = (PFNGLUNMAPBUFFERPROC) get_proc("glUnmapBuffer");
  809. gl3wGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC) get_proc("glGetBufferParameteriv");
  810. gl3wGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC) get_proc("glGetBufferPointerv");
  811. gl3wBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC) get_proc("glBlendEquationSeparate");
  812. gl3wDrawBuffers = (PFNGLDRAWBUFFERSPROC) get_proc("glDrawBuffers");
  813. gl3wStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) get_proc("glStencilOpSeparate");
  814. gl3wStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) get_proc("glStencilFuncSeparate");
  815. gl3wStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) get_proc("glStencilMaskSeparate");
  816. gl3wAttachShader = (PFNGLATTACHSHADERPROC) get_proc("glAttachShader");
  817. gl3wBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC) get_proc("glBindAttribLocation");
  818. gl3wCompileShader = (PFNGLCOMPILESHADERPROC) get_proc("glCompileShader");
  819. gl3wCreateProgram = (PFNGLCREATEPROGRAMPROC) get_proc("glCreateProgram");
  820. gl3wCreateShader = (PFNGLCREATESHADERPROC) get_proc("glCreateShader");
  821. gl3wDeleteProgram = (PFNGLDELETEPROGRAMPROC) get_proc("glDeleteProgram");
  822. gl3wDeleteShader = (PFNGLDELETESHADERPROC) get_proc("glDeleteShader");
  823. gl3wDetachShader = (PFNGLDETACHSHADERPROC) get_proc("glDetachShader");
  824. gl3wDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) get_proc("glDisableVertexAttribArray");
  825. gl3wEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC) get_proc("glEnableVertexAttribArray");
  826. gl3wGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC) get_proc("glGetActiveAttrib");
  827. gl3wGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC) get_proc("glGetActiveUniform");
  828. gl3wGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC) get_proc("glGetAttachedShaders");
  829. gl3wGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC) get_proc("glGetAttribLocation");
  830. gl3wGetProgramiv = (PFNGLGETPROGRAMIVPROC) get_proc("glGetProgramiv");
  831. gl3wGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) get_proc("glGetProgramInfoLog");
  832. gl3wGetShaderiv = (PFNGLGETSHADERIVPROC) get_proc("glGetShaderiv");
  833. gl3wGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) get_proc("glGetShaderInfoLog");
  834. gl3wGetShaderSource = (PFNGLGETSHADERSOURCEPROC) get_proc("glGetShaderSource");
  835. gl3wGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC) get_proc("glGetUniformLocation");
  836. gl3wGetUniformfv = (PFNGLGETUNIFORMFVPROC) get_proc("glGetUniformfv");
  837. gl3wGetUniformiv = (PFNGLGETUNIFORMIVPROC) get_proc("glGetUniformiv");
  838. gl3wGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC) get_proc("glGetVertexAttribdv");
  839. gl3wGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC) get_proc("glGetVertexAttribfv");
  840. gl3wGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC) get_proc("glGetVertexAttribiv");
  841. gl3wGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC) get_proc("glGetVertexAttribPointerv");
  842. gl3wIsProgram = (PFNGLISPROGRAMPROC) get_proc("glIsProgram");
  843. gl3wIsShader = (PFNGLISSHADERPROC) get_proc("glIsShader");
  844. gl3wLinkProgram = (PFNGLLINKPROGRAMPROC) get_proc("glLinkProgram");
  845. gl3wShaderSource = (PFNGLSHADERSOURCEPROC) get_proc("glShaderSource");
  846. gl3wUseProgram = (PFNGLUSEPROGRAMPROC) get_proc("glUseProgram");
  847. gl3wUniform1f = (PFNGLUNIFORM1FPROC) get_proc("glUniform1f");
  848. gl3wUniform2f = (PFNGLUNIFORM2FPROC) get_proc("glUniform2f");
  849. gl3wUniform3f = (PFNGLUNIFORM3FPROC) get_proc("glUniform3f");
  850. gl3wUniform4f = (PFNGLUNIFORM4FPROC) get_proc("glUniform4f");
  851. gl3wUniform1i = (PFNGLUNIFORM1IPROC) get_proc("glUniform1i");
  852. gl3wUniform2i = (PFNGLUNIFORM2IPROC) get_proc("glUniform2i");
  853. gl3wUniform3i = (PFNGLUNIFORM3IPROC) get_proc("glUniform3i");
  854. gl3wUniform4i = (PFNGLUNIFORM4IPROC) get_proc("glUniform4i");
  855. gl3wUniform1fv = (PFNGLUNIFORM1FVPROC) get_proc("glUniform1fv");
  856. gl3wUniform2fv = (PFNGLUNIFORM2FVPROC) get_proc("glUniform2fv");
  857. gl3wUniform3fv = (PFNGLUNIFORM3FVPROC) get_proc("glUniform3fv");
  858. gl3wUniform4fv = (PFNGLUNIFORM4FVPROC) get_proc("glUniform4fv");
  859. gl3wUniform1iv = (PFNGLUNIFORM1IVPROC) get_proc("glUniform1iv");
  860. gl3wUniform2iv = (PFNGLUNIFORM2IVPROC) get_proc("glUniform2iv");
  861. gl3wUniform3iv = (PFNGLUNIFORM3IVPROC) get_proc("glUniform3iv");
  862. gl3wUniform4iv = (PFNGLUNIFORM4IVPROC) get_proc("glUniform4iv");
  863. gl3wUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC) get_proc("glUniformMatrix2fv");
  864. gl3wUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC) get_proc("glUniformMatrix3fv");
  865. gl3wUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) get_proc("glUniformMatrix4fv");
  866. gl3wValidateProgram = (PFNGLVALIDATEPROGRAMPROC) get_proc("glValidateProgram");
  867. gl3wVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC) get_proc("glVertexAttrib1d");
  868. gl3wVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC) get_proc("glVertexAttrib1dv");
  869. gl3wVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC) get_proc("glVertexAttrib1f");
  870. gl3wVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC) get_proc("glVertexAttrib1fv");
  871. gl3wVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC) get_proc("glVertexAttrib1s");
  872. gl3wVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC) get_proc("glVertexAttrib1sv");
  873. gl3wVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC) get_proc("glVertexAttrib2d");
  874. gl3wVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC) get_proc("glVertexAttrib2dv");
  875. gl3wVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC) get_proc("glVertexAttrib2f");
  876. gl3wVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC) get_proc("glVertexAttrib2fv");
  877. gl3wVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC) get_proc("glVertexAttrib2s");
  878. gl3wVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC) get_proc("glVertexAttrib2sv");
  879. gl3wVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC) get_proc("glVertexAttrib3d");
  880. gl3wVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC) get_proc("glVertexAttrib3dv");
  881. gl3wVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC) get_proc("glVertexAttrib3f");
  882. gl3wVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC) get_proc("glVertexAttrib3fv");
  883. gl3wVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC) get_proc("glVertexAttrib3s");
  884. gl3wVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC) get_proc("glVertexAttrib3sv");
  885. gl3wVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC) get_proc("glVertexAttrib4Nbv");
  886. gl3wVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC) get_proc("glVertexAttrib4Niv");
  887. gl3wVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC) get_proc("glVertexAttrib4Nsv");
  888. gl3wVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC) get_proc("glVertexAttrib4Nub");
  889. gl3wVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC) get_proc("glVertexAttrib4Nubv");
  890. gl3wVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC) get_proc("glVertexAttrib4Nuiv");
  891. gl3wVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC) get_proc("glVertexAttrib4Nusv");
  892. gl3wVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC) get_proc("glVertexAttrib4bv");
  893. gl3wVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC) get_proc("glVertexAttrib4d");
  894. gl3wVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC) get_proc("glVertexAttrib4dv");
  895. gl3wVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC) get_proc("glVertexAttrib4f");
  896. gl3wVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC) get_proc("glVertexAttrib4fv");
  897. gl3wVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC) get_proc("glVertexAttrib4iv");
  898. gl3wVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC) get_proc("glVertexAttrib4s");
  899. gl3wVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC) get_proc("glVertexAttrib4sv");
  900. gl3wVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC) get_proc("glVertexAttrib4ubv");
  901. gl3wVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC) get_proc("glVertexAttrib4uiv");
  902. gl3wVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC) get_proc("glVertexAttrib4usv");
  903. gl3wVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) get_proc("glVertexAttribPointer");
  904. gl3wUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC) get_proc("glUniformMatrix2x3fv");
  905. gl3wUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC) get_proc("glUniformMatrix3x2fv");
  906. gl3wUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC) get_proc("glUniformMatrix2x4fv");
  907. gl3wUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC) get_proc("glUniformMatrix4x2fv");
  908. gl3wUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC) get_proc("glUniformMatrix3x4fv");
  909. gl3wUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC) get_proc("glUniformMatrix4x3fv");
  910. gl3wColorMaski = (PFNGLCOLORMASKIPROC) get_proc("glColorMaski");
  911. gl3wGetBooleani_v = (PFNGLGETBOOLEANI_VPROC) get_proc("glGetBooleani_v");
  912. gl3wGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) get_proc("glGetIntegeri_v");
  913. gl3wEnablei = (PFNGLENABLEIPROC) get_proc("glEnablei");
  914. gl3wDisablei = (PFNGLDISABLEIPROC) get_proc("glDisablei");
  915. gl3wIsEnabledi = (PFNGLISENABLEDIPROC) get_proc("glIsEnabledi");
  916. gl3wBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC) get_proc("glBeginTransformFeedback");
  917. gl3wEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC) get_proc("glEndTransformFeedback");
  918. gl3wBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) get_proc("glBindBufferRange");
  919. gl3wBindBufferBase = (PFNGLBINDBUFFERBASEPROC) get_proc("glBindBufferBase");
  920. gl3wTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC) get_proc("glTransformFeedbackVaryings");
  921. gl3wGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) get_proc("glGetTransformFeedbackVarying");
  922. gl3wClampColor = (PFNGLCLAMPCOLORPROC) get_proc("glClampColor");
  923. gl3wBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC) get_proc("glBeginConditionalRender");
  924. gl3wEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC) get_proc("glEndConditionalRender");
  925. gl3wVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC) get_proc("glVertexAttribIPointer");
  926. gl3wGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC) get_proc("glGetVertexAttribIiv");
  927. gl3wGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC) get_proc("glGetVertexAttribIuiv");
  928. gl3wVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC) get_proc("glVertexAttribI1i");
  929. gl3wVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC) get_proc("glVertexAttribI2i");
  930. gl3wVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC) get_proc("glVertexAttribI3i");
  931. gl3wVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC) get_proc("glVertexAttribI4i");
  932. gl3wVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC) get_proc("glVertexAttribI1ui");
  933. gl3wVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC) get_proc("glVertexAttribI2ui");
  934. gl3wVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC) get_proc("glVertexAttribI3ui");
  935. gl3wVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC) get_proc("glVertexAttribI4ui");
  936. gl3wVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC) get_proc("glVertexAttribI1iv");
  937. gl3wVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC) get_proc("glVertexAttribI2iv");
  938. gl3wVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC) get_proc("glVertexAttribI3iv");
  939. gl3wVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC) get_proc("glVertexAttribI4iv");
  940. gl3wVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC) get_proc("glVertexAttribI1uiv");
  941. gl3wVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC) get_proc("glVertexAttribI2uiv");
  942. gl3wVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC) get_proc("glVertexAttribI3uiv");
  943. gl3wVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC) get_proc("glVertexAttribI4uiv");
  944. gl3wVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC) get_proc("glVertexAttribI4bv");
  945. gl3wVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC) get_proc("glVertexAttribI4sv");
  946. gl3wVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC) get_proc("glVertexAttribI4ubv");
  947. gl3wVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC) get_proc("glVertexAttribI4usv");
  948. gl3wGetUniformuiv = (PFNGLGETUNIFORMUIVPROC) get_proc("glGetUniformuiv");
  949. gl3wBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC) get_proc("glBindFragDataLocation");
  950. gl3wGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC) get_proc("glGetFragDataLocation");
  951. gl3wUniform1ui = (PFNGLUNIFORM1UIPROC) get_proc("glUniform1ui");
  952. gl3wUniform2ui = (PFNGLUNIFORM2UIPROC) get_proc("glUniform2ui");
  953. gl3wUniform3ui = (PFNGLUNIFORM3UIPROC) get_proc("glUniform3ui");
  954. gl3wUniform4ui = (PFNGLUNIFORM4UIPROC) get_proc("glUniform4ui");
  955. gl3wUniform1uiv = (PFNGLUNIFORM1UIVPROC) get_proc("glUniform1uiv");
  956. gl3wUniform2uiv = (PFNGLUNIFORM2UIVPROC) get_proc("glUniform2uiv");
  957. gl3wUniform3uiv = (PFNGLUNIFORM3UIVPROC) get_proc("glUniform3uiv");
  958. gl3wUniform4uiv = (PFNGLUNIFORM4UIVPROC) get_proc("glUniform4uiv");
  959. gl3wTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC) get_proc("glTexParameterIiv");
  960. gl3wTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC) get_proc("glTexParameterIuiv");
  961. gl3wGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC) get_proc("glGetTexParameterIiv");
  962. gl3wGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC) get_proc("glGetTexParameterIuiv");
  963. gl3wClearBufferiv = (PFNGLCLEARBUFFERIVPROC) get_proc("glClearBufferiv");
  964. gl3wClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC) get_proc("glClearBufferuiv");
  965. gl3wClearBufferfv = (PFNGLCLEARBUFFERFVPROC) get_proc("glClearBufferfv");
  966. gl3wClearBufferfi = (PFNGLCLEARBUFFERFIPROC) get_proc("glClearBufferfi");
  967. gl3wGetStringi = (PFNGLGETSTRINGIPROC) get_proc("glGetStringi");
  968. gl3wDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC) get_proc("glDrawArraysInstanced");
  969. gl3wDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC) get_proc("glDrawElementsInstanced");
  970. gl3wTexBuffer = (PFNGLTEXBUFFERPROC) get_proc("glTexBuffer");
  971. gl3wPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC) get_proc("glPrimitiveRestartIndex");
  972. gl3wGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC) get_proc("glGetInteger64i_v");
  973. gl3wGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC) get_proc("glGetBufferParameteri64v");
  974. gl3wFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC) get_proc("glFramebufferTexture");
  975. gl3wVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC) get_proc("glVertexAttribDivisor");
  976. gl3wMinSampleShading = (PFNGLMINSAMPLESHADINGPROC) get_proc("glMinSampleShading");
  977. gl3wBlendEquationi = (PFNGLBLENDEQUATIONIPROC) get_proc("glBlendEquationi");
  978. gl3wBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC) get_proc("glBlendEquationSeparatei");
  979. gl3wBlendFunci = (PFNGLBLENDFUNCIPROC) get_proc("glBlendFunci");
  980. gl3wBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC) get_proc("glBlendFuncSeparatei");
  981. gl3wIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) get_proc("glIsRenderbuffer");
  982. gl3wBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) get_proc("glBindRenderbuffer");
  983. gl3wDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) get_proc("glDeleteRenderbuffers");
  984. gl3wGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) get_proc("glGenRenderbuffers");
  985. gl3wRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) get_proc("glRenderbufferStorage");
  986. gl3wGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) get_proc("glGetRenderbufferParameteriv");
  987. gl3wIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) get_proc("glIsFramebuffer");
  988. gl3wBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) get_proc("glBindFramebuffer");
  989. gl3wDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) get_proc("glDeleteFramebuffers");
  990. gl3wGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) get_proc("glGenFramebuffers");
  991. gl3wCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) get_proc("glCheckFramebufferStatus");
  992. gl3wFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC) get_proc("glFramebufferTexture1D");
  993. gl3wFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) get_proc("glFramebufferTexture2D");
  994. gl3wFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC) get_proc("glFramebufferTexture3D");
  995. gl3wFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) get_proc("glFramebufferRenderbuffer");
  996. gl3wGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) get_proc("glGetFramebufferAttachmentParameteriv");
  997. gl3wGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) get_proc("glGenerateMipmap");
  998. gl3wBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC) get_proc("glBlitFramebuffer");
  999. gl3wRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) get_proc("glRenderbufferStorageMultisample");
  1000. gl3wFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC) get_proc("glFramebufferTextureLayer");
  1001. gl3wMapBufferRange = (PFNGLMAPBUFFERRANGEPROC) get_proc("glMapBufferRange");
  1002. gl3wFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC) get_proc("glFlushMappedBufferRange");
  1003. gl3wBindVertexArray = (PFNGLBINDVERTEXARRAYPROC) get_proc("glBindVertexArray");
  1004. gl3wDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC) get_proc("glDeleteVertexArrays");
  1005. gl3wGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC) get_proc("glGenVertexArrays");
  1006. gl3wIsVertexArray = (PFNGLISVERTEXARRAYPROC) get_proc("glIsVertexArray");
  1007. gl3wGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC) get_proc("glGetUniformIndices");
  1008. gl3wGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC) get_proc("glGetActiveUniformsiv");
  1009. gl3wGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC) get_proc("glGetActiveUniformName");
  1010. gl3wGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC) get_proc("glGetUniformBlockIndex");
  1011. gl3wGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC) get_proc("glGetActiveUniformBlockiv");
  1012. gl3wGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) get_proc("glGetActiveUniformBlockName");
  1013. gl3wUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC) get_proc("glUniformBlockBinding");
  1014. gl3wCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC) get_proc("glCopyBufferSubData");
  1015. gl3wDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC) get_proc("glDrawElementsBaseVertex");
  1016. gl3wDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) get_proc("glDrawRangeElementsBaseVertex");
  1017. gl3wDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) get_proc("glDrawElementsInstancedBaseVertex");
  1018. gl3wMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) get_proc("glMultiDrawElementsBaseVertex");
  1019. gl3wProvokingVertex = (PFNGLPROVOKINGVERTEXPROC) get_proc("glProvokingVertex");
  1020. gl3wFenceSync = (PFNGLFENCESYNCPROC) get_proc("glFenceSync");
  1021. gl3wIsSync = (PFNGLISSYNCPROC) get_proc("glIsSync");
  1022. gl3wDeleteSync = (PFNGLDELETESYNCPROC) get_proc("glDeleteSync");
  1023. gl3wClientWaitSync = (PFNGLCLIENTWAITSYNCPROC) get_proc("glClientWaitSync");
  1024. gl3wWaitSync = (PFNGLWAITSYNCPROC) get_proc("glWaitSync");
  1025. gl3wGetInteger64v = (PFNGLGETINTEGER64VPROC) get_proc("glGetInteger64v");
  1026. gl3wGetSynciv = (PFNGLGETSYNCIVPROC) get_proc("glGetSynciv");
  1027. gl3wTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) get_proc("glTexImage2DMultisample");
  1028. gl3wTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC) get_proc("glTexImage3DMultisample");
  1029. gl3wGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC) get_proc("glGetMultisamplefv");
  1030. gl3wSampleMaski = (PFNGLSAMPLEMASKIPROC) get_proc("glSampleMaski");
  1031. gl3wBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC) get_proc("glBlendEquationiARB");
  1032. gl3wBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC) get_proc("glBlendEquationSeparateiARB");
  1033. gl3wBlendFunciARB = (PFNGLBLENDFUNCIARBPROC) get_proc("glBlendFunciARB");
  1034. gl3wBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC) get_proc("glBlendFuncSeparateiARB");
  1035. gl3wMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC) get_proc("glMinSampleShadingARB");
  1036. gl3wNamedStringARB = (PFNGLNAMEDSTRINGARBPROC) get_proc("glNamedStringARB");
  1037. gl3wDeleteNamedStringARB = (PFNGLDELETENAMEDSTRINGARBPROC) get_proc("glDeleteNamedStringARB");
  1038. gl3wCompileShaderIncludeARB = (PFNGLCOMPILESHADERINCLUDEARBPROC) get_proc("glCompileShaderIncludeARB");
  1039. gl3wIsNamedStringARB = (PFNGLISNAMEDSTRINGARBPROC) get_proc("glIsNamedStringARB");
  1040. gl3wGetNamedStringARB = (PFNGLGETNAMEDSTRINGARBPROC) get_proc("glGetNamedStringARB");
  1041. gl3wGetNamedStringivARB = (PFNGLGETNAMEDSTRINGIVARBPROC) get_proc("glGetNamedStringivARB");
  1042. gl3wBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) get_proc("glBindFragDataLocationIndexed");
  1043. gl3wGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC) get_proc("glGetFragDataIndex");
  1044. gl3wGenSamplers = (PFNGLGENSAMPLERSPROC) get_proc("glGenSamplers");
  1045. gl3wDeleteSamplers = (PFNGLDELETESAMPLERSPROC) get_proc("glDeleteSamplers");
  1046. gl3wIsSampler = (PFNGLISSAMPLERPROC) get_proc("glIsSampler");
  1047. gl3wBindSampler = (PFNGLBINDSAMPLERPROC) get_proc("glBindSampler");
  1048. gl3wSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC) get_proc("glSamplerParameteri");
  1049. gl3wSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC) get_proc("glSamplerParameteriv");
  1050. gl3wSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC) get_proc("glSamplerParameterf");
  1051. gl3wSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC) get_proc("glSamplerParameterfv");
  1052. gl3wSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC) get_proc("glSamplerParameterIiv");
  1053. gl3wSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC) get_proc("glSamplerParameterIuiv");
  1054. gl3wGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC) get_proc("glGetSamplerParameteriv");
  1055. gl3wGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC) get_proc("glGetSamplerParameterIiv");
  1056. gl3wGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC) get_proc("glGetSamplerParameterfv");
  1057. gl3wGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC) get_proc("glGetSamplerParameterIuiv");
  1058. gl3wQueryCounter = (PFNGLQUERYCOUNTERPROC) get_proc("glQueryCounter");
  1059. gl3wGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC) get_proc("glGetQueryObjecti64v");
  1060. gl3wGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC) get_proc("glGetQueryObjectui64v");
  1061. gl3wVertexP2ui = (PFNGLVERTEXP2UIPROC) get_proc("glVertexP2ui");
  1062. gl3wVertexP2uiv = (PFNGLVERTEXP2UIVPROC) get_proc("glVertexP2uiv");
  1063. gl3wVertexP3ui = (PFNGLVERTEXP3UIPROC) get_proc("glVertexP3ui");
  1064. gl3wVertexP3uiv = (PFNGLVERTEXP3UIVPROC) get_proc("glVertexP3uiv");
  1065. gl3wVertexP4ui = (PFNGLVERTEXP4UIPROC) get_proc("glVertexP4ui");
  1066. gl3wVertexP4uiv = (PFNGLVERTEXP4UIVPROC) get_proc("glVertexP4uiv");
  1067. gl3wTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC) get_proc("glTexCoordP1ui");
  1068. gl3wTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC) get_proc("glTexCoordP1uiv");
  1069. gl3wTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC) get_proc("glTexCoordP2ui");
  1070. gl3wTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC) get_proc("glTexCoordP2uiv");
  1071. gl3wTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC) get_proc("glTexCoordP3ui");
  1072. gl3wTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC) get_proc("glTexCoordP3uiv");
  1073. gl3wTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC) get_proc("glTexCoordP4ui");
  1074. gl3wTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC) get_proc("glTexCoordP4uiv");
  1075. gl3wMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC) get_proc("glMultiTexCoordP1ui");
  1076. gl3wMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC) get_proc("glMultiTexCoordP1uiv");
  1077. gl3wMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC) get_proc("glMultiTexCoordP2ui");
  1078. gl3wMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC) get_proc("glMultiTexCoordP2uiv");
  1079. gl3wMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC) get_proc("glMultiTexCoordP3ui");
  1080. gl3wMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC) get_proc("glMultiTexCoordP3uiv");
  1081. gl3wMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC) get_proc("glMultiTexCoordP4ui");
  1082. gl3wMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC) get_proc("glMultiTexCoordP4uiv");
  1083. gl3wNormalP3ui = (PFNGLNORMALP3UIPROC) get_proc("glNormalP3ui");
  1084. gl3wNormalP3uiv = (PFNGLNORMALP3UIVPROC) get_proc("glNormalP3uiv");
  1085. gl3wColorP3ui = (PFNGLCOLORP3UIPROC) get_proc("glColorP3ui");
  1086. gl3wColorP3uiv = (PFNGLCOLORP3UIVPROC) get_proc("glColorP3uiv");
  1087. gl3wColorP4ui = (PFNGLCOLORP4UIPROC) get_proc("glColorP4ui");
  1088. gl3wColorP4uiv = (PFNGLCOLORP4UIVPROC) get_proc("glColorP4uiv");
  1089. gl3wSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC) get_proc("glSecondaryColorP3ui");
  1090. gl3wSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC) get_proc("glSecondaryColorP3uiv");
  1091. gl3wVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC) get_proc("glVertexAttribP1ui");
  1092. gl3wVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC) get_proc("glVertexAttribP1uiv");
  1093. gl3wVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC) get_proc("glVertexAttribP2ui");
  1094. gl3wVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC) get_proc("glVertexAttribP2uiv");
  1095. gl3wVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC) get_proc("glVertexAttribP3ui");
  1096. gl3wVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC) get_proc("glVertexAttribP3uiv");
  1097. gl3wVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC) get_proc("glVertexAttribP4ui");
  1098. gl3wVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC) get_proc("glVertexAttribP4uiv");
  1099. gl3wDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC) get_proc("glDrawArraysIndirect");
  1100. gl3wDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC) get_proc("glDrawElementsIndirect");
  1101. gl3wUniform1d = (PFNGLUNIFORM1DPROC) get_proc("glUniform1d");
  1102. gl3wUniform2d = (PFNGLUNIFORM2DPROC) get_proc("glUniform2d");
  1103. gl3wUniform3d = (PFNGLUNIFORM3DPROC) get_proc("glUniform3d");
  1104. gl3wUniform4d = (PFNGLUNIFORM4DPROC) get_proc("glUniform4d");
  1105. gl3wUniform1dv = (PFNGLUNIFORM1DVPROC) get_proc("glUniform1dv");
  1106. gl3wUniform2dv = (PFNGLUNIFORM2DVPROC) get_proc("glUniform2dv");
  1107. gl3wUniform3dv = (PFNGLUNIFORM3DVPROC) get_proc("glUniform3dv");
  1108. gl3wUniform4dv = (PFNGLUNIFORM4DVPROC) get_proc("glUniform4dv");
  1109. gl3wUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC) get_proc("glUniformMatrix2dv");
  1110. gl3wUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC) get_proc("glUniformMatrix3dv");
  1111. gl3wUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC) get_proc("glUniformMatrix4dv");
  1112. gl3wUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC) get_proc("glUniformMatrix2x3dv");
  1113. gl3wUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC) get_proc("glUniformMatrix2x4dv");
  1114. gl3wUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC) get_proc("glUniformMatrix3x2dv");
  1115. gl3wUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC) get_proc("glUniformMatrix3x4dv");
  1116. gl3wUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC) get_proc("glUniformMatrix4x2dv");
  1117. gl3wUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC) get_proc("glUniformMatrix4x3dv");
  1118. gl3wGetUniformdv = (PFNGLGETUNIFORMDVPROC) get_proc("glGetUniformdv");
  1119. gl3wGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) get_proc("glGetSubroutineUniformLocation");
  1120. gl3wGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC) get_proc("glGetSubroutineIndex");
  1121. gl3wGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) get_proc("glGetActiveSubroutineUniformiv");
  1122. gl3wGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) get_proc("glGetActiveSubroutineUniformName");
  1123. gl3wGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC) get_proc("glGetActiveSubroutineName");
  1124. gl3wUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC) get_proc("glUniformSubroutinesuiv");
  1125. gl3wGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC) get_proc("glGetUniformSubroutineuiv");
  1126. gl3wGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC) get_proc("glGetProgramStageiv");
  1127. gl3wPatchParameteri = (PFNGLPATCHPARAMETERIPROC) get_proc("glPatchParameteri");
  1128. gl3wPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC) get_proc("glPatchParameterfv");
  1129. gl3wBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC) get_proc("glBindTransformFeedback");
  1130. gl3wDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC) get_proc("glDeleteTransformFeedbacks");
  1131. gl3wGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC) get_proc("glGenTransformFeedbacks");
  1132. gl3wIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC) get_proc("glIsTransformFeedback");
  1133. gl3wPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC) get_proc("glPauseTransformFeedback");
  1134. gl3wResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC) get_proc("glResumeTransformFeedback");
  1135. gl3wDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC) get_proc("glDrawTransformFeedback");
  1136. gl3wDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) get_proc("glDrawTransformFeedbackStream");
  1137. gl3wBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC) get_proc("glBeginQueryIndexed");
  1138. gl3wEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC) get_proc("glEndQueryIndexed");
  1139. gl3wGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC) get_proc("glGetQueryIndexediv");
  1140. gl3wReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) get_proc("glReleaseShaderCompiler");
  1141. gl3wShaderBinary = (PFNGLSHADERBINARYPROC) get_proc("glShaderBinary");
  1142. gl3wGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) get_proc("glGetShaderPrecisionFormat");
  1143. gl3wDepthRangef = (PFNGLDEPTHRANGEFPROC) get_proc("glDepthRangef");
  1144. gl3wClearDepthf = (PFNGLCLEARDEPTHFPROC) get_proc("glClearDepthf");
  1145. gl3wGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC) get_proc("glGetProgramBinary");
  1146. gl3wProgramBinary = (PFNGLPROGRAMBINARYPROC) get_proc("glProgramBinary");
  1147. gl3wProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC) get_proc("glProgramParameteri");
  1148. gl3wUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC) get_proc("glUseProgramStages");
  1149. gl3wActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC) get_proc("glActiveShaderProgram");
  1150. gl3wCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC) get_proc("glCreateShaderProgramv");
  1151. gl3wBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC) get_proc("glBindProgramPipeline");
  1152. gl3wDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC) get_proc("glDeleteProgramPipelines");
  1153. gl3wGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC) get_proc("glGenProgramPipelines");
  1154. gl3wIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC) get_proc("glIsProgramPipeline");
  1155. gl3wGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC) get_proc("glGetProgramPipelineiv");
  1156. gl3wProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC) get_proc("glProgramUniform1i");
  1157. gl3wProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC) get_proc("glProgramUniform1iv");
  1158. gl3wProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC) get_proc("glProgramUniform1f");
  1159. gl3wProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC) get_proc("glProgramUniform1fv");
  1160. gl3wProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC) get_proc("glProgramUniform1d");
  1161. gl3wProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC) get_proc("glProgramUniform1dv");
  1162. gl3wProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC) get_proc("glProgramUniform1ui");
  1163. gl3wProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC) get_proc("glProgramUniform1uiv");
  1164. gl3wProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC) get_proc("glProgramUniform2i");
  1165. gl3wProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC) get_proc("glProgramUniform2iv");
  1166. gl3wProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC) get_proc("glProgramUniform2f");
  1167. gl3wProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC) get_proc("glProgramUniform2fv");
  1168. gl3wProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC) get_proc("glProgramUniform2d");
  1169. gl3wProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC) get_proc("glProgramUniform2dv");
  1170. gl3wProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC) get_proc("glProgramUniform2ui");
  1171. gl3wProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC) get_proc("glProgramUniform2uiv");
  1172. gl3wProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC) get_proc("glProgramUniform3i");
  1173. gl3wProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC) get_proc("glProgramUniform3iv");
  1174. gl3wProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC) get_proc("glProgramUniform3f");
  1175. gl3wProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC) get_proc("glProgramUniform3fv");
  1176. gl3wProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC) get_proc("glProgramUniform3d");
  1177. gl3wProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC) get_proc("glProgramUniform3dv");
  1178. gl3wProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC) get_proc("glProgramUniform3ui");
  1179. gl3wProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC) get_proc("glProgramUniform3uiv");
  1180. gl3wProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC) get_proc("glProgramUniform4i");
  1181. gl3wProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC) get_proc("glProgramUniform4iv");
  1182. gl3wProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC) get_proc("glProgramUniform4f");
  1183. gl3wProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC) get_proc("glProgramUniform4fv");
  1184. gl3wProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC) get_proc("glProgramUniform4d");
  1185. gl3wProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC) get_proc("glProgramUniform4dv");
  1186. gl3wProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC) get_proc("glProgramUniform4ui");
  1187. gl3wProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC) get_proc("glProgramUniform4uiv");
  1188. gl3wProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC) get_proc("glProgramUniformMatrix2fv");
  1189. gl3wProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC) get_proc("glProgramUniformMatrix3fv");
  1190. gl3wProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC) get_proc("glProgramUniformMatrix4fv");
  1191. gl3wProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC) get_proc("glProgramUniformMatrix2dv");
  1192. gl3wProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC) get_proc("glProgramUniformMatrix3dv");
  1193. gl3wProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC) get_proc("glProgramUniformMatrix4dv");
  1194. gl3wProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) get_proc("glProgramUniformMatrix2x3fv");
  1195. gl3wProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) get_proc("glProgramUniformMatrix3x2fv");
  1196. gl3wProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) get_proc("glProgramUniformMatrix2x4fv");
  1197. gl3wProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) get_proc("glProgramUniformMatrix4x2fv");
  1198. gl3wProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) get_proc("glProgramUniformMatrix3x4fv");
  1199. gl3wProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) get_proc("glProgramUniformMatrix4x3fv");
  1200. gl3wProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) get_proc("glProgramUniformMatrix2x3dv");
  1201. gl3wProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) get_proc("glProgramUniformMatrix3x2dv");
  1202. gl3wProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) get_proc("glProgramUniformMatrix2x4dv");
  1203. gl3wProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) get_proc("glProgramUniformMatrix4x2dv");
  1204. gl3wProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) get_proc("glProgramUniformMatrix3x4dv");
  1205. gl3wProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) get_proc("glProgramUniformMatrix4x3dv");
  1206. gl3wValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC) get_proc("glValidateProgramPipeline");
  1207. gl3wGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC) get_proc("glGetProgramPipelineInfoLog");
  1208. gl3wVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC) get_proc("glVertexAttribL1d");
  1209. gl3wVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC) get_proc("glVertexAttribL2d");
  1210. gl3wVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC) get_proc("glVertexAttribL3d");
  1211. gl3wVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC) get_proc("glVertexAttribL4d");
  1212. gl3wVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC) get_proc("glVertexAttribL1dv");
  1213. gl3wVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC) get_proc("glVertexAttribL2dv");
  1214. gl3wVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC) get_proc("glVertexAttribL3dv");
  1215. gl3wVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC) get_proc("glVertexAttribL4dv");
  1216. gl3wVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC) get_proc("glVertexAttribLPointer");
  1217. gl3wGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC) get_proc("glGetVertexAttribLdv");
  1218. gl3wViewportArrayv = (PFNGLVIEWPORTARRAYVPROC) get_proc("glViewportArrayv");
  1219. gl3wViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC) get_proc("glViewportIndexedf");
  1220. gl3wViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC) get_proc("glViewportIndexedfv");
  1221. gl3wScissorArrayv = (PFNGLSCISSORARRAYVPROC) get_proc("glScissorArrayv");
  1222. gl3wScissorIndexed = (PFNGLSCISSORINDEXEDPROC) get_proc("glScissorIndexed");
  1223. gl3wScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC) get_proc("glScissorIndexedv");
  1224. gl3wDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC) get_proc("glDepthRangeArrayv");
  1225. gl3wDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC) get_proc("glDepthRangeIndexed");
  1226. gl3wGetFloati_v = (PFNGLGETFLOATI_VPROC) get_proc("glGetFloati_v");
  1227. gl3wGetDoublei_v = (PFNGLGETDOUBLEI_VPROC) get_proc("glGetDoublei_v");
  1228. gl3wCreateSyncFromCLeventARB = (PFNGLCREATESYNCFROMCLEVENTARBPROC) get_proc("glCreateSyncFromCLeventARB");
  1229. gl3wDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC) get_proc("glDebugMessageControlARB");
  1230. gl3wDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC) get_proc("glDebugMessageInsertARB");
  1231. gl3wDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC) get_proc("glDebugMessageCallbackARB");
  1232. gl3wGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC) get_proc("glGetDebugMessageLogARB");
  1233. gl3wGetGraphicsResetStatusARB = (PFNGLGETGRAPHICSRESETSTATUSARBPROC) get_proc("glGetGraphicsResetStatusARB");
  1234. gl3wGetnTexImageARB = (PFNGLGETNTEXIMAGEARBPROC) get_proc("glGetnTexImageARB");
  1235. gl3wReadnPixelsARB = (PFNGLREADNPIXELSARBPROC) get_proc("glReadnPixelsARB");
  1236. gl3wGetnCompressedTexImageARB = (PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) get_proc("glGetnCompressedTexImageARB");
  1237. gl3wGetnUniformfvARB = (PFNGLGETNUNIFORMFVARBPROC) get_proc("glGetnUniformfvARB");
  1238. gl3wGetnUniformivARB = (PFNGLGETNUNIFORMIVARBPROC) get_proc("glGetnUniformivARB");
  1239. gl3wGetnUniformuivARB = (PFNGLGETNUNIFORMUIVARBPROC) get_proc("glGetnUniformuivARB");
  1240. gl3wGetnUniformdvARB = (PFNGLGETNUNIFORMDVARBPROC) get_proc("glGetnUniformdvARB");
  1241. gl3wDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) get_proc("glDrawArraysInstancedBaseInstance");
  1242. gl3wDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) get_proc("glDrawElementsInstancedBaseInstance");
  1243. gl3wDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) get_proc("glDrawElementsInstancedBaseVertexBaseInstance");
  1244. gl3wDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) get_proc("glDrawTransformFeedbackInstanced");
  1245. gl3wDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) get_proc("glDrawTransformFeedbackStreamInstanced");
  1246. gl3wGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC) get_proc("glGetInternalformativ");
  1247. gl3wGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) get_proc("glGetActiveAtomicCounterBufferiv");
  1248. gl3wBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC) get_proc("glBindImageTexture");
  1249. gl3wMemoryBarrier = (PFNGLMEMORYBARRIERPROC) get_proc("glMemoryBarrier");
  1250. gl3wTexStorage1D = (PFNGLTEXSTORAGE1DPROC) get_proc("glTexStorage1D");
  1251. gl3wTexStorage2D = (PFNGLTEXSTORAGE2DPROC) get_proc("glTexStorage2D");
  1252. gl3wTexStorage3D = (PFNGLTEXSTORAGE3DPROC) get_proc("glTexStorage3D");
  1253. gl3wTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC) get_proc("glTextureStorage1DEXT");
  1254. gl3wTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC) get_proc("glTextureStorage2DEXT");
  1255. gl3wTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC) get_proc("glTextureStorage3DEXT");
  1256. gl3wDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC) get_proc("glDebugMessageControl");
  1257. gl3wDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC) get_proc("glDebugMessageInsert");
  1258. gl3wDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC) get_proc("glDebugMessageCallback");
  1259. gl3wGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC) get_proc("glGetDebugMessageLog");
  1260. gl3wPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC) get_proc("glPushDebugGroup");
  1261. gl3wPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC) get_proc("glPopDebugGroup");
  1262. gl3wObjectLabel = (PFNGLOBJECTLABELPROC) get_proc("glObjectLabel");
  1263. gl3wGetObjectLabel = (PFNGLGETOBJECTLABELPROC) get_proc("glGetObjectLabel");
  1264. gl3wObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC) get_proc("glObjectPtrLabel");
  1265. gl3wGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC) get_proc("glGetObjectPtrLabel");
  1266. gl3wClearBufferData = (PFNGLCLEARBUFFERDATAPROC) get_proc("glClearBufferData");
  1267. gl3wClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC) get_proc("glClearBufferSubData");
  1268. gl3wClearNamedBufferDataEXT = (PFNGLCLEARNAMEDBUFFERDATAEXTPROC) get_proc("glClearNamedBufferDataEXT");
  1269. gl3wClearNamedBufferSubDataEXT = (PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) get_proc("glClearNamedBufferSubDataEXT");
  1270. gl3wDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC) get_proc("glDispatchCompute");
  1271. gl3wDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC) get_proc("glDispatchComputeIndirect");
  1272. gl3wCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC) get_proc("glCopyImageSubData");
  1273. gl3wTextureView = (PFNGLTEXTUREVIEWPROC) get_proc("glTextureView");
  1274. gl3wBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC) get_proc("glBindVertexBuffer");
  1275. gl3wVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC) get_proc("glVertexAttribFormat");
  1276. gl3wVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC) get_proc("glVertexAttribIFormat");
  1277. gl3wVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC) get_proc("glVertexAttribLFormat");
  1278. gl3wVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC) get_proc("glVertexAttribBinding");
  1279. gl3wVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC) get_proc("glVertexBindingDivisor");
  1280. gl3wVertexArrayBindVertexBufferEXT = (PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) get_proc("glVertexArrayBindVertexBufferEXT");
  1281. gl3wVertexArrayVertexAttribFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) get_proc("glVertexArrayVertexAttribFormatEXT");
  1282. gl3wVertexArrayVertexAttribIFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) get_proc("glVertexArrayVertexAttribIFormatEXT");
  1283. gl3wVertexArrayVertexAttribLFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) get_proc("glVertexArrayVertexAttribLFormatEXT");
  1284. gl3wVertexArrayVertexAttribBindingEXT = (PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) get_proc("glVertexArrayVertexAttribBindingEXT");
  1285. gl3wVertexArrayVertexBindingDivisorEXT = (PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) get_proc("glVertexArrayVertexBindingDivisorEXT");
  1286. gl3wFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC) get_proc("glFramebufferParameteri");
  1287. gl3wGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC) get_proc("glGetFramebufferParameteriv");
  1288. gl3wNamedFramebufferParameteriEXT = (PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) get_proc("glNamedFramebufferParameteriEXT");
  1289. gl3wGetNamedFramebufferParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) get_proc("glGetNamedFramebufferParameterivEXT");
  1290. gl3wGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC) get_proc("glGetInternalformati64v");
  1291. gl3wInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC) get_proc("glInvalidateTexSubImage");
  1292. gl3wInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC) get_proc("glInvalidateTexImage");
  1293. gl3wInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC) get_proc("glInvalidateBufferSubData");
  1294. gl3wInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC) get_proc("glInvalidateBufferData");
  1295. gl3wInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC) get_proc("glInvalidateFramebuffer");
  1296. gl3wInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC) get_proc("glInvalidateSubFramebuffer");
  1297. gl3wMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC) get_proc("glMultiDrawArraysIndirect");
  1298. gl3wMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC) get_proc("glMultiDrawElementsIndirect");
  1299. gl3wGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC) get_proc("glGetProgramInterfaceiv");
  1300. gl3wGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC) get_proc("glGetProgramResourceIndex");
  1301. gl3wGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC) get_proc("glGetProgramResourceName");
  1302. gl3wGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC) get_proc("glGetProgramResourceiv");
  1303. gl3wGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC) get_proc("glGetProgramResourceLocation");
  1304. gl3wGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) get_proc("glGetProgramResourceLocationIndex");
  1305. gl3wShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC) get_proc("glShaderStorageBlockBinding");
  1306. gl3wTexBufferRange = (PFNGLTEXBUFFERRANGEPROC) get_proc("glTexBufferRange");
  1307. gl3wTextureBufferRangeEXT = (PFNGLTEXTUREBUFFERRANGEEXTPROC) get_proc("glTextureBufferRangeEXT");
  1308. gl3wTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC) get_proc("glTexStorage2DMultisample");
  1309. gl3wTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC) get_proc("glTexStorage3DMultisample");
  1310. gl3wTextureStorage2DMultisampleEXT = (PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) get_proc("glTextureStorage2DMultisampleEXT");
  1311. gl3wTextureStorage3DMultisampleEXT = (PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) get_proc("glTextureStorage3DMultisampleEXT");
  1312. }