| /** |
| * Loader generated by glad 2.0.0-beta on Tue Aug 24 22:51:42 2021 |
| * |
| * Generator: C/C++ |
| * Specification: gl |
| * Extensions: 0 |
| * |
| * APIs: |
| * - gles2=2.0 |
| * |
| * Options: |
| * - ALIAS = False |
| * - DEBUG = False |
| * - HEADER_ONLY = True |
| * - LOADER = False |
| * - MX = False |
| * - MX_GLOBAL = False |
| * - ON_DEMAND = False |
| * |
| * Commandline: |
| * --api='gles2=2.0' --extensions='' c --header-only |
| * |
| * Online: |
| * http://glad.sh/#api=gles2%3D2.0&extensions=&generator=c&options=HEADER_ONLY |
| * |
| */ |
| |
| #ifndef GLAD_GLES2_H_ |
| #define GLAD_GLES2_H_ |
| |
| #ifdef __clang__ |
| #pragma clang diagnostic push |
| #pragma clang diagnostic ignored "-Wreserved-id-macro" |
| #endif |
| #ifdef __gl2_h_ |
| #error OpenGL ES 2 header already included (API: gles2), remove previous include! |
| #endif |
| #define __gl2_h_ 1 |
| #ifdef __gl3_h_ |
| #error OpenGL ES 3 header already included (API: gles2), remove previous include! |
| #endif |
| #define __gl3_h_ 1 |
| #ifdef __clang__ |
| #pragma clang diagnostic pop |
| #endif |
| |
| #define GLAD_GLES2 |
| #define GLAD_OPTION_GLES2_HEADER_ONLY |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #ifndef GLAD_PLATFORM_H_ |
| #define GLAD_PLATFORM_H_ |
| |
| #ifndef GLAD_PLATFORM_WIN32 |
| #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__) |
| #define GLAD_PLATFORM_WIN32 1 |
| #else |
| #define GLAD_PLATFORM_WIN32 0 |
| #endif |
| #endif |
| |
| #ifndef GLAD_PLATFORM_APPLE |
| #ifdef __APPLE__ |
| #define GLAD_PLATFORM_APPLE 1 |
| #else |
| #define GLAD_PLATFORM_APPLE 0 |
| #endif |
| #endif |
| |
| #ifndef GLAD_PLATFORM_EMSCRIPTEN |
| #ifdef __EMSCRIPTEN__ |
| #define GLAD_PLATFORM_EMSCRIPTEN 1 |
| #else |
| #define GLAD_PLATFORM_EMSCRIPTEN 0 |
| #endif |
| #endif |
| |
| #ifndef GLAD_PLATFORM_UWP |
| #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY) |
| #ifdef __has_include |
| #if __has_include(<winapifamily.h>) |
| #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1 |
| #endif |
| #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_ |
| #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1 |
| #endif |
| #endif |
| |
| #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY |
| #include <winapifamily.h> |
| #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) |
| #define GLAD_PLATFORM_UWP 1 |
| #endif |
| #endif |
| |
| #ifndef GLAD_PLATFORM_UWP |
| #define GLAD_PLATFORM_UWP 0 |
| #endif |
| #endif |
| |
| #ifdef __GNUC__ |
| #define GLAD_GNUC_EXTENSION __extension__ |
| #else |
| #define GLAD_GNUC_EXTENSION |
| #endif |
| |
| #ifndef GLAD_API_CALL |
| #if defined(GLAD_API_CALL_EXPORT) |
| #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__) |
| #if defined(GLAD_API_CALL_EXPORT_BUILD) |
| #if defined(__GNUC__) |
| #define GLAD_API_CALL __attribute__ ((dllexport)) extern |
| #else |
| #define GLAD_API_CALL __declspec(dllexport) extern |
| #endif |
| #else |
| #if defined(__GNUC__) |
| #define GLAD_API_CALL __attribute__ ((dllimport)) extern |
| #else |
| #define GLAD_API_CALL __declspec(dllimport) extern |
| #endif |
| #endif |
| #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD) |
| #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern |
| #else |
| #define GLAD_API_CALL extern |
| #endif |
| #else |
| #define GLAD_API_CALL extern |
| #endif |
| #endif |
| |
| #ifdef APIENTRY |
| #define GLAD_API_PTR APIENTRY |
| #elif GLAD_PLATFORM_WIN32 |
| #define GLAD_API_PTR __stdcall |
| #else |
| #define GLAD_API_PTR |
| #endif |
| |
| #ifndef GLAPI |
| #define GLAPI GLAD_API_CALL |
| #endif |
| |
| #ifndef GLAPIENTRY |
| #define GLAPIENTRY GLAD_API_PTR |
| #endif |
| |
| #define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor) |
| #define GLAD_VERSION_MAJOR(version) (version / 10000) |
| #define GLAD_VERSION_MINOR(version) (version % 10000) |
| |
| #define GLAD_GENERATOR_VERSION "2.0.0-beta" |
| |
| typedef void (*GLADapiproc)(void); |
| |
| typedef GLADapiproc (*GLADloadfunc)(const char *name); |
| typedef GLADapiproc (*GLADuserptrloadfunc)(void *userptr, const char *name); |
| |
| typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...); |
| typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...); |
| |
| #endif /* GLAD_PLATFORM_H_ */ |
| |
| #define GL_ACTIVE_ATTRIBUTES 0x8B89 |
| #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A |
| #define GL_ACTIVE_TEXTURE 0x84E0 |
| #define GL_ACTIVE_UNIFORMS 0x8B86 |
| #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 |
| #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E |
| #define GL_ALIASED_POINT_SIZE_RANGE 0x846D |
| #define GL_ALPHA 0x1906 |
| #define GL_ALPHA_BITS 0x0D55 |
| #define GL_ALWAYS 0x0207 |
| #define GL_ARRAY_BUFFER 0x8892 |
| #define GL_ARRAY_BUFFER_BINDING 0x8894 |
| #define GL_ATTACHED_SHADERS 0x8B85 |
| #define GL_BACK 0x0405 |
| #define GL_BLEND 0x0BE2 |
| #define GL_BLEND_COLOR 0x8005 |
| #define GL_BLEND_DST_ALPHA 0x80CA |
| #define GL_BLEND_DST_RGB 0x80C8 |
| #define GL_BLEND_EQUATION 0x8009 |
| #define GL_BLEND_EQUATION_ALPHA 0x883D |
| #define GL_BLEND_EQUATION_RGB 0x8009 |
| #define GL_BLEND_SRC_ALPHA 0x80CB |
| #define GL_BLEND_SRC_RGB 0x80C9 |
| #define GL_BLUE_BITS 0x0D54 |
| #define GL_BOOL 0x8B56 |
| #define GL_BOOL_VEC2 0x8B57 |
| #define GL_BOOL_VEC3 0x8B58 |
| #define GL_BOOL_VEC4 0x8B59 |
| #define GL_BUFFER_SIZE 0x8764 |
| #define GL_BUFFER_USAGE 0x8765 |
| #define GL_BYTE 0x1400 |
| #define GL_CCW 0x0901 |
| #define GL_CLAMP_TO_EDGE 0x812F |
| #define GL_COLOR_ATTACHMENT0 0x8CE0 |
| #define GL_COLOR_BUFFER_BIT 0x00004000 |
| #define GL_COLOR_CLEAR_VALUE 0x0C22 |
| #define GL_COLOR_WRITEMASK 0x0C23 |
| #define GL_COMPILE_STATUS 0x8B81 |
| #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 |
| #define GL_CONSTANT_ALPHA 0x8003 |
| #define GL_CONSTANT_COLOR 0x8001 |
| #define GL_CULL_FACE 0x0B44 |
| #define GL_CULL_FACE_MODE 0x0B45 |
| #define GL_CURRENT_PROGRAM 0x8B8D |
| #define GL_CURRENT_VERTEX_ATTRIB 0x8626 |
| #define GL_CW 0x0900 |
| #define GL_DECR 0x1E03 |
| #define GL_DECR_WRAP 0x8508 |
| #define GL_DELETE_STATUS 0x8B80 |
| #define GL_DEPTH_ATTACHMENT 0x8D00 |
| #define GL_DEPTH_BITS 0x0D56 |
| #define GL_DEPTH_BUFFER_BIT 0x00000100 |
| #define GL_DEPTH_CLEAR_VALUE 0x0B73 |
| #define GL_DEPTH_COMPONENT 0x1902 |
| #define GL_DEPTH_COMPONENT16 0x81A5 |
| #define GL_DEPTH_FUNC 0x0B74 |
| #define GL_DEPTH_RANGE 0x0B70 |
| #define GL_DEPTH_TEST 0x0B71 |
| #define GL_DEPTH_WRITEMASK 0x0B72 |
| #define GL_DITHER 0x0BD0 |
| #define GL_DONT_CARE 0x1100 |
| #define GL_DST_ALPHA 0x0304 |
| #define GL_DST_COLOR 0x0306 |
| #define GL_DYNAMIC_DRAW 0x88E8 |
| #define GL_ELEMENT_ARRAY_BUFFER 0x8893 |
| #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 |
| #define GL_EQUAL 0x0202 |
| #define GL_EXTENSIONS 0x1F03 |
| #define GL_FALSE 0 |
| #define GL_FASTEST 0x1101 |
| #define GL_FIXED 0x140C |
| #define GL_FLOAT 0x1406 |
| #define GL_FLOAT_MAT2 0x8B5A |
| #define GL_FLOAT_MAT3 0x8B5B |
| #define GL_FLOAT_MAT4 0x8B5C |
| #define GL_FLOAT_VEC2 0x8B50 |
| #define GL_FLOAT_VEC3 0x8B51 |
| #define GL_FLOAT_VEC4 0x8B52 |
| #define GL_FRAGMENT_SHADER 0x8B30 |
| #define GL_FRAMEBUFFER 0x8D40 |
| #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 |
| #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 |
| #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 |
| #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 |
| #define GL_FRAMEBUFFER_BINDING 0x8CA6 |
| #define GL_FRAMEBUFFER_COMPLETE 0x8CD5 |
| #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 |
| #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 |
| #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 |
| #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD |
| #define GL_FRONT 0x0404 |
| #define GL_FRONT_AND_BACK 0x0408 |
| #define GL_FRONT_FACE 0x0B46 |
| #define GL_FUNC_ADD 0x8006 |
| #define GL_FUNC_REVERSE_SUBTRACT 0x800B |
| #define GL_FUNC_SUBTRACT 0x800A |
| #define GL_GENERATE_MIPMAP_HINT 0x8192 |
| #define GL_GEQUAL 0x0206 |
| #define GL_GREATER 0x0204 |
| #define GL_GREEN_BITS 0x0D53 |
| #define GL_HIGH_FLOAT 0x8DF2 |
| #define GL_HIGH_INT 0x8DF5 |
| #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B |
| #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A |
| #define GL_INCR 0x1E02 |
| #define GL_INCR_WRAP 0x8507 |
| #define GL_INFO_LOG_LENGTH 0x8B84 |
| #define GL_INT 0x1404 |
| #define GL_INT_VEC2 0x8B53 |
| #define GL_INT_VEC3 0x8B54 |
| #define GL_INT_VEC4 0x8B55 |
| #define GL_INVALID_ENUM 0x0500 |
| #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 |
| #define GL_INVALID_OPERATION 0x0502 |
| #define GL_INVALID_VALUE 0x0501 |
| #define GL_INVERT 0x150A |
| #define GL_KEEP 0x1E00 |
| #define GL_LEQUAL 0x0203 |
| #define GL_LESS 0x0201 |
| #define GL_LINEAR 0x2601 |
| #define GL_LINEAR_MIPMAP_LINEAR 0x2703 |
| #define GL_LINEAR_MIPMAP_NEAREST 0x2701 |
| #define GL_LINES 0x0001 |
| #define GL_LINE_LOOP 0x0002 |
| #define GL_LINE_STRIP 0x0003 |
| #define GL_LINE_WIDTH 0x0B21 |
| #define GL_LINK_STATUS 0x8B82 |
| #define GL_LOW_FLOAT 0x8DF0 |
| #define GL_LOW_INT 0x8DF3 |
| #define GL_LUMINANCE 0x1909 |
| #define GL_LUMINANCE_ALPHA 0x190A |
| #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D |
| #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C |
| #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD |
| #define GL_MAX_RENDERBUFFER_SIZE 0x84E8 |
| #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 |
| #define GL_MAX_TEXTURE_SIZE 0x0D33 |
| #define GL_MAX_VARYING_VECTORS 0x8DFC |
| #define GL_MAX_VERTEX_ATTRIBS 0x8869 |
| #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C |
| #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB |
| #define GL_MAX_VIEWPORT_DIMS 0x0D3A |
| #define GL_MEDIUM_FLOAT 0x8DF1 |
| #define GL_MEDIUM_INT 0x8DF4 |
| #define GL_MIRRORED_REPEAT 0x8370 |
| #define GL_NEAREST 0x2600 |
| #define GL_NEAREST_MIPMAP_LINEAR 0x2702 |
| #define GL_NEAREST_MIPMAP_NEAREST 0x2700 |
| #define GL_NEVER 0x0200 |
| #define GL_NICEST 0x1102 |
| #define GL_NONE 0 |
| #define GL_NOTEQUAL 0x0205 |
| #define GL_NO_ERROR 0 |
| #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 |
| #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 |
| #define GL_ONE 1 |
| #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 |
| #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 |
| #define GL_ONE_MINUS_DST_ALPHA 0x0305 |
| #define GL_ONE_MINUS_DST_COLOR 0x0307 |
| #define GL_ONE_MINUS_SRC_ALPHA 0x0303 |
| #define GL_ONE_MINUS_SRC_COLOR 0x0301 |
| #define GL_OUT_OF_MEMORY 0x0505 |
| #define GL_PACK_ALIGNMENT 0x0D05 |
| #define GL_POINTS 0x0000 |
| #define GL_POLYGON_OFFSET_FACTOR 0x8038 |
| #define GL_POLYGON_OFFSET_FILL 0x8037 |
| #define GL_POLYGON_OFFSET_UNITS 0x2A00 |
| #define GL_RED_BITS 0x0D52 |
| #define GL_RENDERBUFFER 0x8D41 |
| #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 |
| #define GL_RENDERBUFFER_BINDING 0x8CA7 |
| #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 |
| #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 |
| #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 |
| #define GL_RENDERBUFFER_HEIGHT 0x8D43 |
| #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 |
| #define GL_RENDERBUFFER_RED_SIZE 0x8D50 |
| #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 |
| #define GL_RENDERBUFFER_WIDTH 0x8D42 |
| #define GL_RENDERER 0x1F01 |
| #define GL_REPEAT 0x2901 |
| #define GL_REPLACE 0x1E01 |
| #define GL_RGB 0x1907 |
| #define GL_RGB565 0x8D62 |
| #define GL_RGB5_A1 0x8057 |
| #define GL_RGBA 0x1908 |
| #define GL_RGBA4 0x8056 |
| #define GL_SAMPLER_2D 0x8B5E |
| #define GL_SAMPLER_CUBE 0x8B60 |
| #define GL_SAMPLES 0x80A9 |
| #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E |
| #define GL_SAMPLE_BUFFERS 0x80A8 |
| #define GL_SAMPLE_COVERAGE 0x80A0 |
| #define GL_SAMPLE_COVERAGE_INVERT 0x80AB |
| #define GL_SAMPLE_COVERAGE_VALUE 0x80AA |
| #define GL_SCISSOR_BOX 0x0C10 |
| #define GL_SCISSOR_TEST 0x0C11 |
| #define GL_SHADER_BINARY_FORMATS 0x8DF8 |
| #define GL_SHADER_COMPILER 0x8DFA |
| #define GL_SHADER_SOURCE_LENGTH 0x8B88 |
| #define GL_SHADER_TYPE 0x8B4F |
| #define GL_SHADING_LANGUAGE_VERSION 0x8B8C |
| #define GL_SHORT 0x1402 |
| #define GL_SRC_ALPHA 0x0302 |
| #define GL_SRC_ALPHA_SATURATE 0x0308 |
| #define GL_SRC_COLOR 0x0300 |
| #define GL_STATIC_DRAW 0x88E4 |
| #define GL_STENCIL_ATTACHMENT 0x8D20 |
| #define GL_STENCIL_BACK_FAIL 0x8801 |
| #define GL_STENCIL_BACK_FUNC 0x8800 |
| #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 |
| #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 |
| #define GL_STENCIL_BACK_REF 0x8CA3 |
| #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 |
| #define GL_STENCIL_BACK_WRITEMASK 0x8CA5 |
| #define GL_STENCIL_BITS 0x0D57 |
| #define GL_STENCIL_BUFFER_BIT 0x00000400 |
| #define GL_STENCIL_CLEAR_VALUE 0x0B91 |
| #define GL_STENCIL_FAIL 0x0B94 |
| #define GL_STENCIL_FUNC 0x0B92 |
| #define GL_STENCIL_INDEX8 0x8D48 |
| #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 |
| #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 |
| #define GL_STENCIL_REF 0x0B97 |
| #define GL_STENCIL_TEST 0x0B90 |
| #define GL_STENCIL_VALUE_MASK 0x0B93 |
| #define GL_STENCIL_WRITEMASK 0x0B98 |
| #define GL_STREAM_DRAW 0x88E0 |
| #define GL_SUBPIXEL_BITS 0x0D50 |
| #define GL_TEXTURE 0x1702 |
| #define GL_TEXTURE0 0x84C0 |
| #define GL_TEXTURE1 0x84C1 |
| #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_TEXTURE2 0x84C2 |
| #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_TEXTURE3 0x84C3 |
| #define GL_TEXTURE30 0x84DE |
| #define GL_TEXTURE31 0x84DF |
| #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_TEXTURE_2D 0x0DE1 |
| #define GL_TEXTURE_BINDING_2D 0x8069 |
| #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 |
| #define GL_TEXTURE_CUBE_MAP 0x8513 |
| #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 |
| #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 |
| #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A |
| #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 |
| #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 |
| #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 |
| #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_TRIANGLES 0x0004 |
| #define GL_TRIANGLE_FAN 0x0006 |
| #define GL_TRIANGLE_STRIP 0x0005 |
| #define GL_TRUE 1 |
| #define GL_UNPACK_ALIGNMENT 0x0CF5 |
| #define GL_UNSIGNED_BYTE 0x1401 |
| #define GL_UNSIGNED_INT 0x1405 |
| #define GL_UNSIGNED_SHORT 0x1403 |
| #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 |
| #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 |
| #define GL_UNSIGNED_SHORT_5_6_5 0x8363 |
| #define GL_VALIDATE_STATUS 0x8B83 |
| #define GL_VENDOR 0x1F00 |
| #define GL_VERSION 0x1F02 |
| #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F |
| #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 |
| #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A |
| #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 |
| #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 |
| #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 |
| #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 |
| #define GL_VERTEX_SHADER 0x8B31 |
| #define GL_VIEWPORT 0x0BA2 |
| #define GL_ZERO 0 |
| |
| |
| #ifndef __khrplatform_h_ |
| #define __khrplatform_h_ |
| |
| /* |
| ** Copyright (c) 2008-2018 The Khronos Group Inc. |
| ** |
| ** Permission is hereby granted, free of charge, to any person obtaining a |
| ** copy of this software and/or associated documentation files (the |
| ** "Materials"), to deal in the Materials without restriction, including |
| ** without limitation the rights to use, copy, modify, merge, publish, |
| ** distribute, sublicense, and/or sell copies of the Materials, and to |
| ** permit persons to whom the Materials are furnished to do so, subject to |
| ** the following conditions: |
| ** |
| ** The above copyright notice and this permission notice shall be included |
| ** in all copies or substantial portions of the Materials. |
| ** |
| ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
| ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
| ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
| ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
| ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
| ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. |
| */ |
| |
| /* Khronos platform-specific types and definitions. |
| * |
| * The master copy of khrplatform.h is maintained in the Khronos EGL |
| * Registry repository at https://github.com/KhronosGroup/EGL-Registry |
| * The last semantic modification to khrplatform.h was at commit ID: |
| * 67a3e0864c2d75ea5287b9f3d2eb74a745936692 |
| * |
| * Adopters may modify this file to suit their platform. Adopters are |
| * encouraged to submit platform specific modifications to the Khronos |
| * group so that they can be included in future versions of this file. |
| * Please submit changes by filing pull requests or issues on |
| * the EGL Registry repository linked above. |
| * |
| * |
| * See the Implementer's Guidelines for information about where this file |
| * should be located on your system and for more details of its use: |
| * http://www.khronos.org/registry/implementers_guide.pdf |
| * |
| * This file should be included as |
| * #include <KHR/khrplatform.h> |
| * by Khronos client API header files that use its types and defines. |
| * |
| * The types in khrplatform.h should only be used to define API-specific types. |
| * |
| * Types defined in khrplatform.h: |
| * khronos_int8_t signed 8 bit |
| * khronos_uint8_t unsigned 8 bit |
| * khronos_int16_t signed 16 bit |
| * khronos_uint16_t unsigned 16 bit |
| * khronos_int32_t signed 32 bit |
| * khronos_uint32_t unsigned 32 bit |
| * khronos_int64_t signed 64 bit |
| * khronos_uint64_t unsigned 64 bit |
| * khronos_intptr_t signed same number of bits as a pointer |
| * khronos_uintptr_t unsigned same number of bits as a pointer |
| * khronos_ssize_t signed size |
| * khronos_usize_t unsigned size |
| * khronos_float_t signed 32 bit floating point |
| * khronos_time_ns_t unsigned 64 bit time in nanoseconds |
| * khronos_utime_nanoseconds_t unsigned time interval or absolute time in |
| * nanoseconds |
| * khronos_stime_nanoseconds_t signed time interval in nanoseconds |
| * khronos_boolean_enum_t enumerated boolean type. This should |
| * only be used as a base type when a client API's boolean type is |
| * an enum. Client APIs which use an integer or other type for |
| * booleans cannot use this as the base type for their boolean. |
| * |
| * Tokens defined in khrplatform.h: |
| * |
| * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. |
| * |
| * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. |
| * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. |
| * |
| * Calling convention macros defined in this file: |
| * KHRONOS_APICALL |
| * KHRONOS_GLAD_API_PTR |
| * KHRONOS_APIATTRIBUTES |
| * |
| * These may be used in function prototypes as: |
| * |
| * KHRONOS_APICALL void KHRONOS_GLAD_API_PTR funcname( |
| * int arg1, |
| * int arg2) KHRONOS_APIATTRIBUTES; |
| */ |
| |
| #if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC) |
| # define KHRONOS_STATIC 1 |
| #endif |
| |
| /*------------------------------------------------------------------------- |
| * Definition of KHRONOS_APICALL |
| *------------------------------------------------------------------------- |
| * This precedes the return type of the function in the function prototype. |
| */ |
| #if defined(KHRONOS_STATIC) |
| /* If the preprocessor constant KHRONOS_STATIC is defined, make the |
| * header compatible with static linking. */ |
| # define KHRONOS_APICALL |
| #elif defined(_WIN32) |
| # define KHRONOS_APICALL __declspec(dllimport) |
| #elif defined (__SYMBIAN32__) |
| # define KHRONOS_APICALL IMPORT_C |
| #elif defined(__ANDROID__) |
| # define KHRONOS_APICALL __attribute__((visibility("default"))) |
| #else |
| # define KHRONOS_APICALL |
| #endif |
| |
| /*------------------------------------------------------------------------- |
| * Definition of KHRONOS_GLAD_API_PTR |
| *------------------------------------------------------------------------- |
| * This follows the return type of the function and precedes the function |
| * name in the function prototype. |
| */ |
| #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) |
| /* Win32 but not WinCE */ |
| # define KHRONOS_GLAD_API_PTR __stdcall |
| #else |
| # define KHRONOS_GLAD_API_PTR |
| #endif |
| |
| /*------------------------------------------------------------------------- |
| * Definition of KHRONOS_APIATTRIBUTES |
| *------------------------------------------------------------------------- |
| * This follows the closing parenthesis of the function prototype arguments. |
| */ |
| #if defined (__ARMCC_2__) |
| #define KHRONOS_APIATTRIBUTES __softfp |
| #else |
| #define KHRONOS_APIATTRIBUTES |
| #endif |
| |
| /*------------------------------------------------------------------------- |
| * basic type definitions |
| *-----------------------------------------------------------------------*/ |
| #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) |
| |
| |
| /* |
| * Using <stdint.h> |
| */ |
| #include <stdint.h> |
| typedef int32_t khronos_int32_t; |
| typedef uint32_t khronos_uint32_t; |
| typedef int64_t khronos_int64_t; |
| typedef uint64_t khronos_uint64_t; |
| #define KHRONOS_SUPPORT_INT64 1 |
| #define KHRONOS_SUPPORT_FLOAT 1 |
| |
| #elif defined(__VMS ) || defined(__sgi) |
| |
| /* |
| * Using <inttypes.h> |
| */ |
| #include <inttypes.h> |
| typedef int32_t khronos_int32_t; |
| typedef uint32_t khronos_uint32_t; |
| typedef int64_t khronos_int64_t; |
| typedef uint64_t khronos_uint64_t; |
| #define KHRONOS_SUPPORT_INT64 1 |
| #define KHRONOS_SUPPORT_FLOAT 1 |
| |
| #elif defined(_WIN32) && !defined(__SCITECH_SNAP__) |
| |
| /* |
| * Win32 |
| */ |
| typedef __int32 khronos_int32_t; |
| typedef unsigned __int32 khronos_uint32_t; |
| typedef __int64 khronos_int64_t; |
| typedef unsigned __int64 khronos_uint64_t; |
| #define KHRONOS_SUPPORT_INT64 1 |
| #define KHRONOS_SUPPORT_FLOAT 1 |
| |
| #elif defined(__sun__) || defined(__digital__) |
| |
| /* |
| * Sun or Digital |
| */ |
| typedef int khronos_int32_t; |
| typedef unsigned int khronos_uint32_t; |
| #if defined(__arch64__) || defined(_LP64) |
| typedef long int khronos_int64_t; |
| typedef unsigned long int khronos_uint64_t; |
| #else |
| typedef long long int khronos_int64_t; |
| typedef unsigned long long int khronos_uint64_t; |
| #endif /* __arch64__ */ |
| #define KHRONOS_SUPPORT_INT64 1 |
| #define KHRONOS_SUPPORT_FLOAT 1 |
| |
| #elif 0 |
| |
| /* |
| * Hypothetical platform with no float or int64 support |
| */ |
| typedef int khronos_int32_t; |
| typedef unsigned int khronos_uint32_t; |
| #define KHRONOS_SUPPORT_INT64 0 |
| #define KHRONOS_SUPPORT_FLOAT 0 |
| |
| #else |
| |
| /* |
| * Generic fallback |
| */ |
| #include <stdint.h> |
| typedef int32_t khronos_int32_t; |
| typedef uint32_t khronos_uint32_t; |
| typedef int64_t khronos_int64_t; |
| typedef uint64_t khronos_uint64_t; |
| #define KHRONOS_SUPPORT_INT64 1 |
| #define KHRONOS_SUPPORT_FLOAT 1 |
| |
| #endif |
| |
| |
| /* |
| * Types that are (so far) the same on all platforms |
| */ |
| typedef signed char khronos_int8_t; |
| typedef unsigned char khronos_uint8_t; |
| typedef signed short int khronos_int16_t; |
| typedef unsigned short int khronos_uint16_t; |
| |
| /* |
| * Types that differ between LLP64 and LP64 architectures - in LLP64, |
| * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears |
| * to be the only LLP64 architecture in current use. |
| */ |
| #ifdef _WIN64 |
| typedef signed long long int khronos_intptr_t; |
| typedef unsigned long long int khronos_uintptr_t; |
| typedef signed long long int khronos_ssize_t; |
| typedef unsigned long long int khronos_usize_t; |
| #else |
| typedef signed long int khronos_intptr_t; |
| typedef unsigned long int khronos_uintptr_t; |
| typedef signed long int khronos_ssize_t; |
| typedef unsigned long int khronos_usize_t; |
| #endif |
| |
| #if KHRONOS_SUPPORT_FLOAT |
| /* |
| * Float type |
| */ |
| typedef float khronos_float_t; |
| #endif |
| |
| #if KHRONOS_SUPPORT_INT64 |
| /* Time types |
| * |
| * These types can be used to represent a time interval in nanoseconds or |
| * an absolute Unadjusted System Time. Unadjusted System Time is the number |
| * of nanoseconds since some arbitrary system event (e.g. since the last |
| * time the system booted). The Unadjusted System Time is an unsigned |
| * 64 bit value that wraps back to 0 every 584 years. Time intervals |
| * may be either signed or unsigned. |
| */ |
| typedef khronos_uint64_t khronos_utime_nanoseconds_t; |
| typedef khronos_int64_t khronos_stime_nanoseconds_t; |
| #endif |
| |
| /* |
| * Dummy value used to pad enum types to 32 bits. |
| */ |
| #ifndef KHRONOS_MAX_ENUM |
| #define KHRONOS_MAX_ENUM 0x7FFFFFFF |
| #endif |
| |
| /* |
| * Enumerated boolean type |
| * |
| * Values other than zero should be considered to be true. Therefore |
| * comparisons should not be made against KHRONOS_TRUE. |
| */ |
| typedef enum { |
| KHRONOS_FALSE = 0, |
| KHRONOS_TRUE = 1, |
| KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM |
| } khronos_boolean_enum_t; |
| |
| #endif /* __khrplatform_h_ */ |
| |
| typedef unsigned int GLenum; |
| |
| typedef unsigned char GLboolean; |
| |
| typedef unsigned int GLbitfield; |
| |
| typedef void GLvoid; |
| |
| typedef khronos_int8_t GLbyte; |
| |
| typedef khronos_uint8_t GLubyte; |
| |
| typedef khronos_int16_t GLshort; |
| |
| typedef khronos_uint16_t GLushort; |
| |
| typedef int GLint; |
| |
| typedef unsigned int GLuint; |
| |
| typedef khronos_int32_t GLclampx; |
| |
| typedef int GLsizei; |
| |
| typedef khronos_float_t GLfloat; |
| |
| typedef khronos_float_t 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 khronos_uint16_t GLhalf; |
| |
| typedef khronos_uint16_t GLhalfARB; |
| |
| typedef khronos_int32_t GLfixed; |
| |
| #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) |
| typedef khronos_intptr_t GLintptr; |
| #else |
| typedef khronos_intptr_t GLintptr; |
| #endif |
| |
| #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) |
| typedef khronos_intptr_t GLintptrARB; |
| #else |
| typedef khronos_intptr_t GLintptrARB; |
| #endif |
| |
| #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) |
| typedef khronos_ssize_t GLsizeiptr; |
| #else |
| typedef khronos_ssize_t GLsizeiptr; |
| #endif |
| |
| #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) |
| typedef khronos_ssize_t GLsizeiptrARB; |
| #else |
| typedef khronos_ssize_t GLsizeiptrARB; |
| #endif |
| |
| typedef khronos_int64_t GLint64; |
| |
| typedef khronos_int64_t GLint64EXT; |
| |
| typedef khronos_uint64_t GLuint64; |
| |
| typedef khronos_uint64_t GLuint64EXT; |
| |
| typedef struct __GLsync *GLsync; |
| |
| struct _cl_context; |
| |
| struct _cl_event; |
| |
| typedef void (GLAD_API_PTR *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); |
| |
| typedef void (GLAD_API_PTR *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); |
| |
| typedef void (GLAD_API_PTR *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); |
| |
| typedef void (GLAD_API_PTR *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); |
| |
| typedef unsigned short GLhalfNV; |
| |
| typedef GLintptr GLvdpauSurfaceNV; |
| |
| typedef void (GLAD_API_PTR *GLVULKANPROCNV)(void); |
| |
| |
| |
| #define GL_ES_VERSION_2_0 1 |
| GLAD_API_CALL int GLAD_GL_ES_VERSION_2_0; |
| |
| |
| typedef void (GLAD_API_PTR *PFNGLACTIVETEXTUREPROC)(GLenum texture); |
| typedef void (GLAD_API_PTR *PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader); |
| typedef void (GLAD_API_PTR *PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar * name); |
| typedef void (GLAD_API_PTR *PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer); |
| typedef void (GLAD_API_PTR *PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer); |
| typedef void (GLAD_API_PTR *PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer); |
| typedef void (GLAD_API_PTR *PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture); |
| typedef void (GLAD_API_PTR *PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); |
| typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONPROC)(GLenum mode); |
| typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha); |
| typedef void (GLAD_API_PTR *PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor); |
| typedef void (GLAD_API_PTR *PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); |
| typedef void (GLAD_API_PTR *PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void * data, GLenum usage); |
| typedef void (GLAD_API_PTR *PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void * data); |
| typedef GLenum (GLAD_API_PTR *PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target); |
| typedef void (GLAD_API_PTR *PFNGLCLEARPROC)(GLbitfield mask); |
| typedef void (GLAD_API_PTR *PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); |
| typedef void (GLAD_API_PTR *PFNGLCLEARDEPTHFPROC)(GLfloat d); |
| typedef void (GLAD_API_PTR *PFNGLCLEARSTENCILPROC)(GLint s); |
| typedef void (GLAD_API_PTR *PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); |
| typedef void (GLAD_API_PTR *PFNGLCOMPILESHADERPROC)(GLuint shader); |
| typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data); |
| typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data); |
| typedef void (GLAD_API_PTR *PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); |
| typedef void (GLAD_API_PTR *PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); |
| typedef GLuint (GLAD_API_PTR *PFNGLCREATEPROGRAMPROC)(void); |
| typedef GLuint (GLAD_API_PTR *PFNGLCREATESHADERPROC)(GLenum type); |
| typedef void (GLAD_API_PTR *PFNGLCULLFACEPROC)(GLenum mode); |
| typedef void (GLAD_API_PTR *PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint * buffers); |
| typedef void (GLAD_API_PTR *PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint * framebuffers); |
| typedef void (GLAD_API_PTR *PFNGLDELETEPROGRAMPROC)(GLuint program); |
| typedef void (GLAD_API_PTR *PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint * renderbuffers); |
| typedef void (GLAD_API_PTR *PFNGLDELETESHADERPROC)(GLuint shader); |
| typedef void (GLAD_API_PTR *PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint * textures); |
| typedef void (GLAD_API_PTR *PFNGLDEPTHFUNCPROC)(GLenum func); |
| typedef void (GLAD_API_PTR *PFNGLDEPTHMASKPROC)(GLboolean flag); |
| typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEFPROC)(GLfloat n, GLfloat f); |
| typedef void (GLAD_API_PTR *PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader); |
| typedef void (GLAD_API_PTR *PFNGLDISABLEPROC)(GLenum cap); |
| typedef void (GLAD_API_PTR *PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index); |
| typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count); |
| typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices); |
| typedef void (GLAD_API_PTR *PFNGLENABLEPROC)(GLenum cap); |
| typedef void (GLAD_API_PTR *PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index); |
| typedef void (GLAD_API_PTR *PFNGLFINISHPROC)(void); |
| typedef void (GLAD_API_PTR *PFNGLFLUSHPROC)(void); |
| typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); |
| typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); |
| typedef void (GLAD_API_PTR *PFNGLFRONTFACEPROC)(GLenum mode); |
| typedef void (GLAD_API_PTR *PFNGLGENBUFFERSPROC)(GLsizei n, GLuint * buffers); |
| typedef void (GLAD_API_PTR *PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint * framebuffers); |
| typedef void (GLAD_API_PTR *PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint * renderbuffers); |
| typedef void (GLAD_API_PTR *PFNGLGENTEXTURESPROC)(GLsizei n, GLuint * textures); |
| typedef void (GLAD_API_PTR *PFNGLGENERATEMIPMAPPROC)(GLenum target); |
| typedef void (GLAD_API_PTR *PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name); |
| typedef void (GLAD_API_PTR *PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name); |
| typedef void (GLAD_API_PTR *PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders); |
| typedef GLint (GLAD_API_PTR *PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar * name); |
| typedef void (GLAD_API_PTR *PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean * data); |
| typedef void (GLAD_API_PTR *PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params); |
| typedef GLenum (GLAD_API_PTR *PFNGLGETERRORPROC)(void); |
| typedef void (GLAD_API_PTR *PFNGLGETFLOATVPROC)(GLenum pname, GLfloat * data); |
| typedef void (GLAD_API_PTR *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint * params); |
| typedef void (GLAD_API_PTR *PFNGLGETINTEGERVPROC)(GLenum pname, GLint * data); |
| typedef void (GLAD_API_PTR *PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog); |
| typedef void (GLAD_API_PTR *PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint * params); |
| typedef void (GLAD_API_PTR *PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params); |
| typedef void (GLAD_API_PTR *PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog); |
| typedef void (GLAD_API_PTR *PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); |
| typedef void (GLAD_API_PTR *PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source); |
| typedef void (GLAD_API_PTR *PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint * params); |
| typedef const GLubyte * (GLAD_API_PTR *PFNGLGETSTRINGPROC)(GLenum name); |
| typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat * params); |
| typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params); |
| typedef GLint (GLAD_API_PTR *PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar * name); |
| typedef void (GLAD_API_PTR *PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat * params); |
| typedef void (GLAD_API_PTR *PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint * params); |
| typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void ** pointer); |
| typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat * params); |
| typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint * params); |
| typedef void (GLAD_API_PTR *PFNGLHINTPROC)(GLenum target, GLenum mode); |
| typedef GLboolean (GLAD_API_PTR *PFNGLISBUFFERPROC)(GLuint buffer); |
| typedef GLboolean (GLAD_API_PTR *PFNGLISENABLEDPROC)(GLenum cap); |
| typedef GLboolean (GLAD_API_PTR *PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer); |
| typedef GLboolean (GLAD_API_PTR *PFNGLISPROGRAMPROC)(GLuint program); |
| typedef GLboolean (GLAD_API_PTR *PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer); |
| typedef GLboolean (GLAD_API_PTR *PFNGLISSHADERPROC)(GLuint shader); |
| typedef GLboolean (GLAD_API_PTR *PFNGLISTEXTUREPROC)(GLuint texture); |
| typedef void (GLAD_API_PTR *PFNGLLINEWIDTHPROC)(GLfloat width); |
| typedef void (GLAD_API_PTR *PFNGLLINKPROGRAMPROC)(GLuint program); |
| typedef void (GLAD_API_PTR *PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param); |
| typedef void (GLAD_API_PTR *PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units); |
| typedef void (GLAD_API_PTR *PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels); |
| typedef void (GLAD_API_PTR *PFNGLRELEASESHADERCOMPILERPROC)(void); |
| typedef void (GLAD_API_PTR *PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); |
| typedef void (GLAD_API_PTR *PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert); |
| typedef void (GLAD_API_PTR *PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height); |
| typedef void (GLAD_API_PTR *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint * shaders, GLenum binaryFormat, const void * binary, GLsizei length); |
| typedef void (GLAD_API_PTR *PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length); |
| typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask); |
| typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask); |
| typedef void (GLAD_API_PTR *PFNGLSTENCILMASKPROC)(GLuint mask); |
| typedef void (GLAD_API_PTR *PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask); |
| typedef void (GLAD_API_PTR *PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass); |
| typedef void (GLAD_API_PTR *PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); |
| typedef void (GLAD_API_PTR *PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels); |
| typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param); |
| typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat * params); |
| typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param); |
| typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint * params); |
| typedef void (GLAD_API_PTR *PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM1IPROC)(GLint location, GLint v0); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); |
| typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); |
| typedef void (GLAD_API_PTR *PFNGLUSEPROGRAMPROC)(GLuint program); |
| typedef void (GLAD_API_PTR *PFNGLVALIDATEPROGRAMPROC)(GLuint program); |
| typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x); |
| typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat * v); |
| typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y); |
| typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat * v); |
| typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z); |
| typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat * v); |
| typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); |
| typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat * v); |
| typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer); |
| typedef void (GLAD_API_PTR *PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height); |
| |
| GLAD_API_CALL PFNGLACTIVETEXTUREPROC glad_glActiveTexture; |
| #define glActiveTexture glad_glActiveTexture |
| GLAD_API_CALL PFNGLATTACHSHADERPROC glad_glAttachShader; |
| #define glAttachShader glad_glAttachShader |
| GLAD_API_CALL PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; |
| #define glBindAttribLocation glad_glBindAttribLocation |
| GLAD_API_CALL PFNGLBINDBUFFERPROC glad_glBindBuffer; |
| #define glBindBuffer glad_glBindBuffer |
| GLAD_API_CALL PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; |
| #define glBindFramebuffer glad_glBindFramebuffer |
| GLAD_API_CALL PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; |
| #define glBindRenderbuffer glad_glBindRenderbuffer |
| GLAD_API_CALL PFNGLBINDTEXTUREPROC glad_glBindTexture; |
| #define glBindTexture glad_glBindTexture |
| GLAD_API_CALL PFNGLBLENDCOLORPROC glad_glBlendColor; |
| #define glBlendColor glad_glBlendColor |
| GLAD_API_CALL PFNGLBLENDEQUATIONPROC glad_glBlendEquation; |
| #define glBlendEquation glad_glBlendEquation |
| GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; |
| #define glBlendEquationSeparate glad_glBlendEquationSeparate |
| GLAD_API_CALL PFNGLBLENDFUNCPROC glad_glBlendFunc; |
| #define glBlendFunc glad_glBlendFunc |
| GLAD_API_CALL PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; |
| #define glBlendFuncSeparate glad_glBlendFuncSeparate |
| GLAD_API_CALL PFNGLBUFFERDATAPROC glad_glBufferData; |
| #define glBufferData glad_glBufferData |
| GLAD_API_CALL PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; |
| #define glBufferSubData glad_glBufferSubData |
| GLAD_API_CALL PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; |
| #define glCheckFramebufferStatus glad_glCheckFramebufferStatus |
| GLAD_API_CALL PFNGLCLEARPROC glad_glClear; |
| #define glClear glad_glClear |
| GLAD_API_CALL PFNGLCLEARCOLORPROC glad_glClearColor; |
| #define glClearColor glad_glClearColor |
| GLAD_API_CALL PFNGLCLEARDEPTHFPROC glad_glClearDepthf; |
| #define glClearDepthf glad_glClearDepthf |
| GLAD_API_CALL PFNGLCLEARSTENCILPROC glad_glClearStencil; |
| #define glClearStencil glad_glClearStencil |
| GLAD_API_CALL PFNGLCOLORMASKPROC glad_glColorMask; |
| #define glColorMask glad_glColorMask |
| GLAD_API_CALL PFNGLCOMPILESHADERPROC glad_glCompileShader; |
| #define glCompileShader glad_glCompileShader |
| GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; |
| #define glCompressedTexImage2D glad_glCompressedTexImage2D |
| GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; |
| #define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D |
| GLAD_API_CALL PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; |
| #define glCopyTexImage2D glad_glCopyTexImage2D |
| GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; |
| #define glCopyTexSubImage2D glad_glCopyTexSubImage2D |
| GLAD_API_CALL PFNGLCREATEPROGRAMPROC glad_glCreateProgram; |
| #define glCreateProgram glad_glCreateProgram |
| GLAD_API_CALL PFNGLCREATESHADERPROC glad_glCreateShader; |
| #define glCreateShader glad_glCreateShader |
| GLAD_API_CALL PFNGLCULLFACEPROC glad_glCullFace; |
| #define glCullFace glad_glCullFace |
| GLAD_API_CALL PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; |
| #define glDeleteBuffers glad_glDeleteBuffers |
| GLAD_API_CALL PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; |
| #define glDeleteFramebuffers glad_glDeleteFramebuffers |
| GLAD_API_CALL PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; |
| #define glDeleteProgram glad_glDeleteProgram |
| GLAD_API_CALL PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; |
| #define glDeleteRenderbuffers glad_glDeleteRenderbuffers |
| GLAD_API_CALL PFNGLDELETESHADERPROC glad_glDeleteShader; |
| #define glDeleteShader glad_glDeleteShader |
| GLAD_API_CALL PFNGLDELETETEXTURESPROC glad_glDeleteTextures; |
| #define glDeleteTextures glad_glDeleteTextures |
| GLAD_API_CALL PFNGLDEPTHFUNCPROC glad_glDepthFunc; |
| #define glDepthFunc glad_glDepthFunc |
| GLAD_API_CALL PFNGLDEPTHMASKPROC glad_glDepthMask; |
| #define glDepthMask glad_glDepthMask |
| GLAD_API_CALL PFNGLDEPTHRANGEFPROC glad_glDepthRangef; |
| #define glDepthRangef glad_glDepthRangef |
| GLAD_API_CALL PFNGLDETACHSHADERPROC glad_glDetachShader; |
| #define glDetachShader glad_glDetachShader |
| GLAD_API_CALL PFNGLDISABLEPROC glad_glDisable; |
| #define glDisable glad_glDisable |
| GLAD_API_CALL PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; |
| #define glDisableVertexAttribArray glad_glDisableVertexAttribArray |
| GLAD_API_CALL PFNGLDRAWARRAYSPROC glad_glDrawArrays; |
| #define glDrawArrays glad_glDrawArrays |
| GLAD_API_CALL PFNGLDRAWELEMENTSPROC glad_glDrawElements; |
| #define glDrawElements glad_glDrawElements |
| GLAD_API_CALL PFNGLENABLEPROC glad_glEnable; |
| #define glEnable glad_glEnable |
| GLAD_API_CALL PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; |
| #define glEnableVertexAttribArray glad_glEnableVertexAttribArray |
| GLAD_API_CALL PFNGLFINISHPROC glad_glFinish; |
| #define glFinish glad_glFinish |
| GLAD_API_CALL PFNGLFLUSHPROC glad_glFlush; |
| #define glFlush glad_glFlush |
| GLAD_API_CALL PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; |
| #define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer |
| GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; |
| #define glFramebufferTexture2D glad_glFramebufferTexture2D |
| GLAD_API_CALL PFNGLFRONTFACEPROC glad_glFrontFace; |
| #define glFrontFace glad_glFrontFace |
| GLAD_API_CALL PFNGLGENBUFFERSPROC glad_glGenBuffers; |
| #define glGenBuffers glad_glGenBuffers |
| GLAD_API_CALL PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; |
| #define glGenFramebuffers glad_glGenFramebuffers |
| GLAD_API_CALL PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; |
| #define glGenRenderbuffers glad_glGenRenderbuffers |
| GLAD_API_CALL PFNGLGENTEXTURESPROC glad_glGenTextures; |
| #define glGenTextures glad_glGenTextures |
| GLAD_API_CALL PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; |
| #define glGenerateMipmap glad_glGenerateMipmap |
| GLAD_API_CALL PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; |
| #define glGetActiveAttrib glad_glGetActiveAttrib |
| GLAD_API_CALL PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; |
| #define glGetActiveUniform glad_glGetActiveUniform |
| GLAD_API_CALL PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; |
| #define glGetAttachedShaders glad_glGetAttachedShaders |
| GLAD_API_CALL PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; |
| #define glGetAttribLocation glad_glGetAttribLocation |
| GLAD_API_CALL PFNGLGETBOOLEANVPROC glad_glGetBooleanv; |
| #define glGetBooleanv glad_glGetBooleanv |
| GLAD_API_CALL PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; |
| #define glGetBufferParameteriv glad_glGetBufferParameteriv |
| GLAD_API_CALL PFNGLGETERRORPROC glad_glGetError; |
| #define glGetError glad_glGetError |
| GLAD_API_CALL PFNGLGETFLOATVPROC glad_glGetFloatv; |
| #define glGetFloatv glad_glGetFloatv |
| GLAD_API_CALL PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; |
| #define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv |
| GLAD_API_CALL PFNGLGETINTEGERVPROC glad_glGetIntegerv; |
| #define glGetIntegerv glad_glGetIntegerv |
| GLAD_API_CALL PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; |
| #define glGetProgramInfoLog glad_glGetProgramInfoLog |
| GLAD_API_CALL PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; |
| #define glGetProgramiv glad_glGetProgramiv |
| GLAD_API_CALL PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; |
| #define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv |
| GLAD_API_CALL PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; |
| #define glGetShaderInfoLog glad_glGetShaderInfoLog |
| GLAD_API_CALL PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat; |
| #define glGetShaderPrecisionFormat glad_glGetShaderPrecisionFormat |
| GLAD_API_CALL PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; |
| #define glGetShaderSource glad_glGetShaderSource |
| GLAD_API_CALL PFNGLGETSHADERIVPROC glad_glGetShaderiv; |
| #define glGetShaderiv glad_glGetShaderiv |
| GLAD_API_CALL PFNGLGETSTRINGPROC glad_glGetString; |
| #define glGetString glad_glGetString |
| GLAD_API_CALL PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; |
| #define glGetTexParameterfv glad_glGetTexParameterfv |
| GLAD_API_CALL PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; |
| #define glGetTexParameteriv glad_glGetTexParameteriv |
| GLAD_API_CALL PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; |
| #define glGetUniformLocation glad_glGetUniformLocation |
| GLAD_API_CALL PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; |
| #define glGetUniformfv glad_glGetUniformfv |
| GLAD_API_CALL PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; |
| #define glGetUniformiv glad_glGetUniformiv |
| GLAD_API_CALL PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; |
| #define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv |
| GLAD_API_CALL PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; |
| #define glGetVertexAttribfv glad_glGetVertexAttribfv |
| GLAD_API_CALL PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; |
| #define glGetVertexAttribiv glad_glGetVertexAttribiv |
| GLAD_API_CALL PFNGLHINTPROC glad_glHint; |
| #define glHint glad_glHint |
| GLAD_API_CALL PFNGLISBUFFERPROC glad_glIsBuffer; |
| #define glIsBuffer glad_glIsBuffer |
| GLAD_API_CALL PFNGLISENABLEDPROC glad_glIsEnabled; |
| #define glIsEnabled glad_glIsEnabled |
| GLAD_API_CALL PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; |
| #define glIsFramebuffer glad_glIsFramebuffer |
| GLAD_API_CALL PFNGLISPROGRAMPROC glad_glIsProgram; |
| #define glIsProgram glad_glIsProgram |
| GLAD_API_CALL PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; |
| #define glIsRenderbuffer glad_glIsRenderbuffer |
| GLAD_API_CALL PFNGLISSHADERPROC glad_glIsShader; |
| #define glIsShader glad_glIsShader |
| GLAD_API_CALL PFNGLISTEXTUREPROC glad_glIsTexture; |
| #define glIsTexture glad_glIsTexture |
| GLAD_API_CALL PFNGLLINEWIDTHPROC glad_glLineWidth; |
| #define glLineWidth glad_glLineWidth |
| GLAD_API_CALL PFNGLLINKPROGRAMPROC glad_glLinkProgram; |
| #define glLinkProgram glad_glLinkProgram |
| GLAD_API_CALL PFNGLPIXELSTOREIPROC glad_glPixelStorei; |
| #define glPixelStorei glad_glPixelStorei |
| GLAD_API_CALL PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; |
| #define glPolygonOffset glad_glPolygonOffset |
| GLAD_API_CALL PFNGLREADPIXELSPROC glad_glReadPixels; |
| #define glReadPixels glad_glReadPixels |
| GLAD_API_CALL PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler; |
| #define glReleaseShaderCompiler glad_glReleaseShaderCompiler |
| GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; |
| #define glRenderbufferStorage glad_glRenderbufferStorage |
| GLAD_API_CALL PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; |
| #define glSampleCoverage glad_glSampleCoverage |
| GLAD_API_CALL PFNGLSCISSORPROC glad_glScissor; |
| #define glScissor glad_glScissor |
| GLAD_API_CALL PFNGLSHADERBINARYPROC glad_glShaderBinary; |
| #define glShaderBinary glad_glShaderBinary |
| GLAD_API_CALL PFNGLSHADERSOURCEPROC glad_glShaderSource; |
| #define glShaderSource glad_glShaderSource |
| GLAD_API_CALL PFNGLSTENCILFUNCPROC glad_glStencilFunc; |
| #define glStencilFunc glad_glStencilFunc |
| GLAD_API_CALL PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; |
| #define glStencilFuncSeparate glad_glStencilFuncSeparate |
| GLAD_API_CALL PFNGLSTENCILMASKPROC glad_glStencilMask; |
| #define glStencilMask glad_glStencilMask |
| GLAD_API_CALL PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; |
| #define glStencilMaskSeparate glad_glStencilMaskSeparate |
| GLAD_API_CALL PFNGLSTENCILOPPROC glad_glStencilOp; |
| #define glStencilOp glad_glStencilOp |
| GLAD_API_CALL PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; |
| #define glStencilOpSeparate glad_glStencilOpSeparate |
| GLAD_API_CALL PFNGLTEXIMAGE2DPROC glad_glTexImage2D; |
| #define glTexImage2D glad_glTexImage2D |
| GLAD_API_CALL PFNGLTEXPARAMETERFPROC glad_glTexParameterf; |
| #define glTexParameterf glad_glTexParameterf |
| GLAD_API_CALL PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; |
| #define glTexParameterfv glad_glTexParameterfv |
| GLAD_API_CALL PFNGLTEXPARAMETERIPROC glad_glTexParameteri; |
| #define glTexParameteri glad_glTexParameteri |
| GLAD_API_CALL PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; |
| #define glTexParameteriv glad_glTexParameteriv |
| GLAD_API_CALL PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; |
| #define glTexSubImage2D glad_glTexSubImage2D |
| GLAD_API_CALL PFNGLUNIFORM1FPROC glad_glUniform1f; |
| #define glUniform1f glad_glUniform1f |
| GLAD_API_CALL PFNGLUNIFORM1FVPROC glad_glUniform1fv; |
| #define glUniform1fv glad_glUniform1fv |
| GLAD_API_CALL PFNGLUNIFORM1IPROC glad_glUniform1i; |
| #define glUniform1i glad_glUniform1i |
| GLAD_API_CALL PFNGLUNIFORM1IVPROC glad_glUniform1iv; |
| #define glUniform1iv glad_glUniform1iv |
| GLAD_API_CALL PFNGLUNIFORM2FPROC glad_glUniform2f; |
| #define glUniform2f glad_glUniform2f |
| GLAD_API_CALL PFNGLUNIFORM2FVPROC glad_glUniform2fv; |
| #define glUniform2fv glad_glUniform2fv |
| GLAD_API_CALL PFNGLUNIFORM2IPROC glad_glUniform2i; |
| #define glUniform2i glad_glUniform2i |
| GLAD_API_CALL PFNGLUNIFORM2IVPROC glad_glUniform2iv; |
| #define glUniform2iv glad_glUniform2iv |
| GLAD_API_CALL PFNGLUNIFORM3FPROC glad_glUniform3f; |
| #define glUniform3f glad_glUniform3f |
| GLAD_API_CALL PFNGLUNIFORM3FVPROC glad_glUniform3fv; |
| #define glUniform3fv glad_glUniform3fv |
| GLAD_API_CALL PFNGLUNIFORM3IPROC glad_glUniform3i; |
| #define glUniform3i glad_glUniform3i |
| GLAD_API_CALL PFNGLUNIFORM3IVPROC glad_glUniform3iv; |
| #define glUniform3iv glad_glUniform3iv |
| GLAD_API_CALL PFNGLUNIFORM4FPROC glad_glUniform4f; |
| #define glUniform4f glad_glUniform4f |
| GLAD_API_CALL PFNGLUNIFORM4FVPROC glad_glUniform4fv; |
| #define glUniform4fv glad_glUniform4fv |
| GLAD_API_CALL PFNGLUNIFORM4IPROC glad_glUniform4i; |
| #define glUniform4i glad_glUniform4i |
| GLAD_API_CALL PFNGLUNIFORM4IVPROC glad_glUniform4iv; |
| #define glUniform4iv glad_glUniform4iv |
| GLAD_API_CALL PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; |
| #define glUniformMatrix2fv glad_glUniformMatrix2fv |
| GLAD_API_CALL PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; |
| #define glUniformMatrix3fv glad_glUniformMatrix3fv |
| GLAD_API_CALL PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; |
| #define glUniformMatrix4fv glad_glUniformMatrix4fv |
| GLAD_API_CALL PFNGLUSEPROGRAMPROC glad_glUseProgram; |
| #define glUseProgram glad_glUseProgram |
| GLAD_API_CALL PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; |
| #define glValidateProgram glad_glValidateProgram |
| GLAD_API_CALL PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; |
| #define glVertexAttrib1f glad_glVertexAttrib1f |
| GLAD_API_CALL PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; |
| #define glVertexAttrib1fv glad_glVertexAttrib1fv |
| GLAD_API_CALL PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; |
| #define glVertexAttrib2f glad_glVertexAttrib2f |
| GLAD_API_CALL PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; |
| #define glVertexAttrib2fv glad_glVertexAttrib2fv |
| GLAD_API_CALL PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; |
| #define glVertexAttrib3f glad_glVertexAttrib3f |
| GLAD_API_CALL PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; |
| #define glVertexAttrib3fv glad_glVertexAttrib3fv |
| GLAD_API_CALL PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; |
| #define glVertexAttrib4f glad_glVertexAttrib4f |
| GLAD_API_CALL PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; |
| #define glVertexAttrib4fv glad_glVertexAttrib4fv |
| GLAD_API_CALL PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; |
| #define glVertexAttribPointer glad_glVertexAttribPointer |
| GLAD_API_CALL PFNGLVIEWPORTPROC glad_glViewport; |
| #define glViewport glad_glViewport |
| |
| |
| |
| |
| |
| GLAD_API_CALL int gladLoadGLES2UserPtr( GLADuserptrloadfunc load, void *userptr); |
| GLAD_API_CALL int gladLoadGLES2( GLADloadfunc load); |
| |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif |
| |
| /* Source */ |
| #ifdef GLAD_GLES2_IMPLEMENTATION |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| |
| #ifndef GLAD_IMPL_UTIL_C_ |
| #define GLAD_IMPL_UTIL_C_ |
| |
| #ifdef _MSC_VER |
| #define GLAD_IMPL_UTIL_SSCANF sscanf_s |
| #else |
| #define GLAD_IMPL_UTIL_SSCANF sscanf |
| #endif |
| |
| #endif /* GLAD_IMPL_UTIL_C_ */ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| |
| |
| int GLAD_GL_ES_VERSION_2_0 = 0; |
| |
| |
| |
| PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL; |
| PFNGLATTACHSHADERPROC glad_glAttachShader = NULL; |
| PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL; |
| PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL; |
| PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL; |
| PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL; |
| PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL; |
| PFNGLBLENDCOLORPROC glad_glBlendColor = NULL; |
| PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL; |
| PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL; |
| PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL; |
| PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL; |
| PFNGLBUFFERDATAPROC glad_glBufferData = NULL; |
| PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL; |
| PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL; |
| PFNGLCLEARPROC glad_glClear = NULL; |
| PFNGLCLEARCOLORPROC glad_glClearColor = NULL; |
| PFNGLCLEARDEPTHFPROC glad_glClearDepthf = NULL; |
| PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL; |
| PFNGLCOLORMASKPROC glad_glColorMask = NULL; |
| PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL; |
| PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL; |
| PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL; |
| PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL; |
| PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL; |
| PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL; |
| PFNGLCREATESHADERPROC glad_glCreateShader = NULL; |
| PFNGLCULLFACEPROC glad_glCullFace = NULL; |
| PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL; |
| PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL; |
| PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL; |
| PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL; |
| PFNGLDELETESHADERPROC glad_glDeleteShader = NULL; |
| PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL; |
| PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL; |
| PFNGLDEPTHMASKPROC glad_glDepthMask = NULL; |
| PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL; |
| PFNGLDETACHSHADERPROC glad_glDetachShader = NULL; |
| PFNGLDISABLEPROC glad_glDisable = NULL; |
| PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL; |
| PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL; |
| PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL; |
| PFNGLENABLEPROC glad_glEnable = NULL; |
| PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL; |
| PFNGLFINISHPROC glad_glFinish = NULL; |
| PFNGLFLUSHPROC glad_glFlush = NULL; |
| PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL; |
| PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL; |
| PFNGLFRONTFACEPROC glad_glFrontFace = NULL; |
| PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL; |
| PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL; |
| PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL; |
| PFNGLGENTEXTURESPROC glad_glGenTextures = NULL; |
| PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL; |
| PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL; |
| PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL; |
| PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL; |
| PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL; |
| PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL; |
| PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL; |
| PFNGLGETERRORPROC glad_glGetError = NULL; |
| PFNGLGETFLOATVPROC glad_glGetFloatv = NULL; |
| PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL; |
| PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL; |
| PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL; |
| PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL; |
| PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL; |
| PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL; |
| PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat = NULL; |
| PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL; |
| PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL; |
| PFNGLGETSTRINGPROC glad_glGetString = NULL; |
| PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL; |
| PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL; |
| PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL; |
| PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL; |
| PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL; |
| PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL; |
| PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL; |
| PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL; |
| PFNGLHINTPROC glad_glHint = NULL; |
| PFNGLISBUFFERPROC glad_glIsBuffer = NULL; |
| PFNGLISENABLEDPROC glad_glIsEnabled = NULL; |
| PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL; |
| PFNGLISPROGRAMPROC glad_glIsProgram = NULL; |
| PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL; |
| PFNGLISSHADERPROC glad_glIsShader = NULL; |
| PFNGLISTEXTUREPROC glad_glIsTexture = NULL; |
| PFNGLLINEWIDTHPROC glad_glLineWidth = NULL; |
| PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL; |
| PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL; |
| PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL; |
| PFNGLREADPIXELSPROC glad_glReadPixels = NULL; |
| PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler = NULL; |
| PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL; |
| PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL; |
| PFNGLSCISSORPROC glad_glScissor = NULL; |
| PFNGLSHADERBINARYPROC glad_glShaderBinary = NULL; |
| PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL; |
| PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL; |
| PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL; |
| PFNGLSTENCILMASKPROC glad_glStencilMask = NULL; |
| PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL; |
| PFNGLSTENCILOPPROC glad_glStencilOp = NULL; |
| PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL; |
| PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL; |
| PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL; |
| PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL; |
| PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL; |
| PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL; |
| PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL; |
| PFNGLUNIFORM1FPROC glad_glUniform1f = NULL; |
| PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL; |
| PFNGLUNIFORM1IPROC glad_glUniform1i = NULL; |
| PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL; |
| PFNGLUNIFORM2FPROC glad_glUniform2f = NULL; |
| PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL; |
| PFNGLUNIFORM2IPROC glad_glUniform2i = NULL; |
| PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL; |
| PFNGLUNIFORM3FPROC glad_glUniform3f = NULL; |
| PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL; |
| PFNGLUNIFORM3IPROC glad_glUniform3i = NULL; |
| PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL; |
| PFNGLUNIFORM4FPROC glad_glUniform4f = NULL; |
| PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL; |
| PFNGLUNIFORM4IPROC glad_glUniform4i = NULL; |
| PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL; |
| PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL; |
| PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL; |
| PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL; |
| PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL; |
| PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL; |
| PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL; |
| PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL; |
| PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL; |
| PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL; |
| PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL; |
| PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL; |
| PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL; |
| PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL; |
| PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL; |
| PFNGLVIEWPORTPROC glad_glViewport = NULL; |
| |
| |
| static void glad_gl_load_GL_ES_VERSION_2_0( GLADuserptrloadfunc load, void* userptr) { |
| if(!GLAD_GL_ES_VERSION_2_0) return; |
| glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC) load(userptr, "glActiveTexture"); |
| glad_glAttachShader = (PFNGLATTACHSHADERPROC) load(userptr, "glAttachShader"); |
| glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC) load(userptr, "glBindAttribLocation"); |
| glad_glBindBuffer = (PFNGLBINDBUFFERPROC) load(userptr, "glBindBuffer"); |
| glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) load(userptr, "glBindFramebuffer"); |
| glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) load(userptr, "glBindRenderbuffer"); |
| glad_glBindTexture = (PFNGLBINDTEXTUREPROC) load(userptr, "glBindTexture"); |
| glad_glBlendColor = (PFNGLBLENDCOLORPROC) load(userptr, "glBlendColor"); |
| glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC) load(userptr, "glBlendEquation"); |
| glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC) load(userptr, "glBlendEquationSeparate"); |
| glad_glBlendFunc = (PFNGLBLENDFUNCPROC) load(userptr, "glBlendFunc"); |
| glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC) load(userptr, "glBlendFuncSeparate"); |
| glad_glBufferData = (PFNGLBUFFERDATAPROC) load(userptr, "glBufferData"); |
| glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC) load(userptr, "glBufferSubData"); |
| glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) load(userptr, "glCheckFramebufferStatus"); |
| glad_glClear = (PFNGLCLEARPROC) load(userptr, "glClear"); |
| glad_glClearColor = (PFNGLCLEARCOLORPROC) load(userptr, "glClearColor"); |
| glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC) load(userptr, "glClearDepthf"); |
| glad_glClearStencil = (PFNGLCLEARSTENCILPROC) load(userptr, "glClearStencil"); |
| glad_glColorMask = (PFNGLCOLORMASKPROC) load(userptr, "glColorMask"); |
| glad_glCompileShader = (PFNGLCOMPILESHADERPROC) load(userptr, "glCompileShader"); |
| glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC) load(userptr, "glCompressedTexImage2D"); |
| glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) load(userptr, "glCompressedTexSubImage2D"); |
| glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC) load(userptr, "glCopyTexImage2D"); |
| glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC) load(userptr, "glCopyTexSubImage2D"); |
| glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC) load(userptr, "glCreateProgram"); |
| glad_glCreateShader = (PFNGLCREATESHADERPROC) load(userptr, "glCreateShader"); |
| glad_glCullFace = (PFNGLCULLFACEPROC) load(userptr, "glCullFace"); |
| glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC) load(userptr, "glDeleteBuffers"); |
| glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) load(userptr, "glDeleteFramebuffers"); |
| glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC) load(userptr, "glDeleteProgram"); |
| glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) load(userptr, "glDeleteRenderbuffers"); |
| glad_glDeleteShader = (PFNGLDELETESHADERPROC) load(userptr, "glDeleteShader"); |
| glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC) load(userptr, "glDeleteTextures"); |
| glad_glDepthFunc = (PFNGLDEPTHFUNCPROC) load(userptr, "glDepthFunc"); |
| glad_glDepthMask = (PFNGLDEPTHMASKPROC) load(userptr, "glDepthMask"); |
| glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC) load(userptr, "glDepthRangef"); |
| glad_glDetachShader = (PFNGLDETACHSHADERPROC) load(userptr, "glDetachShader"); |
| glad_glDisable = (PFNGLDISABLEPROC) load(userptr, "glDisable"); |
| glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) load(userptr, "glDisableVertexAttribArray"); |
| glad_glDrawArrays = (PFNGLDRAWARRAYSPROC) load(userptr, "glDrawArrays"); |
| glad_glDrawElements = (PFNGLDRAWELEMENTSPROC) load(userptr, "glDrawElements"); |
| glad_glEnable = (PFNGLENABLEPROC) load(userptr, "glEnable"); |
| glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC) load(userptr, "glEnableVertexAttribArray"); |
| glad_glFinish = (PFNGLFINISHPROC) load(userptr, "glFinish"); |
| glad_glFlush = (PFNGLFLUSHPROC) load(userptr, "glFlush"); |
| glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) load(userptr, "glFramebufferRenderbuffer"); |
| glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) load(userptr, "glFramebufferTexture2D"); |
| glad_glFrontFace = (PFNGLFRONTFACEPROC) load(userptr, "glFrontFace"); |
| glad_glGenBuffers = (PFNGLGENBUFFERSPROC) load(userptr, "glGenBuffers"); |
| glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) load(userptr, "glGenFramebuffers"); |
| glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) load(userptr, "glGenRenderbuffers"); |
| glad_glGenTextures = (PFNGLGENTEXTURESPROC) load(userptr, "glGenTextures"); |
| glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) load(userptr, "glGenerateMipmap"); |
| glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC) load(userptr, "glGetActiveAttrib"); |
| glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC) load(userptr, "glGetActiveUniform"); |
| glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC) load(userptr, "glGetAttachedShaders"); |
| glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC) load(userptr, "glGetAttribLocation"); |
| glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC) load(userptr, "glGetBooleanv"); |
| glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC) load(userptr, "glGetBufferParameteriv"); |
| glad_glGetError = (PFNGLGETERRORPROC) load(userptr, "glGetError"); |
| glad_glGetFloatv = (PFNGLGETFLOATVPROC) load(userptr, "glGetFloatv"); |
| glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load(userptr, "glGetFramebufferAttachmentParameteriv"); |
| glad_glGetIntegerv = (PFNGLGETINTEGERVPROC) load(userptr, "glGetIntegerv"); |
| glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) load(userptr, "glGetProgramInfoLog"); |
| glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC) load(userptr, "glGetProgramiv"); |
| glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) load(userptr, "glGetRenderbufferParameteriv"); |
| glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) load(userptr, "glGetShaderInfoLog"); |
| glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) load(userptr, "glGetShaderPrecisionFormat"); |
| glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC) load(userptr, "glGetShaderSource"); |
| glad_glGetShaderiv = (PFNGLGETSHADERIVPROC) load(userptr, "glGetShaderiv"); |
| glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString"); |
| glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC) load(userptr, "glGetTexParameterfv"); |
| glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC) load(userptr, "glGetTexParameteriv"); |
| glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC) load(userptr, "glGetUniformLocation"); |
| glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC) load(userptr, "glGetUniformfv"); |
| glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC) load(userptr, "glGetUniformiv"); |
| glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC) load(userptr, "glGetVertexAttribPointerv"); |
| glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC) load(userptr, "glGetVertexAttribfv"); |
| glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC) load(userptr, "glGetVertexAttribiv"); |
| glad_glHint = (PFNGLHINTPROC) load(userptr, "glHint"); |
| glad_glIsBuffer = (PFNGLISBUFFERPROC) load(userptr, "glIsBuffer"); |
| glad_glIsEnabled = (PFNGLISENABLEDPROC) load(userptr, "glIsEnabled"); |
| glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) load(userptr, "glIsFramebuffer"); |
| glad_glIsProgram = (PFNGLISPROGRAMPROC) load(userptr, "glIsProgram"); |
| glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) load(userptr, "glIsRenderbuffer"); |
| glad_glIsShader = (PFNGLISSHADERPROC) load(userptr, "glIsShader"); |
| glad_glIsTexture = (PFNGLISTEXTUREPROC) load(userptr, "glIsTexture"); |
| glad_glLineWidth = (PFNGLLINEWIDTHPROC) load(userptr, "glLineWidth"); |
| glad_glLinkProgram = (PFNGLLINKPROGRAMPROC) load(userptr, "glLinkProgram"); |
| glad_glPixelStorei = (PFNGLPIXELSTOREIPROC) load(userptr, "glPixelStorei"); |
| glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC) load(userptr, "glPolygonOffset"); |
| glad_glReadPixels = (PFNGLREADPIXELSPROC) load(userptr, "glReadPixels"); |
| glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) load(userptr, "glReleaseShaderCompiler"); |
| glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) load(userptr, "glRenderbufferStorage"); |
| glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC) load(userptr, "glSampleCoverage"); |
| glad_glScissor = (PFNGLSCISSORPROC) load(userptr, "glScissor"); |
| glad_glShaderBinary = (PFNGLSHADERBINARYPROC) load(userptr, "glShaderBinary"); |
| glad_glShaderSource = (PFNGLSHADERSOURCEPROC) load(userptr, "glShaderSource"); |
| glad_glStencilFunc = (PFNGLSTENCILFUNCPROC) load(userptr, "glStencilFunc"); |
| glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) load(userptr, "glStencilFuncSeparate"); |
| glad_glStencilMask = (PFNGLSTENCILMASKPROC) load(userptr, "glStencilMask"); |
| glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) load(userptr, "glStencilMaskSeparate"); |
| glad_glStencilOp = (PFNGLSTENCILOPPROC) load(userptr, "glStencilOp"); |
| glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) load(userptr, "glStencilOpSeparate"); |
| glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC) load(userptr, "glTexImage2D"); |
| glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC) load(userptr, "glTexParameterf"); |
| glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC) load(userptr, "glTexParameterfv"); |
| glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC) load(userptr, "glTexParameteri"); |
| glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC) load(userptr, "glTexParameteriv"); |
| glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC) load(userptr, "glTexSubImage2D"); |
| glad_glUniform1f = (PFNGLUNIFORM1FPROC) load(userptr, "glUniform1f"); |
| glad_glUniform1fv = (PFNGLUNIFORM1FVPROC) load(userptr, "glUniform1fv"); |
| glad_glUniform1i = (PFNGLUNIFORM1IPROC) load(userptr, "glUniform1i"); |
| glad_glUniform1iv = (PFNGLUNIFORM1IVPROC) load(userptr, "glUniform1iv"); |
| glad_glUniform2f = (PFNGLUNIFORM2FPROC) load(userptr, "glUniform2f"); |
| glad_glUniform2fv = (PFNGLUNIFORM2FVPROC) load(userptr, "glUniform2fv"); |
| glad_glUniform2i = (PFNGLUNIFORM2IPROC) load(userptr, "glUniform2i"); |
| glad_glUniform2iv = (PFNGLUNIFORM2IVPROC) load(userptr, "glUniform2iv"); |
| glad_glUniform3f = (PFNGLUNIFORM3FPROC) load(userptr, "glUniform3f"); |
| glad_glUniform3fv = (PFNGLUNIFORM3FVPROC) load(userptr, "glUniform3fv"); |
| glad_glUniform3i = (PFNGLUNIFORM3IPROC) load(userptr, "glUniform3i"); |
| glad_glUniform3iv = (PFNGLUNIFORM3IVPROC) load(userptr, "glUniform3iv"); |
| glad_glUniform4f = (PFNGLUNIFORM4FPROC) load(userptr, "glUniform4f"); |
| glad_glUniform4fv = (PFNGLUNIFORM4FVPROC) load(userptr, "glUniform4fv"); |
| glad_glUniform4i = (PFNGLUNIFORM4IPROC) load(userptr, "glUniform4i"); |
| glad_glUniform4iv = (PFNGLUNIFORM4IVPROC) load(userptr, "glUniform4iv"); |
| glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC) load(userptr, "glUniformMatrix2fv"); |
| glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC) load(userptr, "glUniformMatrix3fv"); |
| glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) load(userptr, "glUniformMatrix4fv"); |
| glad_glUseProgram = (PFNGLUSEPROGRAMPROC) load(userptr, "glUseProgram"); |
| glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC) load(userptr, "glValidateProgram"); |
| glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC) load(userptr, "glVertexAttrib1f"); |
| glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC) load(userptr, "glVertexAttrib1fv"); |
| glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC) load(userptr, "glVertexAttrib2f"); |
| glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC) load(userptr, "glVertexAttrib2fv"); |
| glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC) load(userptr, "glVertexAttrib3f"); |
| glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC) load(userptr, "glVertexAttrib3fv"); |
| glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC) load(userptr, "glVertexAttrib4f"); |
| glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC) load(userptr, "glVertexAttrib4fv"); |
| glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) load(userptr, "glVertexAttribPointer"); |
| glad_glViewport = (PFNGLVIEWPORTPROC) load(userptr, "glViewport"); |
| } |
| |
| |
| |
| #if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) |
| #define GLAD_GL_IS_SOME_NEW_VERSION 1 |
| #else |
| #define GLAD_GL_IS_SOME_NEW_VERSION 0 |
| #endif |
| |
| static int glad_gl_get_extensions( int version, const char **out_exts, unsigned int *out_num_exts_i, char ***out_exts_i) { |
| #if GLAD_GL_IS_SOME_NEW_VERSION |
| if(GLAD_VERSION_MAJOR(version) < 3) { |
| #else |
| (void) version; |
| (void) out_num_exts_i; |
| (void) out_exts_i; |
| #endif |
| if (glad_glGetString == NULL) { |
| return 0; |
| } |
| *out_exts = (const char *)glad_glGetString(GL_EXTENSIONS); |
| #if GLAD_GL_IS_SOME_NEW_VERSION |
| } else { |
| unsigned int index = 0; |
| unsigned int num_exts_i = 0; |
| char **exts_i = NULL; |
| if (glad_glGetStringi == NULL || glad_glGetIntegerv == NULL) { |
| return 0; |
| } |
| glad_glGetIntegerv(GL_NUM_EXTENSIONS, (int*) &num_exts_i); |
| if (num_exts_i > 0) { |
| exts_i = (char **) malloc(num_exts_i * (sizeof *exts_i)); |
| } |
| if (exts_i == NULL) { |
| return 0; |
| } |
| for(index = 0; index < num_exts_i; index++) { |
| const char *gl_str_tmp = (const char*) glad_glGetStringi(GL_EXTENSIONS, index); |
| size_t len = strlen(gl_str_tmp) + 1; |
| |
| char *local_str = (char*) malloc(len * sizeof(char)); |
| if(local_str != NULL) { |
| memcpy(local_str, gl_str_tmp, len * sizeof(char)); |
| } |
| |
| exts_i[index] = local_str; |
| } |
| |
| *out_num_exts_i = num_exts_i; |
| *out_exts_i = exts_i; |
| } |
| #endif |
| return 1; |
| } |
| static void glad_gl_free_extensions(char **exts_i, unsigned int num_exts_i) { |
| if (exts_i != NULL) { |
| unsigned int index; |
| for(index = 0; index < num_exts_i; index++) { |
| free((void *) (exts_i[index])); |
| } |
| free((void *)exts_i); |
| exts_i = NULL; |
| } |
| } |
| static int glad_gl_has_extension(int version, const char *exts, unsigned int num_exts_i, char **exts_i, const char *ext) { |
| if(GLAD_VERSION_MAJOR(version) < 3 || !GLAD_GL_IS_SOME_NEW_VERSION) { |
| const char *extensions; |
| const char *loc; |
| const char *terminator; |
| extensions = exts; |
| if(extensions == NULL || ext == NULL) { |
| return 0; |
| } |
| while(1) { |
| loc = strstr(extensions, ext); |
| if(loc == NULL) { |
| return 0; |
| } |
| terminator = loc + strlen(ext); |
| if((loc == extensions || *(loc - 1) == ' ') && |
| (*terminator == ' ' || *terminator == '\0')) { |
| return 1; |
| } |
| extensions = terminator; |
| } |
| } else { |
| unsigned int index; |
| for(index = 0; index < num_exts_i; index++) { |
| const char *e = exts_i[index]; |
| if(strcmp(e, ext) == 0) { |
| return 1; |
| } |
| } |
| } |
| return 0; |
| } |
| |
| static GLADapiproc glad_gl_get_proc_from_userptr(void *userptr, const char* name) { |
| return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name); |
| } |
| |
| static int glad_gl_find_extensions_gles2( int version) { |
| const char *exts = NULL; |
| unsigned int num_exts_i = 0; |
| char **exts_i = NULL; |
| if (!glad_gl_get_extensions(version, &exts, &num_exts_i, &exts_i)) return 0; |
| |
| (void) glad_gl_has_extension; |
| |
| glad_gl_free_extensions(exts_i, num_exts_i); |
| |
| return 1; |
| } |
| |
| static int glad_gl_find_core_gles2(void) { |
| int i; |
| const char* version; |
| const char* prefixes[] = { |
| "OpenGL ES-CM ", |
| "OpenGL ES-CL ", |
| "OpenGL ES ", |
| "OpenGL SC ", |
| NULL |
| }; |
| int major = 0; |
| int minor = 0; |
| version = (const char*) glad_glGetString(GL_VERSION); |
| if (!version) return 0; |
| for (i = 0; prefixes[i]; i++) { |
| const size_t length = strlen(prefixes[i]); |
| if (strncmp(version, prefixes[i], length) == 0) { |
| version += length; |
| break; |
| } |
| } |
| |
| GLAD_IMPL_UTIL_SSCANF(version, "%d.%d", &major, &minor); |
| |
| GLAD_GL_ES_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2; |
| |
| return GLAD_MAKE_VERSION(major, minor); |
| } |
| |
| int gladLoadGLES2UserPtr( GLADuserptrloadfunc load, void *userptr) { |
| int version; |
| |
| glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString"); |
| if(glad_glGetString == NULL) return 0; |
| if(glad_glGetString(GL_VERSION) == NULL) return 0; |
| version = glad_gl_find_core_gles2(); |
| |
| glad_gl_load_GL_ES_VERSION_2_0(load, userptr); |
| |
| if (!glad_gl_find_extensions_gles2(version)) return 0; |
| |
| |
| |
| return version; |
| } |
| |
| |
| int gladLoadGLES2( GLADloadfunc load) { |
| return gladLoadGLES2UserPtr( glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load); |
| } |
| |
| |
| |
| |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* GLAD_GLES2_IMPLEMENTATION */ |
| |