text: /*
  
      OpenGL loader generated by glad 0.1.16a0 on Fri Nov 17 21:41:32 2017.
  
      Language/Generator: C/C++
      Specification: gl
      APIs: gl=3.3
      Profile: core
      Extensions:
          
      Loader: True
      Local files: False
      Omit khrplatform: False
  
      Commandline:
          --profile="core" --api="gl=3.3" --generator="c" --spec="gl" --extensions=""
      Online:
          http://glad.dav1d.de/#profile=core&language=c&specification=gl&loader=on&api=gl%3D3.3
  */
  
  
  #ifndef __glad_h_
  #define __glad_h_
  
  #ifdef __gl_h_
  #error OpenGL header already included, remove this include, glad already provides it
  #endif
  #define __gl_h_
  
  #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
  #ifndef WIN32_LEAN_AND_MEAN
  #define WIN32_LEAN_AND_MEAN 1
  #endif
  #ifndef NOMINMAX
  #define NOMINMAX 1
  #endif
  #include <windows.h>
  #endif
  
  #ifndef APIENTRY
  #define APIENTRY
  #endif
  #ifndef APIENTRYP
  #define APIENTRYP APIENTRY *
  #endif
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  struct gladGLversionStruct {
      int major;
      int minor;
  };
  
  typedef void* (* GLADloadproc)(const char *name);
  
  #ifndef GLAPI
  # if defined(GLAD_GLAPI_EXPORT)
  #  if defined(_WIN32) || defined(__CYGWIN__)
  #   if defined(GLAD_GLAPI_EXPORT_BUILD)
  #    if defined(__GNUC__)
  #     define GLAPI __attribute__ ((dllexport)) extern
  #    else
  #     define GLAPI __declspec(dllexport) extern
  #    endif
  #   else
  #    if defined(__GNUC__)
  #     define GLAPI __attribute__ ((dllimport)) extern
  #    else
  #     define GLAPI __declspec(dllimport) extern
  #    endif
  #   endif
  #  elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD)
  #   define GLAPI __attribute__ ((visibility ("default"))) extern
  #  else
  #   define GLAPI extern
  #  endif
  # else
  #  define GLAPI extern
  # endif
  #endif
  
  GLAPI struct gladGLversionStruct GLVersion;
  
  GLAPI int gladLoadGL(void);
  
  GLAPI int gladLoadGLLoader(GLADloadproc);
  
  #include <stddef.h>
  #include <KHR/khrplatform.h>
  #ifndef GLEXT_64_TYPES_DEFINED
  /* This code block is duplicated in glxext.h, so must be protected */
  #define GLEXT_64_TYPES_DEFINED
  /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
  /* (as used in the GL_EXT_timer_query extension). */
  #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  #include <inttypes.h>
  #elif defined(__sun__) || defined(__digital__)
  #include <inttypes.h>
  #if defined(__STDC__)
  #if defined(__arch64__) || defined(_LP64)
  typedef long int int64_t;
  typedef unsigned long int uint64_t;
  #else
  typedef long long int int64_t;
  typedef unsigned long long int uint64_t;
  #endif /* __arch64__ */
  #endif /* __STDC__ */
  #elif defined( __VMS ) || defined(__sgi)
  #include <inttypes.h>
  #elif defined(__SCO__) || defined(__USLC__)
  #include <stdint.h>
  #elif defined(__UNIXOS2__) || defined(__SOL64__)
  typedef long int int32_t;
  typedef long long int int64_t;
  typedef unsigned long long int uint64_t;
  #elif defined(_WIN32) && defined(__GNUC__)
  #include <stdint.h>
  #elif defined(_WIN32)
  typedef __int32 int32_t;
  typedef __int64 int64_t;
  typedef unsigned __int64 uint64_t;
  #else
  /* Fallback if nothing above works */
  #include <inttypes.h>
  #endif
  #endif
  typedef unsigned int GLenum;
  typedef unsigned char GLboolean;
  typedef unsigned int GLbitfield;
  typedef void GLvoid;
  typedef signed char GLbyte;
  typedef short GLshort;
  typedef int GLint;
  typedef int GLclampx;
  typedef unsigned char GLubyte;
  typedef unsigned short GLushort;
  typedef unsigned int GLuint;
  typedef int GLsizei;
  typedef float GLfloat;
  typedef float GLclampf;
  typedef double GLdouble;
  typedef double GLclampd;
  typedef void *GLeglClientBufferEXT;
  typedef void *GLeglImageOES;
  typedef char GLchar;
  typedef char GLcharARB;
  #ifdef __APPLE__
  typedef void *GLhandleARB;
  #else
  typedef unsigned int GLhandleARB;
  #endif
  typedef unsigned short GLhalfARB;
  typedef unsigned short GLhalf;
  typedef GLint GLfixed;
  #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
  typedef long GLintptr;
  #else
  typedef ptrdiff_t GLintptr;
  #endif
  #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
  typedef long GLsizeiptr;
  #else
  typedef ptrdiff_t GLsizeiptr;
  #endif
  typedef int64_t GLint64;
  typedef uint64_t GLuint64;
  #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
  typedef long GLintptrARB;
  #else
  typedef ptrdiff_t GLintptrARB;
  #endif
  #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
  typedef long GLsizeiptrARB;
  #else
  typedef ptrdiff_t GLsizeiptrARB;
  #endif
  typedef int64_t GLint64EXT;
  typedef uint64_t GLuint64EXT;
  typedef struct __GLsync *GLsync;
  struct _cl_context;
  struct _cl_event;
  typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
  typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
  typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
  typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
  typedef unsigned short GLhalfNV;
  typedef GLintptr GLvdpauSurfaceNV;
  typedef void (APIENTRY *GLVULKANPROCNV)(void);
  #define GL_DEPTH_BUFFER_BIT 0x00000100
  #define GL_STENCIL_BUFFER_BIT 0x00000400
  #define GL_COLOR_BUFFER_BIT 0x00004000
  #define GL_FALSE 0
  #define GL_TRUE 1
  #define GL_POINTS 0x0000
  #define GL_LINES 0x0001
  #define GL_LINE_LOOP 0x0002
  #define GL_LINE_STRIP 0x0003
  #define GL_TRIANGLES 0x0004
  #define GL_TRIANGLE_STRIP 0x0005
  #define GL_TRIANGLE_FAN 0x0006
  #define GL_NEVER 0x0200
  #define GL_LESS 0x0201
  #define GL_EQUAL 0x0202
  #define GL_LEQUAL 0x0203
  #define GL_GREATER 0x0204
  #define GL_NOTEQUAL 0x0205
  #define GL_GEQUAL 0x0206
  #define GL_ALWAYS 0x0207
  #define GL_ZERO 0
  #define GL_ONE 1
  #define GL_SRC_COLOR 0x0300
  #define GL_ONE_MINUS_SRC_COLOR 0x0301
  #define GL_SRC_ALPHA 0x0302
  #define GL_ONE_MINUS_SRC_ALPHA 0x0303
  #define GL_DST_ALPHA 0x0304
  #define GL_ONE_MINUS_DST_ALPHA 0x0305
  #define GL_DST_COLOR 0x0306
  #define GL_ONE_MINUS_DST_COLOR 0x0307
  #define GL_SRC_ALPHA_SATURATE 0x0308
  #define GL_NONE 0
  #define GL_FRONT_LEFT 0x0400
  #define GL_FRONT_RIGHT 0x0401
  #define GL_BACK_LEFT 0x0402
  #define GL_BACK_RIGHT 0x0403
  #define GL_FRONT 0x0404
  #define GL_BACK 0x0405
  #define GL_LEFT 0x0406
  #define GL_RIGHT 0x0407
  #define GL_FRONT_AND_BACK 0x0408
  #define GL_NO_ERROR 0
  #define GL_INVALID_ENUM 0x0500
  #define GL_INVALID_VALUE 0x0501
  #define GL_INVALID_OPERATION 0x0502
  #define GL_OUT_OF_MEMORY 0x0505
  #define GL_CW 0x0900
  #define GL_CCW 0x0901
  #define GL_POINT_SIZE 0x0B11
  #define GL_POINT_SIZE_RANGE 0x0B12
  #define GL_POINT_SIZE_GRANULARITY 0x0B13
  #define GL_LINE_SMOOTH 0x0B20
  #define GL_LINE_WIDTH 0x0B21
  #define GL_LINE_WIDTH_RANGE 0x0B22
  #define GL_LINE_WIDTH_GRANULARITY 0x0B23
  #define GL_POLYGON_MODE 0x0B40
  #define GL_POLYGON_SMOOTH 0x0B41
  #define GL_CULL_FACE 0x0B44
  #define GL_CULL_FACE_MODE 0x0B45
  #define GL_FRONT_FACE 0x0B46
  #define GL_DEPTH_RANGE 0x0B70
  #define GL_DEPTH_TEST 0x0B71
  #define GL_DEPTH_WRITEMASK 0x0B72
  #define GL_DEPTH_CLEAR_VALUE 0x0B73
  #define GL_DEPTH_FUNC 0x0B74
  #define GL_STENCIL_TEST 0x0B90
  #define GL_STENCIL_CLEAR_VALUE 0x0B91
  #define GL_STENCIL_FUNC 0x0B92
  #define GL_STENCIL_VALUE_MASK 0x0B93
  #define GL_STENCIL_FAIL 0x0B94
  #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
  #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
  #define GL_STENCIL_REF 0x0B97
  #define GL_STENCIL_WRITEMASK 0x0B98
  #define GL_VIEWPORT 0x0BA2
  #define GL_DITHER 0x0BD0
  #define GL_BLEND_DST 0x0BE0
  #define GL_BLEND_SRC 0x0BE1
  #define GL_BLEND 0x0BE2
  #define GL_LOGIC_OP_MODE 0x0BF0
  #define GL_DRAW_BUFFER 0x0C01
  #define GL_READ_BUFFER 0x0C02
  #define GL_SCISSOR_BOX 0x0C10
  #define GL_SCISSOR_TEST 0x0C11
  #define GL_COLOR_CLEAR_VALUE 0x0C22
  #define GL_COLOR_WRITEMASK 0x0C23
  #define GL_DOUBLEBUFFER 0x0C32
  #define GL_STEREO 0x0C33
  #define GL_LINE_SMOOTH_HINT 0x0C52
  #define GL_POLYGON_SMOOTH_HINT 0x0C53
  #define GL_UNPACK_SWAP_BYTES 0x0CF0
  #define GL_UNPACK_LSB_FIRST 0x0CF1
  #define GL_UNPACK_ROW_LENGTH 0x0CF2
  #define GL_UNPACK_SKIP_ROWS 0x0CF3
  #define GL_UNPACK_SKIP_PIXELS 0x0CF4
  #define GL_UNPACK_ALIGNMENT 0x0CF5
  #define GL_PACK_SWAP_BYTES 0x0D00
  #define GL_PACK_LSB_FIRST 0x0D01
  #define GL_PACK_ROW_LENGTH 0x0D02
  #define GL_PACK_SKIP_ROWS 0x0D03
  #define GL_PACK_SKIP_PIXELS 0x0D04
  #define GL_PACK_ALIGNMENT 0x0D05
  #define GL_MAX_TEXTURE_SIZE 0x0D33
  #define GL_MAX_VIEWPORT_DIMS 0x0D3A
  #define GL_SUBPIXEL_BITS 0x0D50
  #define GL_TEXTURE_1D 0x0DE0
  #define GL_TEXTURE_2D 0x0DE1
  #define GL_TEXTURE_WIDTH 0x1000
  #define GL_TEXTURE_HEIGHT 0x1001
  #define GL_TEXTURE_BORDER_COLOR 0x1004
  #define GL_DONT_CARE 0x1100
  #define GL_FASTEST 0x1101
  #define GL_NICEST 0x1102
  #define GL_BYTE 0x1400
  #define GL_UNSIGNED_BYTE 0x1401
  #define GL_SHORT 0x1402
  #define GL_UNSIGNED_SHORT 0x1403
  #define GL_INT 0x1404
  #define GL_UNSIGNED_INT 0x1405
  #define GL_FLOAT 0x1406
  #define GL_CLEAR 0x1500
  #define GL_AND 0x1501
  #define GL_AND_REVERSE 0x1502
  #define GL_COPY 0x1503
  #define GL_AND_INVERTED 0x1504
  #define GL_NOOP 0x1505
  #define GL_XOR 0x1506
  #define GL_OR 0x1507
  #define GL_NOR 0x1508
  #define GL_EQUIV 0x1509
  #define GL_INVERT 0x150A
  #define GL_OR_REVERSE 0x150B
  #define GL_COPY_INVERTED 0x150C
  #define GL_OR_INVERTED 0x150D
  #define GL_NAND 0x150E
  #define GL_SET 0x150F
  #define GL_TEXTURE 0x1702
  #define GL_COLOR 0x1800
  #define GL_DEPTH 0x1801
  #define GL_STENCIL 0x1802
  #define GL_STENCIL_INDEX 0x1901
  #define GL_DEPTH_COMPONENT 0x1902
  #define GL_RED 0x1903
  #define GL_GREEN 0x1904
  #define GL_BLUE 0x1905
  #define GL_ALPHA 0x1906
  #define GL_RGB 0x1907
  #define GL_RGBA 0x1908
  #define GL_POINT 0x1B00
  #define GL_LINE 0x1B01
  #define GL_FILL 0x1B02
  #define GL_KEEP 0x1E00
  #define GL_REPLACE 0x1E01
  #define GL_INCR 0x1E02
  #define GL_DECR 0x1E03
  #define GL_VENDOR 0x1F00
  #define GL_RENDERER 0x1F01
  #define GL_VERSION 0x1F02
  #define GL_EXTENSIONS 0x1F03
  #define GL_NEAREST 0x2600
  #define GL_LINEAR 0x2601
  #define GL_NEAREST_MIPMAP_NEAREST 0x2700
  #define GL_LINEAR_MIPMAP_NEAREST 0x2701
  #define GL_NEAREST_MIPMAP_LINEAR 0x2702
  #define GL_LINEAR_MIPMAP_LINEAR 0x2703
  #define GL_TEXTURE_MAG_FILTER 0x2800
  #define GL_TEXTURE_MIN_FILTER 0x2801
  #define GL_TEXTURE_WRAP_S 0x2802
  #define GL_TEXTURE_WRAP_T 0x2803
  #define GL_REPEAT 0x2901
  #define GL_COLOR_LOGIC_OP 0x0BF2
  #define GL_POLYGON_OFFSET_UNITS 0x2A00
  #define GL_POLYGON_OFFSET_POINT 0x2A01
  #define GL_POLYGON_OFFSET_LINE 0x2A02
  #define GL_POLYGON_OFFSET_FILL 0x8037
  #define GL_POLYGON_OFFSET_FACTOR 0x8038
  #define GL_TEXTURE_BINDING_1D 0x8068
  #define GL_TEXTURE_BINDING_2D 0x8069
  #define GL_TEXTURE_INTERNAL_FORMAT 0x1003
  #define GL_TEXTURE_RED_SIZE 0x805C
  #define GL_TEXTURE_GREEN_SIZE 0x805D
  #define GL_TEXTURE_BLUE_SIZE 0x805E
  #define GL_TEXTURE_ALPHA_SIZE 0x805F
  #define GL_DOUBLE 0x140A
  #define GL_PROXY_TEXTURE_1D 0x8063
  #define GL_PROXY_TEXTURE_2D 0x8064
  #define GL_R3_G3_B2 0x2A10
  #define GL_RGB4 0x804F
  #define GL_RGB5 0x8050
  #define GL_RGB8 0x8051
  #define GL_RGB10 0x8052
  #define GL_RGB12 0x8053
  #define GL_RGB16 0x8054
  #define GL_RGBA2 0x8055
  #define GL_RGBA4 0x8056
  #define GL_RGB5_A1 0x8057
  #define GL_RGBA8 0x8058
  #define GL_RGB10_A2 0x8059
  #define GL_RGBA12 0x805A
  #define GL_RGBA16 0x805B
  #define GL_UNSIGNED_BYTE_3_3_2 0x8032
  #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
  #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
  #define GL_UNSIGNED_INT_8_8_8_8 0x8035
  #define GL_UNSIGNED_INT_10_10_10_2 0x8036
  #define GL_TEXTURE_BINDING_3D 0x806A
  #define GL_PACK_SKIP_IMAGES 0x806B
  #define GL_PACK_IMAGE_HEIGHT 0x806C
  #define GL_UNPACK_SKIP_IMAGES 0x806D
  #define GL_UNPACK_IMAGE_HEIGHT 0x806E
  #define GL_TEXTURE_3D 0x806F
  #define GL_PROXY_TEXTURE_3D 0x8070
  #define GL_TEXTURE_DEPTH 0x8071
  #define GL_TEXTURE_WRAP_R 0x8072
  #define GL_MAX_3D_TEXTURE_SIZE 0x8073
  #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
  #define GL_UNSIGNED_SHORT_5_6_5 0x8363
  #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
  #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
  #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
  #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
  #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
  #define GL_BGR 0x80E0
  #define GL_BGRA 0x80E1
  #define GL_MAX_ELEMENTS_VERTICES 0x80E8
  #define GL_MAX_ELEMENTS_INDICES 0x80E9
  #define GL_CLAMP_TO_EDGE 0x812F
  #define GL_TEXTURE_MIN_LOD 0x813A
  #define GL_TEXTURE_MAX_LOD 0x813B
  #define GL_TEXTURE_BASE_LEVEL 0x813C
  #define GL_TEXTURE_MAX_LEVEL 0x813D
  #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
  #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
  #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
  #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
  #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
  #define GL_TEXTURE0 0x84C0
  #define GL_TEXTURE1 0x84C1
  #define GL_TEXTURE2 0x84C2
  #define GL_TEXTURE3 0x84C3
  #define GL_TEXTURE4 0x84C4
  #define GL_TEXTURE5 0x84C5
  #define GL_TEXTURE6 0x84C6
  #define GL_TEXTURE7 0x84C7
  #define GL_TEXTURE8 0x84C8
  #define GL_TEXTURE9 0x84C9
  #define GL_TEXTURE10 0x84CA
  #define GL_TEXTURE11 0x84CB
  #define GL_TEXTURE12 0x84CC
  #define GL_TEXTURE13 0x84CD
  #define GL_TEXTURE14 0x84CE
  #define GL_TEXTURE15 0x84CF
  #define GL_TEXTURE16 0x84D0
  #define GL_TEXTURE17 0x84D1
  #define GL_TEXTURE18 0x84D2
  #define GL_TEXTURE19 0x84D3
  #define GL_TEXTURE20 0x84D4
  #define GL_TEXTURE21 0x84D5
  #define GL_TEXTURE22 0x84D6
  #define GL_TEXTURE23 0x84D7
  #define GL_TEXTURE24 0x84D8
  #define GL_TEXTURE25 0x84D9
  #define GL_TEXTURE26 0x84DA
  #define GL_TEXTURE27 0x84DB
  #define GL_TEXTURE28 0x84DC
  #define GL_TEXTURE29 0x84DD
  #define GL_TEXTURE30 0x84DE
  #define GL_TEXTURE31 0x84DF
  #define GL_ACTIVE_TEXTURE 0x84E0
  #define GL_MULTISAMPLE 0x809D
  #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
  #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
  #define GL_SAMPLE_COVERAGE 0x80A0
  #define GL_SAMPLE_BUFFERS 0x80A8
  #define GL_SAMPLES 0x80A9
  #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
  #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
  #define GL_TEXTURE_CUBE_MAP 0x8513
  #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
  #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
  #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
  #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
  #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
  #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
  #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
  #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
  #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
  #define GL_COMPRESSED_RGB 0x84ED
  #define GL_COMPRESSED_RGBA 0x84EE
  #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
  #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
  #define GL_TEXTURE_COMPRESSED 0x86A1
  #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
  #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
  #define GL_CLAMP_TO_BORDER 0x812D
  #define GL_BLEND_DST_RGB 0x80C8
  #define GL_BLEND_SRC_RGB 0x80C9
  #define GL_BLEND_DST_ALPHA 0x80CA
  #define GL_BLEND_SRC_ALPHA 0x80CB
  #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
  #define GL_DEPTH_COMPONENT16 0x81A5
  #define GL_DEPTH_COMPONENT24 0x81A6
  #define GL_DEPTH_COMPONENT32 0x81A7
  #define GL_MIRRORED_REPEAT 0x8370
  #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
  #define GL_TEXTURE_LOD_BIAS 0x8501
  #define GL_INCR_WRAP 0x8507
  #define GL_DECR_WRAP 0x8508
  #define GL_TEXTURE_DEPTH_SIZE 0x884A
  #define GL_TEXTURE_COMPARE_MODE 0x884C
  #define GL_TEXTURE_COMPARE_FUNC 0x884D
  #define GL_BLEND_COLOR 0x8005
  #define GL_BLEND_EQUATION 0x8009
  #define GL_CONSTANT_COLOR 0x8001
  #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
  #define GL_CONSTANT_ALPHA 0x8003
  #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
  #define GL_FUNC_ADD 0x8006
  #define GL_FUNC_REVERSE_SUBTRACT 0x800B
  #define GL_FUNC_SUBTRACT 0x800A
  #define GL_MIN 0x8007
  #define GL_MAX 0x8008
  #define GL_BUFFER_SIZE 0x8764
  #define GL_BUFFER_USAGE 0x8765
  #define GL_QUERY_COUNTER_BITS 0x8864
  #define GL_CURRENT_QUERY 0x8865
  #define GL_QUERY_RESULT 0x8866
  #define GL_QUERY_RESULT_AVAILABLE 0x8867
  #define GL_ARRAY_BUFFER 0x8892
  #define GL_ELEMENT_ARRAY_BUFFER 0x8893
  #define GL_ARRAY_BUFFER_BINDING 0x8894
  #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
  #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
  #define GL_READ_ONLY 0x88B8
  #define GL_WRITE_ONLY 0x88B9
  #define GL_READ_WRITE 0x88BA
  #define GL_BUFFER_ACCESS 0x88BB
  #define GL_BUFFER_MAPPED 0x88BC
  #define GL_BUFFER_MAP_POINTER 0x88BD
  #define GL_STREAM_DRAW 0x88E0
  #define GL_STREAM_READ 0x88E1
  #define GL_STREAM_COPY 0x88E2
  #define GL_STATIC_DRAW 0x88E4
  #define GL_STATIC_READ 0x88E5
  #define GL_STATIC_COPY 0x88E6
  #define GL_DYNAMIC_DRAW 0x88E8
  #define GL_DYNAMIC_READ 0x88E9
  #define GL_DYNAMIC_COPY 0x88EA
  #define GL_SAMPLES_PASSED 0x8914
  #define GL_SRC1_ALPHA 0x8589
  #define GL_BLEND_EQUATION_RGB 0x8009
  #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
  #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
  #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
  #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
  #define GL_CURRENT_VERTEX_ATTRIB 0x8626
  #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
  #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
  #define GL_STENCIL_BACK_FUNC 0x8800
  #define GL_STENCIL_BACK_FAIL 0x8801
  #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
  #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
  #define GL_MAX_DRAW_BUFFERS 0x8824
  #define GL_DRAW_BUFFER0 0x8825
  #define GL_DRAW_BUFFER1 0x8826
  #define GL_DRAW_BUFFER2 0x8827
  #define GL_DRAW_BUFFER3 0x8828
  #define GL_DRAW_BUFFER4 0x8829
  #define GL_DRAW_BUFFER5 0x882A
  #define GL_DRAW_BUFFER6 0x882B
  #define GL_DRAW_BUFFER7 0x882C
  #define GL_DRAW_BUFFER8 0x882D
  #define GL_DRAW_BUFFER9 0x882E
  #define GL_DRAW_BUFFER10 0x882F
  #define GL_DRAW_BUFFER11 0x8830
  #define GL_DRAW_BUFFER12 0x8831
  #define GL_DRAW_BUFFER13 0x8832
  #define GL_DRAW_BUFFER14 0x8833
  #define GL_DRAW_BUFFER15 0x8834
  #define GL_BLEND_EQUATION_ALPHA 0x883D
  #define GL_MAX_VERTEX_ATTRIBS 0x8869
  #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
  #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
  #define GL_FRAGMENT_SHADER 0x8B30
  #define GL_VERTEX_SHADER 0x8B31
  #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
  #define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
  #define GL_MAX_VARYING_FLOATS 0x8B4B
  #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
  #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
  #define GL_SHADER_TYPE 0x8B4F
  #define GL_FLOAT_VEC2 0x8B50
  #define GL_FLOAT_VEC3 0x8B51
  #define GL_FLOAT_VEC4 0x8B52
  #define GL_INT_VEC2 0x8B53
  #define GL_INT_VEC3 0x8B54
  #define GL_INT_VEC4 0x8B55
  #define GL_BOOL 0x8B56
  #define GL_BOOL_VEC2 0x8B57
  #define GL_BOOL_VEC3 0x8B58
  #define GL_BOOL_VEC4 0x8B59
  #define GL_FLOAT_MAT2 0x8B5A
  #define GL_FLOAT_MAT3 0x8B5B
  #define GL_FLOAT_MAT4 0x8B5C
  #define GL_SAMPLER_1D 0x8B5D
  #define GL_SAMPLER_2D 0x8B5E
  #define GL_SAMPLER_3D 0x8B5F
  #define GL_SAMPLER_CUBE 0x8B60
  #define GL_SAMPLER_1D_SHADOW 0x8B61
  #define GL_SAMPLER_2D_SHADOW 0x8B62
  #define GL_DELETE_STATUS 0x8B80
  #define GL_COMPILE_STATUS 0x8B81
  #define GL_LINK_STATUS 0x8B82
  #define GL_VALIDATE_STATUS 0x8B83
  #define GL_INFO_LOG_LENGTH 0x8B84
  #define GL_ATTACHED_SHADERS 0x8B85
  #define GL_ACTIVE_UNIFORMS 0x8B86
  #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
  #define GL_SHADER_SOURCE_LENGTH 0x8B88
  #define GL_ACTIVE_ATTRIBUTES 0x8B89
  #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
  #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
  #define GL_SHADING_LANGUAGE_VERSION 0x8B8C
  #define GL_CURRENT_PROGRAM 0x8B8D
  #define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
  #define GL_LOWER_LEFT 0x8CA1
  #define GL_UPPER_LEFT 0x8CA2
  #define GL_STENCIL_BACK_REF 0x8CA3
  #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
  #define GL_STENCIL_BACK_WRITEMASK 0x8CA5
  #define GL_PIXEL_PACK_BUFFER 0x88EB
  #define GL_PIXEL_UNPACK_BUFFER 0x88EC
  #define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
  #define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
  #define GL_FLOAT_MAT2x3 0x8B65
  #define GL_FLOAT_MAT2x4 0x8B66
  #define GL_FLOAT_MAT3x2 0x8B67
  #define GL_FLOAT_MAT3x4 0x8B68
  #define GL_FLOAT_MAT4x2 0x8B69
  #define GL_FLOAT_MAT4x3 0x8B6A
  #define GL_SRGB 0x8C40
  #define GL_SRGB8 0x8C41
  #define GL_SRGB_ALPHA 0x8C42
  #define GL_SRGB8_ALPHA8 0x8C43
  #define GL_COMPRESSED_SRGB 0x8C48
  #define GL_COMPRESSED_SRGB_ALPHA 0x8C49
  #define GL_COMPARE_REF_TO_TEXTURE 0x884E
  #define GL_CLIP_DISTANCE0 0x3000
  #define GL_CLIP_DISTANCE1 0x3001
  #define GL_CLIP_DISTANCE2 0x3002
  #define GL_CLIP_DISTANCE3 0x3003
  #define GL_CLIP_DISTANCE4 0x3004
  #define GL_CLIP_DISTANCE5 0x3005
  #define GL_CLIP_DISTANCE6 0x3006
  #define GL_CLIP_DISTANCE7 0x3007
  #define GL_MAX_CLIP_DISTANCES 0x0D32
  #define GL_MAJOR_VERSION 0x821B
  #define GL_MINOR_VERSION 0x821C
  #define GL_NUM_EXTENSIONS 0x821D
  #define GL_CONTEXT_FLAGS 0x821E
  #define GL_COMPRESSED_RED 0x8225
  #define GL_COMPRESSED_RG 0x8226
  #define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001
  #define GL_RGBA32F 0x8814
  #define GL_RGB32F 0x8815
  #define GL_RGBA16F 0x881A
  #define GL_RGB16F 0x881B
  #define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
  #define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
  #define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
  #define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
  #define GL_CLAMP_READ_COLOR 0x891C
  #define GL_FIXED_ONLY 0x891D
  #define GL_MAX_VARYING_COMPONENTS 0x8B4B
  #define GL_TEXTURE_1D_ARRAY 0x8C18
  #define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
  #define GL_TEXTURE_2D_ARRAY 0x8C1A
  #define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
  #define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
  #define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
  #define GL_R11F_G11F_B10F 0x8C3A
  #define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
  #define GL_RGB9_E5 0x8C3D
  #define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
  #define GL_TEXTURE_SHARED_SIZE 0x8C3F
  #define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
  #define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
  #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
  #define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
  #define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
  #define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
  #define GL_PRIMITIVES_GENERATED 0x8C87
  #define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
  #define GL_RASTERIZER_DISCARD 0x8C89
  #define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
  #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
  #define GL_INTERLEAVED_ATTRIBS 0x8C8C
  #define GL_SEPARATE_ATTRIBS 0x8C8D
  #define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
  #define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
  #define GL_RGBA32UI 0x8D70
  #define GL_RGB32UI 0x8D71
  #define GL_RGBA16UI 0x8D76
  #define GL_RGB16UI 0x8D77
  #define GL_RGBA8UI 0x8D7C
  #define GL_RGB8UI 0x8D7D
  #define GL_RGBA32I 0x8D82
  #define GL_RGB32I 0x8D83
  #define GL_RGBA16I 0x8D88
  #define GL_RGB16I 0x8D89
  #define GL_RGBA8I 0x8D8E
  #define GL_RGB8I 0x8D8F
  #define GL_RED_INTEGER 0x8D94
  #define GL_GREEN_INTEGER 0x8D95
  #define GL_BLUE_INTEGER 0x8D96
  #define GL_RGB_INTEGER 0x8D98
  #define GL_RGBA_INTEGER 0x8D99
  #define GL_BGR_INTEGER 0x8D9A
  #define GL_BGRA_INTEGER 0x8D9B
  #define GL_SAMPLER_1D_ARRAY 0x8DC0
  #define GL_SAMPLER_2D_ARRAY 0x8DC1
  #define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
  #define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
  #define GL_SAMPLER_CUBE_SHADOW 0x8DC5
  #define GL_UNSIGNED_INT_VEC2 0x8DC6
  #define GL_UNSIGNED_INT_VEC3 0x8DC7
  #define GL_UNSIGNED_INT_VEC4 0x8DC8
  #define GL_INT_SAMPLER_1D 0x8DC9
  #define GL_INT_SAMPLER_2D 0x8DCA
  #define GL_INT_SAMPLER_3D 0x8DCB
  #define GL_INT_SAMPLER_CUBE 0x8DCC
  #define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
  #define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
  #define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
  #define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
  #define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
  #define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
  #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
  #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
  #define GL_QUERY_WAIT 0x8E13
  #define GL_QUERY_NO_WAIT 0x8E14
  #define GL_QUERY_BY_REGION_WAIT 0x8E15
  #define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
  #define GL_BUFFER_ACCESS_FLAGS 0x911F
  #define GL_BUFFER_MAP_LENGTH 0x9120
  #define GL_BUFFER_MAP_OFFSET 0x9121
  #define GL_DEPTH_COMPONENT32F 0x8CAC
  #define GL_DEPTH32F_STENCIL8 0x8CAD
  #define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
  #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
  #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
  #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
  #define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
  #define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
  #define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
  #define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
  #define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
  #define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
  #define GL_FRAMEBUFFER_DEFAULT 0x8218
  #define GL_FRAMEBUFFER_UNDEFINED 0x8219
  #define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
  #define GL_MAX_RENDERBUFFER_SIZE 0x84E8
  #define GL_DEPTH_STENCIL 0x84F9
  #define GL_UNSIGNED_INT_24_8 0x84FA
  #define GL_DEPTH24_STENCIL8 0x88F0
  #define GL_TEXTURE_STENCIL_SIZE 0x88F1
  #define GL_TEXTURE_RED_TYPE 0x8C10
  #define GL_TEXTURE_GREEN_TYPE 0x8C11
  #define GL_TEXTURE_BLUE_TYPE 0x8C12
  #define GL_TEXTURE_ALPHA_TYPE 0x8C13
  #define GL_TEXTURE_DEPTH_TYPE 0x8C16
  #define GL_UNSIGNED_NORMALIZED 0x8C17
  #define GL_FRAMEBUFFER_BINDING 0x8CA6
  #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
  #define GL_RENDERBUFFER_BINDING 0x8CA7
  #define GL_READ_FRAMEBUFFER 0x8CA8
  #define GL_DRAW_FRAMEBUFFER 0x8CA9
  #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
  #define GL_RENDERBUFFER_SAMPLES 0x8CAB
  #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
  #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
  #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
  #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
  #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
  #define GL_FRAMEBUFFER_COMPLETE 0x8CD5
  #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
  #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
  #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
  #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
  #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
  #define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
  #define GL_COLOR_ATTACHMENT0 0x8CE0
  #define GL_COLOR_ATTACHMENT1 0x8CE1
  #define GL_COLOR_ATTACHMENT2 0x8CE2
  #define GL_COLOR_ATTACHMENT3 0x8CE3
  #define GL_COLOR_ATTACHMENT4 0x8CE4
  #define GL_COLOR_ATTACHMENT5 0x8CE5
  #define GL_COLOR_ATTACHMENT6 0x8CE6
  #define GL_COLOR_ATTACHMENT7 0x8CE7
  #define GL_COLOR_ATTACHMENT8 0x8CE8
  #define GL_COLOR_ATTACHMENT9 0x8CE9
  #define GL_COLOR_ATTACHMENT10 0x8CEA
  #define GL_COLOR_ATTACHMENT11 0x8CEB
  #define GL_COLOR_ATTACHMENT12 0x8CEC
  #define GL_COLOR_ATTACHMENT13 0x8CED
  #define GL_COLOR_ATTACHMENT14 0x8CEE
  #define GL_COLOR_ATTACHMENT15 0x8CEF
  #define GL_COLOR_ATTACHMENT16 0x8CF0
  #define GL_COLOR_ATTACHMENT17 0x8CF1
  #define GL_COLOR_ATTACHMENT18 0x8CF2
  #define GL_COLOR_ATTACHMENT19 0x8CF3
  #define GL_COLOR_ATTACHMENT20 0x8CF4
  #define GL_COLOR_ATTACHMENT21 0x8CF5
  #define GL_COLOR_ATTACHMENT22 0x8CF6
  #define GL_COLOR_ATTACHMENT23 0x8CF7
  #define GL_COLOR_ATTACHMENT24 0x8CF8
  #define GL_COLOR_ATTACHMENT25 0x8CF9
  #define GL_COLOR_ATTACHMENT26 0x8CFA
  #define GL_COLOR_ATTACHMENT27 0x8CFB
  #define GL_COLOR_ATTACHMENT28 0x8CFC
  #define GL_COLOR_ATTACHMENT29 0x8CFD
  #define GL_COLOR_ATTACHMENT30 0x8CFE
  #define GL_COLOR_ATTACHMENT31 0x8CFF
  #define GL_DEPTH_ATTACHMENT 0x8D00
  #define GL_STENCIL_ATTACHMENT 0x8D20
  #define GL_FRAMEBUFFER 0x8D40
  #define GL_RENDERBUFFER 0x8D41
  #define GL_RENDERBUFFER_WIDTH 0x8D42
  #define GL_RENDERBUFFER_HEIGHT 0x8D43
  #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
  #define GL_STENCIL_INDEX1 0x8D46
  #define GL_STENCIL_INDEX4 0x8D47
  #define GL_STENCIL_INDEX8 0x8D48
  #define GL_STENCIL_INDEX16 0x8D49
  #define GL_RENDERBUFFER_RED_SIZE 0x8D50
  #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
  #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
  #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
  #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
  #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
  #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
  #define GL_MAX_SAMPLES 0x8D57
  #define GL_INDEX 0x8222
  #define GL_FRAMEBUFFER_SRGB 0x8DB9
  #define GL_HALF_FLOAT 0x140B
  #define GL_MAP_READ_BIT 0x0001
  #define GL_MAP_WRITE_BIT 0x0002
  #define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
  #define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
  #define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
  #define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
  #define GL_COMPRESSED_RED_RGTC1 0x8DBB
  #define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
  #define GL_COMPRESSED_RG_RGTC2 0x8DBD
  #define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
  #define GL_RG 0x8227
  #define GL_RG_INTEGER 0x8228
  #define GL_R8 0x8229
  #define GL_R16 0x822A
  #define GL_RG8 0x822B
  #define GL_RG16 0x822C
  #define GL_R16F 0x822D
  #define GL_R32F 0x822E
  #define GL_RG16F 0x822F
  #define GL_RG32F 0x8230
  #define GL_R8I 0x8231
  #define GL_R8UI 0x8232
  #define GL_R16I 0x8233
  #define GL_R16UI 0x8234
  #define GL_R32I 0x8235
  #define GL_R32UI 0x8236
  #define GL_RG8I 0x8237
  #define GL_RG8UI 0x8238
  #define GL_RG16I 0x8239
  #define GL_RG16UI 0x823A
  #define GL_RG32I 0x823B
  #define GL_RG32UI 0x823C
  #define GL_VERTEX_ARRAY_BINDING 0x85B5
  #define GL_SAMPLER_2D_RECT 0x8B63
  #define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
  #define GL_SAMPLER_BUFFER 0x8DC2
  #define GL_INT_SAMPLER_2D_RECT 0x8DCD
  #define GL_INT_SAMPLER_BUFFER 0x8DD0
  #define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
  #define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
  #define GL_TEXTURE_BUFFER 0x8C2A
  #define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
  #define GL_TEXTURE_BINDING_BUFFER 0x8C2C
  #define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
  #define GL_TEXTURE_RECTANGLE 0x84F5
  #define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
  #define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
  #define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
  #define GL_R8_SNORM 0x8F94
  #define GL_RG8_SNORM 0x8F95
  #define GL_RGB8_SNORM 0x8F96
  #define GL_RGBA8_SNORM 0x8F97
  #define GL_R16_SNORM 0x8F98
  #define GL_RG16_SNORM 0x8F99
  #define GL_RGB16_SNORM 0x8F9A
  #define GL_RGBA16_SNORM 0x8F9B
  #define GL_SIGNED_NORMALIZED 0x8F9C
  #define GL_PRIMITIVE_RESTART 0x8F9D
  #define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
  #define GL_COPY_READ_BUFFER 0x8F36
  #define GL_COPY_WRITE_BUFFER 0x8F37
  #define GL_UNIFORM_BUFFER 0x8A11
  #define GL_UNIFORM_BUFFER_BINDING 0x8A28
  #define GL_UNIFORM_BUFFER_START 0x8A29
  #define GL_UNIFORM_BUFFER_SIZE 0x8A2A
  #define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
  #define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
  #define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
  #define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
  #define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
  #define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
  #define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
  #define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
  #define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
  #define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
  #define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
  #define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
  #define GL_UNIFORM_TYPE 0x8A37
  #define GL_UNIFORM_SIZE 0x8A38
  #define GL_UNIFORM_NAME_LENGTH 0x8A39
  #define GL_UNIFORM_BLOCK_INDEX 0x8A3A
  #define GL_UNIFORM_OFFSET 0x8A3B
  #define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
  #define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
  #define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
  #define GL_UNIFORM_BLOCK_BINDING 0x8A3F
  #define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
  #define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
  #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
  #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
  #define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
  #define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
  #define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
  #define GL_INVALID_INDEX 0xFFFFFFFF
  #define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
  #define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
  #define GL_LINES_ADJACENCY 0x000A
  #define GL_LINE_STRIP_ADJACENCY 0x000B
  #define GL_TRIANGLES_ADJACENCY 0x000C
  #define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
  #define GL_PROGRAM_POINT_SIZE 0x8642
  #define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
  #define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
  #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
  #define GL_GEOMETRY_SHADER 0x8DD9
  #define GL_GEOMETRY_VERTICES_OUT 0x8916
  #define GL_GEOMETRY_INPUT_TYPE 0x8917
  #define GL_GEOMETRY_OUTPUT_TYPE 0x8918
  #define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
  #define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
  #define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
  #define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
  #define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
  #define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
  #define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
  #define GL_CONTEXT_PROFILE_MASK 0x9126
  #define GL_DEPTH_CLAMP 0x864F
  #define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
  #define GL_FIRST_VERTEX_CONVENTION 0x8E4D
  #define GL_LAST_VERTEX_CONVENTION 0x8E4E
  #define GL_PROVOKING_VERTEX 0x8E4F
  #define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
  #define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
  #define GL_OBJECT_TYPE 0x9112
  #define GL_SYNC_CONDITION 0x9113
  #define GL_SYNC_STATUS 0x9114
  #define GL_SYNC_FLAGS 0x9115
  #define GL_SYNC_FENCE 0x9116
  #define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
  #define GL_UNSIGNALED 0x9118
  #define GL_SIGNALED 0x9119
  #define GL_ALREADY_SIGNALED 0x911A
  #define GL_TIMEOUT_EXPIRED 0x911B
  #define GL_CONDITION_SATISFIED 0x911C
  #define GL_WAIT_FAILED 0x911D
  #define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF
  #define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
  #define GL_SAMPLE_POSITION 0x8E50
  #define GL_SAMPLE_MASK 0x8E51
  #define GL_SAMPLE_MASK_VALUE 0x8E52
  #define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
  #define GL_TEXTURE_2D_MULTISAMPLE 0x9100
  #define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
  #define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
  #define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
  #define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
  #define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
  #define GL_TEXTURE_SAMPLES 0x9106
  #define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
  #define GL_SAMPLER_2D_MULTISAMPLE 0x9108
  #define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
  #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
  #define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
  #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
  #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
  #define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
  #define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
  #define GL_MAX_INTEGER_SAMPLES 0x9110
  #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
  #define GL_SRC1_COLOR 0x88F9
  #define GL_ONE_MINUS_SRC1_COLOR 0x88FA
  #define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
  #define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
  #define GL_ANY_SAMPLES_PASSED 0x8C2F
  #define GL_SAMPLER_BINDING 0x8919
  #define GL_RGB10_A2UI 0x906F
  #define GL_TEXTURE_SWIZZLE_R 0x8E42
  #define GL_TEXTURE_SWIZZLE_G 0x8E43
  #define GL_TEXTURE_SWIZZLE_B 0x8E44
  #define GL_TEXTURE_SWIZZLE_A 0x8E45
  #define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
  #define GL_TIME_ELAPSED 0x88BF
  #define GL_TIMESTAMP 0x8E28
  #define GL_INT_2_10_10_10_REV 0x8D9F
  #ifndef GL_VERSION_1_0
  #define GL_VERSION_1_0 1
  GLAPI int GLAD_GL_VERSION_1_0;
  typedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum mode);
  GLAPI PFNGLCULLFACEPROC glad_glCullFace;
  #define glCullFace glad_glCullFace
  typedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum mode);
  GLAPI PFNGLFRONTFACEPROC glad_glFrontFace;
  #define glFrontFace glad_glFrontFace
  typedef void (APIENTRYP PFNGLHINTPROC)(GLenum target, GLenum mode);
  GLAPI PFNGLHINTPROC glad_glHint;
  #define glHint glad_glHint
  typedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat width);
  GLAPI PFNGLLINEWIDTHPROC glad_glLineWidth;
  #define glLineWidth glad_glLineWidth
  typedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat size);
  GLAPI PFNGLPOINTSIZEPROC glad_glPointSize;
  #define glPointSize glad_glPointSize
  typedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode);
  GLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode;
  #define glPolygonMode glad_glPolygonMode
  typedef void (APIENTRYP PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
  GLAPI PFNGLSCISSORPROC glad_glScissor;
  #define glScissor glad_glScissor
  typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param);
  GLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf;
  #define glTexParameterf glad_glTexParameterf
  typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);
  GLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;
  #define glTexParameterfv glad_glTexParameterfv
  typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);
  GLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri;
  #define glTexParameteri glad_glTexParameteri
  typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);
  GLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;
  #define glTexParameteriv glad_glTexParameteriv
  typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);
  GLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D;
  #define glTexImage1D glad_glTexImage1D
  typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
  GLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D;
  #define glTexImage2D glad_glTexImage2D
  typedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum buf);
  GLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer;
  #define glDrawBuffer glad_glDrawBuffer
  typedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield mask);
  GLAPI PFNGLCLEARPROC glad_glClear;
  #define glClear glad_glClear
  typedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  GLAPI PFNGLCLEARCOLORPROC glad_glClearColor;
  #define glClearColor glad_glClearColor
  typedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint s);
  GLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil;
  #define glClearStencil glad_glClearStencil
  typedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble depth);
  GLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth;
  #define glClearDepth glad_glClearDepth
  typedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint mask);
  GLAPI PFNGLSTENCILMASKPROC glad_glStencilMask;
  #define glStencilMask glad_glStencilMask
  typedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
  GLAPI PFNGLCOLORMASKPROC glad_glColorMask;
  #define glColorMask glad_glColorMask
  typedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean flag);
  GLAPI PFNGLDEPTHMASKPROC glad_glDepthMask;
  #define glDepthMask glad_glDepthMask
  typedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum cap);
  GLAPI PFNGLDISABLEPROC glad_glDisable;
  #define glDisable glad_glDisable
  typedef void (APIENTRYP PFNGLENABLEPROC)(GLenum cap);
  GLAPI PFNGLENABLEPROC glad_glEnable;
  #define glEnable glad_glEnable
  typedef void (APIENTRYP PFNGLFINISHPROC)(void);
  GLAPI PFNGLFINISHPROC glad_glFinish;
  #define glFinish glad_glFinish
  typedef void (APIENTRYP PFNGLFLUSHPROC)(void);
  GLAPI PFNGLFLUSHPROC glad_glFlush;
  #define glFlush glad_glFlush
  typedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor);
  GLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc;
  #define glBlendFunc glad_glBlendFunc
  typedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum opcode);
  GLAPI PFNGLLOGICOPPROC glad_glLogicOp;
  #define glLogicOp glad_glLogicOp
  typedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);
  GLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc;
  #define glStencilFunc glad_glStencilFunc
  typedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass);
  GLAPI PFNGLSTENCILOPPROC glad_glStencilOp;
  #define glStencilOp glad_glStencilOp
  typedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum func);
  GLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc;
  #define glDepthFunc glad_glDepthFunc
  typedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param);
  GLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref;
  #define glPixelStoref glad_glPixelStoref
  typedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param);
  GLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei;
  #define glPixelStorei glad_glPixelStorei
  typedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum src);
  GLAPI PFNGLREADBUFFERPROC glad_glReadBuffer;
  #define glReadBuffer glad_glReadBuffer
  typedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
  GLAPI PFNGLREADPIXELSPROC glad_glReadPixels;
  #define glReadPixels glad_glReadPixels
  typedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *data);
  GLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv;
  #define glGetBooleanv glad_glGetBooleanv
  typedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *data);
  GLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev;
  #define glGetDoublev glad_glGetDoublev
  typedef GLenum (APIENTRYP PFNGLGETERRORPROC)(void);
  GLAPI PFNGLGETERRORPROC glad_glGetError;
  #define glGetError glad_glGetError
  typedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *data);
  GLAPI PFNGLGETFLOATVPROC glad_glGetFloatv;
  #define glGetFloatv glad_glGetFloatv
  typedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum pname, GLint *data);
  GLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv;
  #define glGetIntegerv glad_glGetIntegerv
  typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC)(GLenum name);
  GLAPI PFNGLGETSTRINGPROC glad_glGetString;
  #define glGetString glad_glGetString
  typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
  GLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage;
  #define glGetTexImage glad_glGetTexImage
  typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);
  GLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;
  #define glGetTexParameterfv glad_glGetTexParameterfv
  typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);
  GLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;
  #define glGetTexParameteriv glad_glGetTexParameteriv
  typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);
  GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv;
  #define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv
  typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params);
  GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv;
  #define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv
  typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC)(GLenum cap);
  GLAPI PFNGLISENABLEDPROC glad_glIsEnabled;
  #define glIsEnabled glad_glIsEnabled
  typedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble near, GLdouble far);
  GLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange;
  #define glDepthRange glad_glDepthRange
  typedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
  GLAPI PFNGLVIEWPORTPROC glad_glViewport;
  #define glViewport glad_glViewport
  #endif
  #ifndef GL_VERSION_1_1
  #define GL_VERSION_1_1 1
  GLAPI int GLAD_GL_VERSION_1_1;
  typedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count);
  GLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays;
  #define glDrawArrays glad_glDrawArrays
  typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices);
  GLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements;
  #define glDrawElements glad_glDrawElements
  typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units);
  GLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;
  #define glPolygonOffset glad_glPolygonOffset
  typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
  GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D;
  #define glCopyTexImage1D glad_glCopyTexImage1D
  typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;
  #define glCopyTexImage2D glad_glCopyTexImage2D
  typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
  GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D;
  #define glCopyTexSubImage1D glad_glCopyTexSubImage1D
  typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;
  #define glCopyTexSubImage2D glad_glCopyTexSubImage2D
  typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
  GLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D;
  #define glTexSubImage1D glad_glTexSubImage1D
  typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
  GLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;
  #define glTexSubImage2D glad_glTexSubImage2D
  typedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture);
  GLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture;
  #define glBindTexture glad_glBindTexture
  typedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures);
  GLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures;
  #define glDeleteTextures glad_glDeleteTextures
  typedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures);
  GLAPI PFNGLGENTEXTURESPROC glad_glGenTextures;
  #define glGenTextures glad_glGenTextures
  typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC)(GLuint texture);
  GLAPI PFNGLISTEXTUREPROC glad_glIsTexture;
  #define glIsTexture glad_glIsTexture
  #endif
  #ifndef GL_VERSION_1_2
  #define GL_VERSION_1_2 1
  GLAPI int GLAD_GL_VERSION_1_2;
  typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
  GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements;
  #define glDrawRangeElements glad_glDrawRangeElements
  typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
  GLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D;
  #define glTexImage3D glad_glTexImage3D
  typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
  GLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D;
  #define glTexSubImage3D glad_glTexSubImage3D
  typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D;
  #define glCopyTexSubImage3D glad_glCopyTexSubImage3D
  #endif
  #ifndef GL_VERSION_1_3
  #define GL_VERSION_1_3 1
  GLAPI int GLAD_GL_VERSION_1_3;
  typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture);
  GLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture;
  #define glActiveTexture glad_glActiveTexture
  typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert);
  GLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;
  #define glSampleCoverage glad_glSampleCoverage
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
  GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D;
  #define glCompressedTexImage3D glad_glCompressedTexImage3D
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
  GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;
  #define glCompressedTexImage2D glad_glCompressedTexImage2D
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
  GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D;
  #define glCompressedTexImage1D glad_glCompressedTexImage1D
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
  GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D;
  #define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
  GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;
  #define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D
  typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
  GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D;
  #define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D
  typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, void *img);
  GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage;
  #define glGetCompressedTexImage glad_glGetCompressedTexImage
  #endif
  #ifndef GL_VERSION_1_4
  #define GL_VERSION_1_4 1
  GLAPI int GLAD_GL_VERSION_1_4;
  typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;
  #define glBlendFuncSeparate glad_glBlendFuncSeparate
  typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
  GLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays;
  #define glMultiDrawArrays glad_glMultiDrawArrays
  typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);
  GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements;
  #define glMultiDrawElements glad_glMultiDrawElements
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param);
  GLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf;
  #define glPointParameterf glad_glPointParameterf
  typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params);
  GLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv;
  #define glPointParameterfv glad_glPointParameterfv
  typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param);
  GLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri;
  #define glPointParameteri glad_glPointParameteri
  typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params);
  GLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv;
  #define glPointParameteriv glad_glPointParameteriv
  typedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  GLAPI PFNGLBLENDCOLORPROC glad_glBlendColor;
  #define glBlendColor glad_glBlendColor
  typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum mode);
  GLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation;
  #define glBlendEquation glad_glBlendEquation
  #endif
  #ifndef GL_VERSION_1_5
  #define GL_VERSION_1_5 1
  GLAPI int GLAD_GL_VERSION_1_5;
  typedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids);
  GLAPI PFNGLGENQUERIESPROC glad_glGenQueries;
  #define glGenQueries glad_glGenQueries
  typedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids);
  GLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries;
  #define glDeleteQueries glad_glDeleteQueries
  typedef GLboolean (APIENTRYP PFNGLISQUERYPROC)(GLuint id);
  GLAPI PFNGLISQUERYPROC glad_glIsQuery;
  #define glIsQuery glad_glIsQuery
  typedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum target, GLuint id);
  GLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery;
  #define glBeginQuery glad_glBeginQuery
  typedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum target);
  GLAPI PFNGLENDQUERYPROC glad_glEndQuery;
  #define glEndQuery glad_glEndQuery
  typedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params);
  GLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv;
  #define glGetQueryiv glad_glGetQueryiv
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params);
  GLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv;
  #define glGetQueryObjectiv glad_glGetQueryObjectiv
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params);
  GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv;
  #define glGetQueryObjectuiv glad_glGetQueryObjectuiv
  typedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer);
  GLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer;
  #define glBindBuffer glad_glBindBuffer
  typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers);
  GLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;
  #define glDeleteBuffers glad_glDeleteBuffers
  typedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers);
  GLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers;
  #define glGenBuffers glad_glGenBuffers
  typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC)(GLuint buffer);
  GLAPI PFNGLISBUFFERPROC glad_glIsBuffer;
  #define glIsBuffer glad_glIsBuffer
  typedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void *data, GLenum usage);
  GLAPI PFNGLBUFFERDATAPROC glad_glBufferData;
  #define glBufferData glad_glBufferData
  typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
  GLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;
  #define glBufferSubData glad_glBufferSubData
  typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, void *data);
  GLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData;
  #define glGetBufferSubData glad_glGetBufferSubData
  typedef void * (APIENTRYP PFNGLMAPBUFFERPROC)(GLenum target, GLenum access);
  GLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer;
  #define glMapBuffer glad_glMapBuffer
  typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum target);
  GLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer;
  #define glUnmapBuffer glad_glUnmapBuffer
  typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);
  GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;
  #define glGetBufferParameteriv glad_glGetBufferParameteriv
  typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void **params);
  GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
  #define glGetBufferPointerv glad_glGetBufferPointerv
  #endif
  #ifndef GL_VERSION_2_0
  #define GL_VERSION_2_0 1
  GLAPI int GLAD_GL_VERSION_2_0;
  typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha);
  GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;
  #define glBlendEquationSeparate glad_glBlendEquationSeparate
  typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs);
  GLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers;
  #define glDrawBuffers glad_glDrawBuffers
  typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  GLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;
  #define glStencilOpSeparate glad_glStencilOpSeparate
  typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask);
  GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;
  #define glStencilFuncSeparate glad_glStencilFuncSeparate
  typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask);
  GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;
  #define glStencilMaskSeparate glad_glStencilMaskSeparate
  typedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader);
  GLAPI PFNGLATTACHSHADERPROC glad_glAttachShader;
  #define glAttachShader glad_glAttachShader
  typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name);
  GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;
  #define glBindAttribLocation glad_glBindAttribLocation
  typedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint shader);
  GLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader;
  #define glCompileShader glad_glCompileShader
  typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC)(void);
  GLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram;
  #define glCreateProgram glad_glCreateProgram
  typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC)(GLenum type);
  GLAPI PFNGLCREATESHADERPROC glad_glCreateShader;
  #define glCreateShader glad_glCreateShader
  typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint program);
  GLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;
  #define glDeleteProgram glad_glDeleteProgram
  typedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint shader);
  GLAPI PFNGLDELETESHADERPROC glad_glDeleteShader;
  #define glDeleteShader glad_glDeleteShader
  typedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader);
  GLAPI PFNGLDETACHSHADERPROC glad_glDetachShader;
  #define glDetachShader glad_glDetachShader
  typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index);
  GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;
  #define glDisableVertexAttribArray glad_glDisableVertexAttribArray
  typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index);
  GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;
  #define glEnableVertexAttribArray glad_glEnableVertexAttribArray
  typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  GLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;
  #define glGetActiveAttrib glad_glGetActiveAttrib
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
  GLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;
  #define glGetActiveUniform glad_glGetActiveUniform
  typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
  GLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;
  #define glGetAttachedShaders glad_glGetAttachedShaders
  typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name);
  GLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;
  #define glGetAttribLocation glad_glGetAttribLocation
  typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params);
  GLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;
  #define glGetProgramiv glad_glGetProgramiv
  typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;
  #define glGetProgramInfoLog glad_glGetProgramInfoLog
  typedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params);
  GLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv;
  #define glGetShaderiv glad_glGetShaderiv
  typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
  GLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;
  #define glGetShaderInfoLog glad_glGetShaderInfoLog
  typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
  GLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;
  #define glGetShaderSource glad_glGetShaderSource
  typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name);
  GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;
  #define glGetUniformLocation glad_glGetUniformLocation
  typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params);
  GLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;
  #define glGetUniformfv glad_glGetUniformfv
  typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params);
  GLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;
  #define glGetUniformiv glad_glGetUniformiv
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params);
  GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv;
  #define glGetVertexAttribdv glad_glGetVertexAttribdv
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params);
  GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;
  #define glGetVertexAttribfv glad_glGetVertexAttribfv
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params);
  GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;
  #define glGetVertexAttribiv glad_glGetVertexAttribiv
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void **pointer);
  GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;
  #define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv
  typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC)(GLuint program);
  GLAPI PFNGLISPROGRAMPROC glad_glIsProgram;
  #define glIsProgram glad_glIsProgram
  typedef GLboolean (APIENTRYP PFNGLISSHADERPROC)(GLuint shader);
  GLAPI PFNGLISSHADERPROC glad_glIsShader;
  #define glIsShader glad_glIsShader
  typedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint program);
  GLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram;
  #define glLinkProgram glad_glLinkProgram
  typedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
  GLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource;
  #define glShaderSource glad_glShaderSource
  typedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint program);
  GLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram;
  #define glUseProgram glad_glUseProgram
  typedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0);
  GLAPI PFNGLUNIFORM1FPROC glad_glUniform1f;
  #define glUniform1f glad_glUniform1f
  typedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1);
  GLAPI PFNGLUNIFORM2FPROC glad_glUniform2f;
  #define glUniform2f glad_glUniform2f
  typedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  GLAPI PFNGLUNIFORM3FPROC glad_glUniform3f;
  #define glUniform3f glad_glUniform3f
  typedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  GLAPI PFNGLUNIFORM4FPROC glad_glUniform4f;
  #define glUniform4f glad_glUniform4f
  typedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint location, GLint v0);
  GLAPI PFNGLUNIFORM1IPROC glad_glUniform1i;
  #define glUniform1i glad_glUniform1i
  typedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1);
  GLAPI PFNGLUNIFORM2IPROC glad_glUniform2i;
  #define glUniform2i glad_glUniform2i
  typedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2);
  GLAPI PFNGLUNIFORM3IPROC glad_glUniform3i;
  #define glUniform3i glad_glUniform3i
  typedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  GLAPI PFNGLUNIFORM4IPROC glad_glUniform4i;
  #define glUniform4i glad_glUniform4i
  typedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value);
  GLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv;
  #define glUniform1fv glad_glUniform1fv
  typedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value);
  GLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv;
  #define glUniform2fv glad_glUniform2fv
  typedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value);
  GLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv;
  #define glUniform3fv glad_glUniform3fv
  typedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value);
  GLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv;
  #define glUniform4fv glad_glUniform4fv
  typedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value);
  GLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv;
  #define glUniform1iv glad_glUniform1iv
  typedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value);
  GLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv;
  #define glUniform2iv glad_glUniform2iv
  typedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value);
  GLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv;
  #define glUniform3iv glad_glUniform3iv
  typedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value);
  GLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv;
  #define glUniform4iv glad_glUniform4iv
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;
  #define glUniformMatrix2fv glad_glUniformMatrix2fv
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;
  #define glUniformMatrix3fv glad_glUniformMatrix3fv
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;
  #define glUniformMatrix4fv glad_glUniformMatrix4fv
  typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint program);
  GLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;
  #define glValidateProgram glad_glValidateProgram
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x);
  GLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d;
  #define glVertexAttrib1d glad_glVertexAttrib1d
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v);
  GLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv;
  #define glVertexAttrib1dv glad_glVertexAttrib1dv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x);
  GLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;
  #define glVertexAttrib1f glad_glVertexAttrib1f
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v);
  GLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;
  #define glVertexAttrib1fv glad_glVertexAttrib1fv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x);
  GLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s;
  #define glVertexAttrib1s glad_glVertexAttrib1s
  typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v);
  GLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv;
  #define glVertexAttrib1sv glad_glVertexAttrib1sv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y);
  GLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d;
  #define glVertexAttrib2d glad_glVertexAttrib2d
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v);
  GLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv;
  #define glVertexAttrib2dv glad_glVertexAttrib2dv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y);
  GLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;
  #define glVertexAttrib2f glad_glVertexAttrib2f
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v);
  GLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;
  #define glVertexAttrib2fv glad_glVertexAttrib2fv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y);
  GLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s;
  #define glVertexAttrib2s glad_glVertexAttrib2s
  typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v);
  GLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv;
  #define glVertexAttrib2sv glad_glVertexAttrib2sv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
  GLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d;
  #define glVertexAttrib3d glad_glVertexAttrib3d
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v);
  GLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv;
  #define glVertexAttrib3dv glad_glVertexAttrib3dv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
  GLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;
  #define glVertexAttrib3f glad_glVertexAttrib3f
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v);
  GLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;
  #define glVertexAttrib3fv glad_glVertexAttrib3fv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z);
  GLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s;
  #define glVertexAttrib3s glad_glVertexAttrib3s
  typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v);
  GLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv;
  #define glVertexAttrib3sv glad_glVertexAttrib3sv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v);
  GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv;
  #define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v);
  GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv;
  #define glVertexAttrib4Niv glad_glVertexAttrib4Niv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v);
  GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv;
  #define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
  GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub;
  #define glVertexAttrib4Nub glad_glVertexAttrib4Nub
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v);
  GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv;
  #define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v);
  GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv;
  #define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v);
  GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv;
  #define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v);
  GLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv;
  #define glVertexAttrib4bv glad_glVertexAttrib4bv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  GLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d;
  #define glVertexAttrib4d glad_glVertexAttrib4d
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v);
  GLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv;
  #define glVertexAttrib4dv glad_glVertexAttrib4dv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  GLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;
  #define glVertexAttrib4f glad_glVertexAttrib4f
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v);
  GLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;
  #define glVertexAttrib4fv glad_glVertexAttrib4fv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v);
  GLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv;
  #define glVertexAttrib4iv glad_glVertexAttrib4iv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
  GLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s;
  #define glVertexAttrib4s glad_glVertexAttrib4s
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v);
  GLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv;
  #define glVertexAttrib4sv glad_glVertexAttrib4sv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v);
  GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv;
  #define glVertexAttrib4ubv glad_glVertexAttrib4ubv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v);
  GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv;
  #define glVertexAttrib4uiv glad_glVertexAttrib4uiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v);
  GLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv;
  #define glVertexAttrib4usv glad_glVertexAttrib4usv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
  GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;
  #define glVertexAttribPointer glad_glVertexAttribPointer
  #endif
  #ifndef GL_VERSION_2_1
  #define GL_VERSION_2_1 1
  GLAPI int GLAD_GL_VERSION_2_1;
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv;
  #define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv;
  #define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv;
  #define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv;
  #define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv;
  #define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv
  typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
  GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
  #define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv
  #endif
  #ifndef GL_VERSION_3_0
  #define GL_VERSION_3_0 1
  GLAPI int GLAD_GL_VERSION_3_0;
  typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
  GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski;
  #define glColorMaski glad_glColorMaski
  typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data);
  GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;
  #define glGetBooleani_v glad_glGetBooleani_v
  typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data);
  GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;
  #define glGetIntegeri_v glad_glGetIntegeri_v
  typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index);
  GLAPI PFNGLENABLEIPROC glad_glEnablei;
  #define glEnablei glad_glEnablei
  typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index);
  GLAPI PFNGLDISABLEIPROC glad_glDisablei;
  #define glDisablei glad_glDisablei
  typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index);
  GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi;
  #define glIsEnabledi glad_glIsEnabledi
  typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode);
  GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;
  #define glBeginTransformFeedback glad_glBeginTransformFeedback
  typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)(void);
  GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;
  #define glEndTransformFeedback glad_glEndTransformFeedback
  typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;
  #define glBindBufferRange glad_glBindBufferRange
  typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer);
  GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;
  #define glBindBufferBase glad_glBindBufferBase
  typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
  GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;
  #define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings
  typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
  GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;
  #define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying
  typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp);
  GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor;
  #define glClampColor glad_glClampColor
  typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode);
  GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;
  #define glBeginConditionalRender glad_glBeginConditionalRender
  typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)(void);
  GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;
  #define glEndConditionalRender glad_glEndConditionalRender
  typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
  GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;
  #define glVertexAttribIPointer glad_glVertexAttribIPointer
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params);
  GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;
  #define glGetVertexAttribIiv glad_glGetVertexAttribIiv
  typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params);
  GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;
  #define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x);
  GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;
  #define glVertexAttribI1i glad_glVertexAttribI1i
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y);
  GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;
  #define glVertexAttribI2i glad_glVertexAttribI2i
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z);
  GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;
  #define glVertexAttribI3i glad_glVertexAttribI3i
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);
  GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;
  #define glVertexAttribI4i glad_glVertexAttribI4i
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x);
  GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;
  #define glVertexAttribI1ui glad_glVertexAttribI1ui
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y);
  GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;
  #define glVertexAttribI2ui glad_glVertexAttribI2ui
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z);
  GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;
  #define glVertexAttribI3ui glad_glVertexAttribI3ui
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;
  #define glVertexAttribI4ui glad_glVertexAttribI4ui
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v);
  GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;
  #define glVertexAttribI1iv glad_glVertexAttribI1iv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v);
  GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;
  #define glVertexAttribI2iv glad_glVertexAttribI2iv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v);
  GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;
  #define glVertexAttribI3iv glad_glVertexAttribI3iv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v);
  GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;
  #define glVertexAttribI4iv glad_glVertexAttribI4iv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v);
  GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;
  #define glVertexAttribI1uiv glad_glVertexAttribI1uiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v);
  GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;
  #define glVertexAttribI2uiv glad_glVertexAttribI2uiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v);
  GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;
  #define glVertexAttribI3uiv glad_glVertexAttribI3uiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v);
  GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;
  #define glVertexAttribI4uiv glad_glVertexAttribI4uiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v);
  GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;
  #define glVertexAttribI4bv glad_glVertexAttribI4bv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v);
  GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;
  #define glVertexAttribI4sv glad_glVertexAttribI4sv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v);
  GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;
  #define glVertexAttribI4ubv glad_glVertexAttribI4ubv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v);
  GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;
  #define glVertexAttribI4usv glad_glVertexAttribI4usv
  typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params);
  GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;
  #define glGetUniformuiv glad_glGetUniformuiv
  typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name);
  GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;
  #define glBindFragDataLocation glad_glBindFragDataLocation
  typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name);
  GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;
  #define glGetFragDataLocation glad_glGetFragDataLocation
  typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0);
  GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui;
  #define glUniform1ui glad_glUniform1ui
  typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1);
  GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui;
  #define glUniform2ui glad_glUniform2ui
  typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);
  GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui;
  #define glUniform3ui glad_glUniform3ui
  typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui;
  #define glUniform4ui glad_glUniform4ui
  typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value);
  GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv;
  #define glUniform1uiv glad_glUniform1uiv
  typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value);
  GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv;
  #define glUniform2uiv glad_glUniform2uiv
  typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value);
  GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv;
  #define glUniform3uiv glad_glUniform3uiv
  typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value);
  GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv;
  #define glUniform4uiv glad_glUniform4uiv
  typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params);
  GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;
  #define glTexParameterIiv glad_glTexParameterIiv
  typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params);
  GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;
  #define glTexParameterIuiv glad_glTexParameterIuiv
  typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params);
  GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;
  #define glGetTexParameterIiv glad_glGetTexParameterIiv
  typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params);
  GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;
  #define glGetTexParameterIuiv glad_glGetTexParameterIuiv
  typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value);
  GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;
  #define glClearBufferiv glad_glClearBufferiv
  typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value);
  GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;
  #define glClearBufferuiv glad_glClearBufferuiv
  typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value);
  GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;
  #define glClearBufferfv glad_glClearBufferfv
  typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
  GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;
  #define glClearBufferfi glad_glClearBufferfi
  typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index);
  GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi;
  #define glGetStringi glad_glGetStringi
  typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer);
  GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
  #define glIsRenderbuffer glad_glIsRenderbuffer
  typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);
  GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
  #define glBindRenderbuffer glad_glBindRenderbuffer
  typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers);
  GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
  #define glDeleteRenderbuffers glad_glDeleteRenderbuffers
  typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers);
  GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
  #define glGenRenderbuffers glad_glGenRenderbuffers
  typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
  GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
  #define glRenderbufferStorage glad_glRenderbufferStorage
  typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);
  GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
  #define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv
  typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer);
  GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
  #define glIsFramebuffer glad_glIsFramebuffer
  typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);
  GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
  #define glBindFramebuffer glad_glBindFramebuffer
  typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers);
  GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
  #define glDeleteFramebuffers glad_glDeleteFramebuffers
  typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers);
  GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
  #define glGenFramebuffers glad_glGenFramebuffers
  typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);
  GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
  #define glCheckFramebufferStatus glad_glCheckFramebufferStatus
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;
  #define glFramebufferTexture1D glad_glFramebufferTexture1D
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
  GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
  #define glFramebufferTexture2D glad_glFramebufferTexture2D
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
  GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;
  #define glFramebufferTexture3D glad_glFramebufferTexture3D
  typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
  GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
  #define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer
  typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);
  GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
  #define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv
  typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum target);
  GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
  #define glGenerateMipmap glad_glGenerateMipmap
  typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;
  #define glBlitFramebuffer glad_glBlitFramebuffer
  typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;
  #define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;
  #define glFramebufferTextureLayer glad_glFramebufferTextureLayer
  typedef void * (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;
  #define glMapBufferRange glad_glMapBufferRange
  typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length);
  GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;
  #define glFlushMappedBufferRange glad_glFlushMappedBufferRange
  typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array);
  GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;
  #define glBindVertexArray glad_glBindVertexArray
  typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays);
  GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;
  #define glDeleteVertexArrays glad_glDeleteVertexArrays
  typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays);
  GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;
  #define glGenVertexArrays glad_glGenVertexArrays
  typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array);
  GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray;
  #define glIsVertexArray glad_glIsVertexArray
  #endif
  #ifndef GL_VERSION_3_1
  #define GL_VERSION_3_1 1
  GLAPI int GLAD_GL_VERSION_3_1;
  typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
  GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;
  #define glDrawArraysInstanced glad_glDrawArraysInstanced
  typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
  GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;
  #define glDrawElementsInstanced glad_glDrawElementsInstanced
  typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer);
  GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer;
  #define glTexBuffer glad_glTexBuffer
  typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index);
  GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;
  #define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex
  typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;
  #define glCopyBufferSubData glad_glCopyBufferSubData
  typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
  GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;
  #define glGetUniformIndices glad_glGetUniformIndices
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
  GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;
  #define glGetActiveUniformsiv glad_glGetActiveUniformsiv
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
  GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;
  #define glGetActiveUniformName glad_glGetActiveUniformName
  typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName);
  GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;
  #define glGetUniformBlockIndex glad_glGetUniformBlockIndex
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
  GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;
  #define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv
  typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
  GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;
  #define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName
  typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;
  #define glUniformBlockBinding glad_glUniformBlockBinding
  #endif
  #ifndef GL_VERSION_3_2
  #define GL_VERSION_3_2 1
  GLAPI int GLAD_GL_VERSION_3_2;
  typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
  GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;
  #define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex
  typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
  GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;
  #define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex
  typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
  GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;
  #define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex
  typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);
  GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;
  #define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex
  typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum mode);
  GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;
  #define glProvokingVertex glad_glProvokingVertex
  typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags);
  GLAPI PFNGLFENCESYNCPROC glad_glFenceSync;
  #define glFenceSync glad_glFenceSync
  typedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync sync);
  GLAPI PFNGLISSYNCPROC glad_glIsSync;
  #define glIsSync glad_glIsSync
  typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync);
  GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync;
  #define glDeleteSync glad_glDeleteSync
  typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
  GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;
  #define glClientWaitSync glad_glClientWaitSync
  typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
  GLAPI PFNGLWAITSYNCPROC glad_glWaitSync;
  #define glWaitSync glad_glWaitSync
  typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *data);
  GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v;
  #define glGetInteger64v glad_glGetInteger64v
  typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
  GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv;
  #define glGetSynciv glad_glGetSynciv
  typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data);
  GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;
  #define glGetInteger64i_v glad_glGetInteger64i_v
  typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params);
  GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;
  #define glGetBufferParameteri64v glad_glGetBufferParameteri64v
  typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);
  GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;
  #define glFramebufferTexture glad_glFramebufferTexture
  typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
  GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;
  #define glTexImage2DMultisample glad_glTexImage2DMultisample
  typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
  GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;
  #define glTexImage3DMultisample glad_glTexImage3DMultisample
  typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val);
  GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;
  #define glGetMultisamplefv glad_glGetMultisamplefv
  typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask);
  GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski;
  #define glSampleMaski glad_glSampleMaski
  #endif
  #ifndef GL_VERSION_3_3
  #define GL_VERSION_3_3 1
  GLAPI int GLAD_GL_VERSION_3_3;
  typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
  GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;
  #define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed
  typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name);
  GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;
  #define glGetFragDataIndex glad_glGetFragDataIndex
  typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers);
  GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers;
  #define glGenSamplers glad_glGenSamplers
  typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers);
  GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;
  #define glDeleteSamplers glad_glDeleteSamplers
  typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler);
  GLAPI PFNGLISSAMPLERPROC glad_glIsSampler;
  #define glIsSampler glad_glIsSampler
  typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler);
  GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler;
  #define glBindSampler glad_glBindSampler
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param);
  GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;
  #define glSamplerParameteri glad_glSamplerParameteri
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *param);
  GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;
  #define glSamplerParameteriv glad_glSamplerParameteriv
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param);
  GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;
  #define glSamplerParameterf glad_glSamplerParameterf
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *param);
  GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;
  #define glSamplerParameterfv glad_glSamplerParameterfv
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *param);
  GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;
  #define glSamplerParameterIiv glad_glSamplerParameterIiv
  typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *param);
  GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;
  #define glSamplerParameterIuiv glad_glSamplerParameterIuiv
  typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params);
  GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;
  #define glGetSamplerParameteriv glad_glGetSamplerParameteriv
  typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params);
  GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;
  #define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv
  typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params);
  GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;
  #define glGetSamplerParameterfv glad_glGetSamplerParameterfv
  typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params);
  GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;
  #define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv
  typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target);
  GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter;
  #define glQueryCounter glad_glQueryCounter
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params);
  GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;
  #define glGetQueryObjecti64v glad_glGetQueryObjecti64v
  typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params);
  GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;
  #define glGetQueryObjectui64v glad_glGetQueryObjectui64v
  typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor);
  GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;
  #define glVertexAttribDivisor glad_glVertexAttribDivisor
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
  GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;
  #define glVertexAttribP1ui glad_glVertexAttribP1ui
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;
  #define glVertexAttribP1uiv glad_glVertexAttribP1uiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
  GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;
  #define glVertexAttribP2ui glad_glVertexAttribP2ui
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;
  #define glVertexAttribP2uiv glad_glVertexAttribP2uiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
  GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;
  #define glVertexAttribP3ui glad_glVertexAttribP3ui
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;
  #define glVertexAttribP3uiv glad_glVertexAttribP3uiv
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
  GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;
  #define glVertexAttribP4ui glad_glVertexAttribP4ui
  typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
  GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;
  #define glVertexAttribP4uiv glad_glVertexAttribP4uiv
  typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum type, GLuint value);
  GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui;
  #define glVertexP2ui glad_glVertexP2ui
  typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *value);
  GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;
  #define glVertexP2uiv glad_glVertexP2uiv
  typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum type, GLuint value);
  GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui;
  #define glVertexP3ui glad_glVertexP3ui
  typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *value);
  GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;
  #define glVertexP3uiv glad_glVertexP3uiv
  typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum type, GLuint value);
  GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui;
  #define glVertexP4ui glad_glVertexP4ui
  typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *value);
  GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;
  #define glVertexP4uiv glad_glVertexP4uiv
  typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords);
  GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;
  #define glTexCoordP1ui glad_glTexCoordP1ui
  typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords);
  GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;
  #define glTexCoordP1uiv glad_glTexCoordP1uiv
  typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords);
  GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;
  #define glTexCoordP2ui glad_glTexCoordP2ui
  typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords);
  GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;
  #define glTexCoordP2uiv glad_glTexCoordP2uiv
  typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords);
  GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;
  #define glTexCoordP3ui glad_glTexCoordP3ui
  typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords);
  GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;
  #define glTexCoordP3uiv glad_glTexCoordP3uiv
  typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords);
  GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;
  #define glTexCoordP4ui glad_glTexCoordP4ui
  typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords);
  GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;
  #define glTexCoordP4uiv glad_glTexCoordP4uiv
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords);
  GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;
  #define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
  GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;
  #define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords);
  GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;
  #define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
  GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;
  #define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords);
  GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;
  #define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
  GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;
  #define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords);
  GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;
  #define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui
  typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
  GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;
  #define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv
  typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords);
  GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui;
  #define glNormalP3ui glad_glNormalP3ui
  typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords);
  GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv;
  #define glNormalP3uiv glad_glNormalP3uiv
  typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum type, GLuint color);
  GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui;
  #define glColorP3ui glad_glColorP3ui
  typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color);
  GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv;
  #define glColorP3uiv glad_glColorP3uiv
  typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum type, GLuint color);
  GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui;
  #define glColorP4ui glad_glColorP4ui
  typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color);
  GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv;
  #define glColorP4uiv glad_glColorP4uiv
  typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color);
  GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;
  #define glSecondaryColorP3ui glad_glSecondaryColorP3ui
  typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color);
  GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;
  #define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv
  #endif
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif
  