|
- { ============================================================================
-
- OpenGL 4.5 - Headertranslation
- Version 4.5
-
- Supported environments and targets :
- - (Linux) FreePascal (1.9.3 and up)
-
- ==============================================================================
-
- Copyright (C) DGL-OpenGL-Portteam
- All Rights Reserved
-
- Obtained through:
- - Delphi OpenGL Community(DGL) - www.delphigl.com
-
- Converted and maintained by DGL's OpenGL-Portteam :
- - Bergmann89 - http://www.bergmann89.de
-
- ==============================================================================
-
- You may retrieve the latest version of this file at the Delphi OpenGL
- Community home page, located at http://www.delphigl.com/
-
- The contents of this file are used with permission, subject to
- the Mozilla Public License Version 1.1 (the "License"); you may
- not use this file except in compliance with the License. You may
- obtain a copy of the License at
- http://www.mozilla.org/MPL/MPL-1.1.html
-
- Software distributed under the License is distributed on an
- "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- implied. See the License for the specific language governing
- rights and limitations under the License.
-
- ============================================================================== }
-
- unit dglOpenGLES;
-
- interface
-
- {$IFDEF FPC}
- {$MODE Delphi}
- {$ENDIF}
-
- // detecting Linux
- {$IFDEF linux} // Linux
- {$DEFINE DGL_LINUX}
- {$ENDIF}
-
- //check if system is supported and set system dependent constants
- uses
- sysutils
- {$IFDEF DGL_LINUX}
- , dl
- {$ENDIF}
- ;
-
- {$IFDEF DGL_LINUX}
- const
- LIBNAME_OPENGLES = 'libGLESv2.so';
- LIBNAME_EGL = 'libEGL.so';
-
- {$ELSE}
- {$ERROR 'unknown/unsupported system'}
-
- {$ENDIF}
-
- { ================================================== OpenGL Es ======================================================= }
- type
- { OpenGL ES 2.0 }
- GLbyte = Byte;
- GLclampf = Single;
- GLfixed = Integer;
- GLshort = ShortInt;
- GLushort = Word;
- GLvoid = Pointer;
- GLint64 = Int64;
- GLuint64 = UInt64;
- GLenum = Cardinal;
- GLuint = Cardinal;
- GLchar = AnsiChar;
- GLbitfield = Cardinal;
- GLint = Integer;
- GLboolean = ByteBool;
- GLsizei = Integer;
- GLfloat = Single;
-
- PGLbyte = ^GLbyte;
- PGLclampf = ^GLclampf;
- PGLfixed = ^GLfixed;
- PGLshort = ^GLshort;
- PGLushort = ^GLushort;
- PGLvoid = Pointer;
- PPGLvoid = ^PGLvoid;
- PGLint64 = ^GLint64;
- PGLuint64 = ^GLuint64;
- PGLenum = ^GLenum;
- PGLuint = ^GLuint;
- PGLchar = ^GLchar;
- PPGLchar = ^PGLChar;
- PGLbitfield = ^GLbitfield;
- PGLint = ^GLint;
- PGLboolean = ^GLboolean;
- PGLsizei = ^GLsizei;
- PGLfloat = ^GLfloat;
-
- { OpenGL ES 3.0 }
- GLsync = Pointer;
-
-
- const
- { OpenGL ES 2.0 }
- GL_DEPTH_BUFFER_BIT = $00000100;
- GL_STENCIL_BUFFER_BIT = $00000400;
- GL_COLOR_BUFFER_BIT = $00004000;
- GL_FALSE = $0000;
- GL_TRUE = $0001;
- GL_POINTS = $0000;
- GL_LINES = $0001;
- GL_LINE_LOOP = $0002;
- GL_LINE_STRIP = $0003;
- GL_TRIANGLES = $0004;
- GL_TRIANGLE_STRIP = $0005;
- GL_TRIANGLE_FAN = $0006;
- GL_ZERO = $0000;
- GL_ONE = $0001;
- GL_SRC_COLOR = $0300;
- GL_ONE_MINUS_SRC_COLOR = $0301;
- GL_SRC_ALPHA = $0302;
- GL_ONE_MINUS_SRC_ALPHA = $0303;
- GL_DST_ALPHA = $0304;
- GL_ONE_MINUS_DST_ALPHA = $0305;
- GL_DST_COLOR = $0306;
- GL_ONE_MINUS_DST_COLOR = $0307;
- GL_SRC_ALPHA_SATURATE = $0308;
- GL_FUNC_ADD = $8006;
- GL_BLEND_EQUATION = $8009;
- GL_BLEND_EQUATION_RGB = $8009;
- GL_BLEND_EQUATION_ALPHA = $883D;
- GL_FUNC_SUBTRACT = $800A;
- GL_FUNC_REVERSE_SUBTRACT = $800B;
- GL_BLEND_DST_RGB = $80C8;
- GL_BLEND_SRC_RGB = $80C9;
- GL_BLEND_DST_ALPHA = $80CA;
- GL_BLEND_SRC_ALPHA = $80CB;
- GL_CONSTANT_COLOR = $8001;
- GL_ONE_MINUS_CONSTANT_COLOR = $8002;
- GL_CONSTANT_ALPHA = $8003;
- GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
- GL_BLEND_COLOR = $8005;
- GL_ARRAY_BUFFER = $8892;
- GL_ELEMENT_ARRAY_BUFFER = $8893;
- GL_ARRAY_BUFFER_BINDING = $8894;
- GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
- GL_STREAM_DRAW = $88E0;
- GL_STATIC_DRAW = $88E4;
- GL_DYNAMIC_DRAW = $88E8;
- GL_BUFFER_SIZE = $8764;
- GL_BUFFER_USAGE = $8765;
- GL_CURRENT_VERTEX_ATTRIB = $8626;
- GL_FRONT = $0404;
- GL_BACK = $0405;
- GL_FRONT_AND_BACK = $0408;
- GL_TEXTURE_2D = $0DE1;
- GL_CULL_FACE = $0B44;
- GL_BLEND = $0BE2;
- GL_DITHER = $0BD0;
- GL_STENCIL_TEST = $0B90;
- GL_DEPTH_TEST = $0B71;
- GL_SCISSOR_TEST = $0C11;
- GL_POLYGON_OFFSET_FILL = $8037;
- GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
- GL_SAMPLE_COVERAGE = $80A0;
- GL_NO_ERROR = $0000;
- GL_INVALID_ENUM = $0500;
- GL_INVALID_VALUE = $0501;
- GL_INVALID_OPERATION = $0502;
- GL_OUT_OF_MEMORY = $0505;
- GL_CW = $0900;
- GL_CCW = $0901;
- GL_LINE_WIDTH = $0B21;
- GL_ALIASED_POINT_SIZE_RANGE = $846D;
- GL_ALIASED_LINE_WIDTH_RANGE = $846E;
- GL_CULL_FACE_MODE = $0B45;
- GL_FRONT_FACE = $0B46;
- GL_DEPTH_RANGE = $0B70;
- GL_DEPTH_WRITEMASK = $0B72;
- GL_DEPTH_CLEAR_VALUE = $0B73;
- GL_DEPTH_FUNC = $0B74;
- GL_STENCIL_CLEAR_VALUE = $0B91;
- GL_STENCIL_FUNC = $0B92;
- GL_STENCIL_FAIL = $0B94;
- GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
- GL_STENCIL_PASS_DEPTH_PASS = $0B96;
- GL_STENCIL_REF = $0B97;
- GL_STENCIL_VALUE_MASK = $0B93;
- GL_STENCIL_WRITEMASK = $0B98;
- GL_STENCIL_BACK_FUNC = $8800;
- GL_STENCIL_BACK_FAIL = $8801;
- GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
- GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803;
- GL_STENCIL_BACK_REF = $8CA3;
- GL_STENCIL_BACK_VALUE_MASK = $8CA4;
- GL_STENCIL_BACK_WRITEMASK = $8CA5;
- GL_VIEWPORT = $0BA2;
- GL_SCISSOR_BOX = $0C10;
- GL_COLOR_CLEAR_VALUE = $0C22;
- GL_COLOR_WRITEMASK = $0C23;
- GL_UNPACK_ALIGNMENT = $0CF5;
- GL_PACK_ALIGNMENT = $0D05;
- GL_MAX_TEXTURE_SIZE = $0D33;
- GL_MAX_VIEWPORT_DIMS = $0D3A;
- GL_SUBPIXEL_BITS = $0D50;
- GL_RED_BITS = $0D52;
- GL_GREEN_BITS = $0D53;
- GL_BLUE_BITS = $0D54;
- GL_ALPHA_BITS = $0D55;
- GL_DEPTH_BITS = $0D56;
- GL_STENCIL_BITS = $0D57;
- GL_POLYGON_OFFSET_UNITS = $2A00;
- GL_POLYGON_OFFSET_FACTOR = $8038;
- GL_TEXTURE_BINDING_2D = $8069;
- GL_SAMPLE_BUFFERS = $80A8;
- GL_SAMPLES = $80A9;
- GL_SAMPLE_COVERAGE_VALUE = $80AA;
- GL_SAMPLE_COVERAGE_INVERT = $80AB;
- GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
- GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
- GL_DONT_CARE = $1100;
- GL_FASTEST = $1101;
- GL_NICEST = $1102;
- GL_GENERATE_MIPMAP_HINT = $8192;
- GL_BYTE = $1400;
- GL_UNSIGNED_BYTE = $1401;
- GL_SHORT = $1402;
- GL_UNSIGNED_SHORT = $1403;
- GL_INT = $1404;
- GL_UNSIGNED_INT = $1405;
- GL_FLOAT = $1406;
- GL_FIXED = $140C;
- GL_DEPTH_COMPONENT = $1902;
- GL_ALPHA = $1906;
- GL_RGB = $1907;
- GL_RGBA = $1908;
- GL_LUMINANCE = $1909;
- GL_LUMINANCE_ALPHA = $190A;
- GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
- GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
- GL_UNSIGNED_SHORT_5_6_5 = $8363;
- GL_FRAGMENT_SHADER = $8B30;
- GL_VERTEX_SHADER = $8B31;
- GL_MAX_VERTEX_ATTRIBS = $8869;
- GL_MAX_VERTEX_UNIFORM_VECTORS = $8DFB;
- GL_MAX_VARYING_VECTORS = $8DFC;
- GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
- GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
- GL_MAX_TEXTURE_IMAGE_UNITS = $8872;
- GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD;
- GL_SHADER_TYPE = $8B4F;
- GL_DELETE_STATUS = $8B80;
- GL_LINK_STATUS = $8B82;
- GL_VALIDATE_STATUS = $8B83;
- GL_ATTACHED_SHADERS = $8B85;
- GL_ACTIVE_UNIFORMS = $8B86;
- GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87;
- GL_ACTIVE_ATTRIBUTES = $8B89;
- GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A;
- GL_SHADING_LANGUAGE_VERSION = $8B8C;
- GL_CURRENT_PROGRAM = $8B8D;
- GL_NEVER = $0200;
- GL_LESS = $0201;
- GL_EQUAL = $0202;
- GL_LEQUAL = $0203;
- GL_GREATER = $0204;
- GL_NOTEQUAL = $0205;
- GL_GEQUAL = $0206;
- GL_ALWAYS = $0207;
- GL_KEEP = $1E00;
- GL_REPLACE = $1E01;
- GL_INCR = $1E02;
- GL_DECR = $1E03;
- GL_INVERT = $150A;
- GL_INCR_WRAP = $8507;
- GL_DECR_WRAP = $8508;
- GL_VENDOR = $1F00;
- GL_RENDERER = $1F01;
- GL_VERSION = $1F02;
- GL_EXTENSIONS = $1F03;
- GL_NEAREST = $2600;
- GL_LINEAR = $2601;
- GL_NEAREST_MIPMAP_NEAREST = $2700;
- GL_LINEAR_MIPMAP_NEAREST = $2701;
- GL_NEAREST_MIPMAP_LINEAR = $2702;
- GL_LINEAR_MIPMAP_LINEAR = $2703;
- GL_TEXTURE_MAG_FILTER = $2800;
- GL_TEXTURE_MIN_FILTER = $2801;
- GL_TEXTURE_WRAP_S = $2802;
- GL_TEXTURE_WRAP_T = $2803;
- GL_TEXTURE = $1702;
- GL_TEXTURE_CUBE_MAP = $8513;
- GL_TEXTURE_BINDING_CUBE_MAP = $8514;
- GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
- GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
- GL_TEXTURE0 = $84C0;
- GL_TEXTURE1 = $84C1;
- GL_TEXTURE2 = $84C2;
- GL_TEXTURE3 = $84C3;
- GL_TEXTURE4 = $84C4;
- GL_TEXTURE5 = $84C5;
- GL_TEXTURE6 = $84C6;
- GL_TEXTURE7 = $84C7;
- GL_TEXTURE8 = $84C8;
- GL_TEXTURE9 = $84C9;
- GL_TEXTURE10 = $84CA;
- GL_TEXTURE11 = $84CB;
- GL_TEXTURE12 = $84CC;
- GL_TEXTURE13 = $84CD;
- GL_TEXTURE14 = $84CE;
- GL_TEXTURE15 = $84CF;
- GL_TEXTURE16 = $84D0;
- GL_TEXTURE17 = $84D1;
- GL_TEXTURE18 = $84D2;
- GL_TEXTURE19 = $84D3;
- GL_TEXTURE20 = $84D4;
- GL_TEXTURE21 = $84D5;
- GL_TEXTURE22 = $84D6;
- GL_TEXTURE23 = $84D7;
- GL_TEXTURE24 = $84D8;
- GL_TEXTURE25 = $84D9;
- GL_TEXTURE26 = $84DA;
- GL_TEXTURE27 = $84DB;
- GL_TEXTURE28 = $84DC;
- GL_TEXTURE29 = $84DD;
- GL_TEXTURE30 = $84DE;
- GL_TEXTURE31 = $84DF;
- GL_ACTIVE_TEXTURE = $84E0;
- GL_REPEAT = $2901;
- GL_CLAMP_TO_EDGE = $812F;
- GL_MIRRORED_REPEAT = $8370;
- GL_FLOAT_VEC2 = $8B50;
- GL_FLOAT_VEC3 = $8B51;
- GL_FLOAT_VEC4 = $8B52;
- GL_INT_VEC2 = $8B53;
- GL_INT_VEC3 = $8B54;
- GL_INT_VEC4 = $8B55;
- GL_BOOL = $8B56;
- GL_BOOL_VEC2 = $8B57;
- GL_BOOL_VEC3 = $8B58;
- GL_BOOL_VEC4 = $8B59;
- GL_FLOAT_MAT2 = $8B5A;
- GL_FLOAT_MAT3 = $8B5B;
- GL_FLOAT_MAT4 = $8B5C;
- GL_SAMPLER_2D = $8B5E;
- GL_SAMPLER_CUBE = $8B60;
- GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
- GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623;
- GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
- GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625;
- GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
- GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645;
- GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
- GL_IMPLEMENTATION_COLOR_READ_TYPE = $8B9A;
- GL_IMPLEMENTATION_COLOR_READ_FORMAT = $8B9B;
- GL_COMPILE_STATUS = $8B81;
- GL_INFO_LOG_LENGTH = $8B84;
- GL_SHADER_SOURCE_LENGTH = $8B88;
- GL_SHADER_COMPILER = $8DFA;
- GL_SHADER_BINARY_FORMATS = $8DF8;
- GL_NUM_SHADER_BINARY_FORMATS = $8DF9;
- GL_LOW_FLOAT = $8DF0;
- GL_MEDIUM_FLOAT = $8DF1;
- GL_HIGH_FLOAT = $8DF2;
- GL_LOW_INT = $8DF3;
- GL_MEDIUM_INT = $8DF4;
- GL_HIGH_INT = $8DF5;
- GL_FRAMEBUFFER = $8D40;
- GL_RENDERBUFFER = $8D41;
- GL_RGBA4 = $8056;
- GL_RGB5_A1 = $8057;
- GL_RGB565 = $8D62;
- GL_DEPTH_COMPONENT16 = $81A5;
- GL_STENCIL_INDEX8 = $8D48;
- GL_RENDERBUFFER_WIDTH = $8D42;
- GL_RENDERBUFFER_HEIGHT = $8D43;
- GL_RENDERBUFFER_INTERNAL_FORMAT = $8D44;
- GL_RENDERBUFFER_RED_SIZE = $8D50;
- GL_RENDERBUFFER_GREEN_SIZE = $8D51;
- GL_RENDERBUFFER_BLUE_SIZE = $8D52;
- GL_RENDERBUFFER_ALPHA_SIZE = $8D53;
- GL_RENDERBUFFER_DEPTH_SIZE = $8D54;
- GL_RENDERBUFFER_STENCIL_SIZE = $8D55;
- GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = $8CD0;
- GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = $8CD1;
- GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = $8CD2;
- GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = $8CD3;
- GL_COLOR_ATTACHMENT0 = $8CE0;
- GL_DEPTH_ATTACHMENT = $8D00;
- GL_STENCIL_ATTACHMENT = $8D20;
- GL_NONE = $0000;
- GL_FRAMEBUFFER_COMPLETE = $8CD5;
- GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = $8CD6;
- GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = $8CD7;
- GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = $8CD9;
- GL_FRAMEBUFFER_UNSUPPORTED = $8CDD;
- GL_FRAMEBUFFER_BINDING = $8CA6;
- GL_RENDERBUFFER_BINDING = $8CA7;
- GL_MAX_RENDERBUFFER_SIZE = $84E8;
- GL_INVALID_FRAMEBUFFER_OPERATION = $0506;
-
- { OpenGL ES 3.0 }
- GL_READ_BUFFER = $0C02;
- GL_UNPACK_ROW_LENGTH = $0CF2;
- GL_UNPACK_SKIP_ROWS = $0CF3;
- GL_UNPACK_SKIP_PIXELS = $0CF4;
- GL_PACK_ROW_LENGTH = $0D02;
- GL_PACK_SKIP_ROWS = $0D03;
- GL_PACK_SKIP_PIXELS = $0D04;
- GL_COLOR = $1800;
- GL_DEPTH = $1801;
- GL_STENCIL = $1802;
- GL_RED = $1903;
- GL_RGB8 = $8051;
- GL_RGBA8 = $8058;
- GL_RGB10_A2 = $8059;
- GL_TEXTURE_BINDING_3D = $806A;
- GL_UNPACK_SKIP_IMAGES = $806D;
- GL_UNPACK_IMAGE_HEIGHT = $806E;
- GL_TEXTURE_3D = $806F;
- GL_TEXTURE_WRAP_R = $8072;
- GL_MAX_3D_TEXTURE_SIZE = $8073;
- GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
- GL_MAX_ELEMENTS_VERTICES = $80E8;
- GL_MAX_ELEMENTS_INDICES = $80E9;
- GL_TEXTURE_MIN_LOD = $813A;
- GL_TEXTURE_MAX_LOD = $813B;
- GL_TEXTURE_BASE_LEVEL = $813C;
- GL_TEXTURE_MAX_LEVEL = $813D;
- GL_MIN = $8007;
- GL_MAX = $8008;
- GL_DEPTH_COMPONENT24 = $81A6;
- GL_MAX_TEXTURE_LOD_BIAS = $84FD;
- GL_TEXTURE_COMPARE_MODE = $884C;
- GL_TEXTURE_COMPARE_FUNC = $884D;
- GL_CURRENT_QUERY = $8865;
- GL_QUERY_RESULT = $8866;
- GL_QUERY_RESULT_AVAILABLE = $8867;
- GL_BUFFER_MAPPED = $88BC;
- GL_BUFFER_MAP_POINTER = $88BD;
- GL_STREAM_READ = $88E1;
- GL_STREAM_COPY = $88E2;
- GL_STATIC_READ = $88E5;
- GL_STATIC_COPY = $88E6;
- GL_DYNAMIC_READ = $88E9;
- GL_DYNAMIC_COPY = $88EA;
- GL_MAX_DRAW_BUFFERS = $8824;
- GL_DRAW_BUFFER0 = $8825;
- GL_DRAW_BUFFER1 = $8826;
- GL_DRAW_BUFFER2 = $8827;
- GL_DRAW_BUFFER3 = $8828;
- GL_DRAW_BUFFER4 = $8829;
- GL_DRAW_BUFFER5 = $882A;
- GL_DRAW_BUFFER6 = $882B;
- GL_DRAW_BUFFER7 = $882C;
- GL_DRAW_BUFFER8 = $882D;
- GL_DRAW_BUFFER9 = $882E;
- GL_DRAW_BUFFER10 = $882F;
- GL_DRAW_BUFFER11 = $8830;
- GL_DRAW_BUFFER12 = $8831;
- GL_DRAW_BUFFER13 = $8832;
- GL_DRAW_BUFFER14 = $8833;
- GL_DRAW_BUFFER15 = $8834;
- GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49;
- GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A;
- GL_SAMPLER_3D = $8B5F;
- GL_SAMPLER_2D_SHADOW = $8B62;
- GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B;
- GL_PIXEL_PACK_BUFFER = $88EB;
- GL_PIXEL_UNPACK_BUFFER = $88EC;
- GL_PIXEL_PACK_BUFFER_BINDING = $88ED;
- GL_PIXEL_UNPACK_BUFFER_BINDING = $88EF;
- GL_FLOAT_MAT2x3 = $8B65;
- GL_FLOAT_MAT2x4 = $8B66;
- GL_FLOAT_MAT3x2 = $8B67;
- GL_FLOAT_MAT3x4 = $8B68;
- GL_FLOAT_MAT4x2 = $8B69;
- GL_FLOAT_MAT4x3 = $8B6A;
- GL_SRGB = $8C40;
- GL_SRGB8 = $8C41;
- GL_SRGB8_ALPHA8 = $8C43;
- GL_COMPARE_REF_TO_TEXTURE = $884E;
- GL_MAJOR_VERSION = $821B;
- GL_MINOR_VERSION = $821C;
- GL_NUM_EXTENSIONS = $821D;
- GL_RGBA32F = $8814;
- GL_RGB32F = $8815;
- GL_RGBA16F = $881A;
- GL_RGB16F = $881B;
- GL_VERTEX_ATTRIB_ARRAY_INTEGER = $88FD;
- GL_MAX_ARRAY_TEXTURE_LAYERS = $88FF;
- GL_MIN_PROGRAM_TEXEL_OFFSET = $8904;
- GL_MAX_PROGRAM_TEXEL_OFFSET = $8905;
- GL_MAX_VARYING_COMPONENTS = $8B4B;
- GL_TEXTURE_2D_ARRAY = $8C1A;
- GL_TEXTURE_BINDING_2D_ARRAY = $8C1D;
- GL_R11F_G11F_B10F = $8C3A;
- GL_UNSIGNED_INT_10F_11F_11F_REV = $8C3B;
- GL_RGB9_E5 = $8C3D;
- GL_UNSIGNED_INT_5_9_9_9_REV = $8C3E;
- GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = $8C76;
- GL_TRANSFORM_FEEDBACK_BUFFER_MODE = $8C7F;
- GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = $8C80;
- GL_TRANSFORM_FEEDBACK_VARYINGS = $8C83;
- GL_TRANSFORM_FEEDBACK_BUFFER_START = $8C84;
- GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = $8C85;
- GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = $8C88;
- GL_RASTERIZER_DISCARD = $8C89;
- GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = $8C8A;
- GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = $8C8B;
- GL_INTERLEAVED_ATTRIBS = $8C8C;
- GL_SEPARATE_ATTRIBS = $8C8D;
- GL_TRANSFORM_FEEDBACK_BUFFER = $8C8E;
- GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = $8C8F;
- GL_RGBA32UI = $8D70;
- GL_RGB32UI = $8D71;
- GL_RGBA16UI = $8D76;
- GL_RGB16UI = $8D77;
- GL_RGBA8UI = $8D7C;
- GL_RGB8UI = $8D7D;
- GL_RGBA32I = $8D82;
- GL_RGB32I = $8D83;
- GL_RGBA16I = $8D88;
- GL_RGB16I = $8D89;
- GL_RGBA8I = $8D8E;
- GL_RGB8I = $8D8F;
- GL_RED_INTEGER = $8D94;
- GL_RGB_INTEGER = $8D98;
- GL_RGBA_INTEGER = $8D99;
- GL_SAMPLER_2D_ARRAY = $8DC1;
- GL_SAMPLER_2D_ARRAY_SHADOW = $8DC4;
- GL_SAMPLER_CUBE_SHADOW = $8DC5;
- GL_UNSIGNED_INT_VEC2 = $8DC6;
- GL_UNSIGNED_INT_VEC3 = $8DC7;
- GL_UNSIGNED_INT_VEC4 = $8DC8;
- GL_INT_SAMPLER_2D = $8DCA;
- GL_INT_SAMPLER_3D = $8DCB;
- GL_INT_SAMPLER_CUBE = $8DCC;
- GL_INT_SAMPLER_2D_ARRAY = $8DCF;
- GL_UNSIGNED_INT_SAMPLER_2D = $8DD2;
- GL_UNSIGNED_INT_SAMPLER_3D = $8DD3;
- GL_UNSIGNED_INT_SAMPLER_CUBE = $8DD4;
- GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = $8DD7;
- GL_BUFFER_ACCESS_FLAGS = $911F;
- GL_BUFFER_MAP_LENGTH = $9120;
- GL_BUFFER_MAP_OFFSET = $9121;
- GL_DEPTH_COMPONENT32F = $8CAC;
- GL_DEPTH32F_STENCIL8 = $8CAD;
- GL_FLOAT_32_UNSIGNED_INT_24_8_REV = $8DAD;
- GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = $8210;
- GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = $8211;
- GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = $8212;
- GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = $8213;
- GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = $8214;
- GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = $8215;
- GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = $8216;
- GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = $8217;
- GL_FRAMEBUFFER_DEFAULT = $8218;
- GL_FRAMEBUFFER_UNDEFINED = $8219;
- GL_DEPTH_STENCIL_ATTACHMENT = $821A;
- GL_DEPTH_STENCIL = $84F9;
- GL_UNSIGNED_INT_24_8 = $84FA;
- GL_DEPTH24_STENCIL8 = $88F0;
- GL_UNSIGNED_NORMALIZED = $8C17;
- GL_DRAW_FRAMEBUFFER_BINDING = $8CA6;
- GL_READ_FRAMEBUFFER = $8CA8;
- GL_DRAW_FRAMEBUFFER = $8CA9;
- GL_READ_FRAMEBUFFER_BINDING = $8CAA;
- GL_RENDERBUFFER_SAMPLES = $8CAB;
- GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = $8CD4;
- GL_MAX_COLOR_ATTACHMENTS = $8CDF;
- GL_COLOR_ATTACHMENT1 = $8CE1;
- GL_COLOR_ATTACHMENT2 = $8CE2;
- GL_COLOR_ATTACHMENT3 = $8CE3;
- GL_COLOR_ATTACHMENT4 = $8CE4;
- GL_COLOR_ATTACHMENT5 = $8CE5;
- GL_COLOR_ATTACHMENT6 = $8CE6;
- GL_COLOR_ATTACHMENT7 = $8CE7;
- GL_COLOR_ATTACHMENT8 = $8CE8;
- GL_COLOR_ATTACHMENT9 = $8CE9;
- GL_COLOR_ATTACHMENT10 = $8CEA;
- GL_COLOR_ATTACHMENT11 = $8CEB;
- GL_COLOR_ATTACHMENT12 = $8CEC;
- GL_COLOR_ATTACHMENT13 = $8CED;
- GL_COLOR_ATTACHMENT14 = $8CEE;
- GL_COLOR_ATTACHMENT15 = $8CEF;
- GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = $8D56;
- GL_MAX_SAMPLES = $8D57;
- GL_HALF_FLOAT = $140B;
- GL_MAP_READ_BIT = $0001;
- GL_MAP_WRITE_BIT = $0002;
- GL_MAP_INVALIDATE_RANGE_BIT = $0004;
- GL_MAP_INVALIDATE_BUFFER_BIT = $0008;
- GL_MAP_FLUSH_EXPLICIT_BIT = $0010;
- GL_MAP_UNSYNCHRONIZED_BIT = $0020;
- GL_RG = $8227;
- GL_RG_INTEGER = $8228;
- GL_R8 = $8229;
- GL_RG8 = $822B;
- GL_R16F = $822D;
- GL_R32F = $822E;
- GL_RG16F = $822F;
- GL_RG32F = $8230;
- GL_R8I = $8231;
- GL_R8UI = $8232;
- GL_R16I = $8233;
- GL_R16UI = $8234;
- GL_R32I = $8235;
- GL_R32UI = $8236;
- GL_RG8I = $8237;
- GL_RG8UI = $8238;
- GL_RG16I = $8239;
- GL_RG16UI = $823A;
- GL_RG32I = $823B;
- GL_RG32UI = $823C;
- GL_VERTEX_ARRAY_BINDING = $85B5;
- GL_R8_SNORM = $8F94;
- GL_RG8_SNORM = $8F95;
- GL_RGB8_SNORM = $8F96;
- GL_RGBA8_SNORM = $8F97;
- GL_SIGNED_NORMALIZED = $8F9C;
- GL_PRIMITIVE_RESTART_FIXED_INDEX = $8D69;
- GL_COPY_READ_BUFFER = $8F36;
- GL_COPY_WRITE_BUFFER = $8F37;
- GL_COPY_READ_BUFFER_BINDING = $8F36;
- GL_COPY_WRITE_BUFFER_BINDING = $8F37;
- GL_UNIFORM_BUFFER = $8A11;
- GL_UNIFORM_BUFFER_BINDING = $8A28;
- GL_UNIFORM_BUFFER_START = $8A29;
- GL_UNIFORM_BUFFER_SIZE = $8A2A;
- GL_MAX_VERTEX_UNIFORM_BLOCKS = $8A2B;
- GL_MAX_FRAGMENT_UNIFORM_BLOCKS = $8A2D;
- GL_MAX_COMBINED_UNIFORM_BLOCKS = $8A2E;
- GL_MAX_UNIFORM_BUFFER_BINDINGS = $8A2F;
- GL_MAX_UNIFORM_BLOCK_SIZE = $8A30;
- GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = $8A31;
- GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = $8A33;
- GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = $8A34;
- GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = $8A35;
- GL_ACTIVE_UNIFORM_BLOCKS = $8A36;
- GL_UNIFORM_TYPE = $8A37;
- GL_UNIFORM_SIZE = $8A38;
- GL_UNIFORM_NAME_LENGTH = $8A39;
- GL_UNIFORM_BLOCK_INDEX = $8A3A;
- GL_UNIFORM_OFFSET = $8A3B;
- GL_UNIFORM_ARRAY_STRIDE = $8A3C;
- GL_UNIFORM_MATRIX_STRIDE = $8A3D;
- GL_UNIFORM_IS_ROW_MAJOR = $8A3E;
- GL_UNIFORM_BLOCK_BINDING = $8A3F;
- GL_UNIFORM_BLOCK_DATA_SIZE = $8A40;
- GL_UNIFORM_BLOCK_NAME_LENGTH = $8A41;
- GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = $8A42;
- GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = $8A43;
- GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = $8A44;
- GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = $8A46;
- GL_INVALID_INDEX = $FFFFFFFF;
- GL_MAX_VERTEX_OUTPUT_COMPONENTS = $9122;
- GL_MAX_FRAGMENT_INPUT_COMPONENTS = $9125;
- GL_MAX_SERVER_WAIT_TIMEOUT = $9111;
- GL_OBJECT_TYPE = $9112;
- GL_SYNC_CONDITION = $9113;
- GL_SYNC_STATUS = $9114;
- GL_SYNC_FLAGS = $9115;
- GL_SYNC_FENCE = $9116;
- GL_SYNC_GPU_COMMANDS_COMPLETE = $9117;
- GL_UNSIGNALED = $9118;
- GL_SIGNALED = $9119;
- GL_ALREADY_SIGNALED = $911A;
- GL_TIMEOUT_EXPIRED = $911B;
- GL_CONDITION_SATISFIED = $911C;
- GL_WAIT_FAILED = $911D;
- GL_SYNC_FLUSH_COMMANDS_BIT = $00000001;
- GL_TIMEOUT_IGNORED = $FFFFFFFFFFFFFFFF;
- GL_VERTEX_ATTRIB_ARRAY_DIVISOR = $88FE;
- GL_ANY_SAMPLES_PASSED = $8C2F;
- GL_ANY_SAMPLES_PASSED_CONSERVATIVE = $8D6A;
- GL_SAMPLER_BINDING = $8919;
- GL_RGB10_A2UI = $906F;
- GL_TEXTURE_SWIZZLE_R = $8E42;
- GL_TEXTURE_SWIZZLE_G = $8E43;
- GL_TEXTURE_SWIZZLE_B = $8E44;
- GL_TEXTURE_SWIZZLE_A = $8E45;
- GL_GREEN = $1904;
- GL_BLUE = $1905;
- GL_INT_2_10_10_10_REV = $8D9F;
- GL_TRANSFORM_FEEDBACK = $8E22;
- GL_TRANSFORM_FEEDBACK_PAUSED = $8E23;
- GL_TRANSFORM_FEEDBACK_ACTIVE = $8E24;
- GL_TRANSFORM_FEEDBACK_BINDING = $8E25;
- GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257;
- GL_PROGRAM_BINARY_LENGTH = $8741;
- GL_NUM_PROGRAM_BINARY_FORMATS = $87FE;
- GL_PROGRAM_BINARY_FORMATS = $87FF;
- GL_COMPRESSED_R11_EAC = $9270;
- GL_COMPRESSED_SIGNED_R11_EAC = $9271;
- GL_COMPRESSED_RG11_EAC = $9272;
- GL_COMPRESSED_SIGNED_RG11_EAC = $9273;
- GL_COMPRESSED_RGB8_ETC2 = $9274;
- GL_COMPRESSED_SRGB8_ETC2 = $9275;
- GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9276;
- GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9277;
- GL_COMPRESSED_RGBA8_ETC2_EAC = $9278;
- GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = $9279;
- GL_TEXTURE_IMMUTABLE_FORMAT = $912F;
- GL_MAX_ELEMENT_INDEX = $8D6B;
- GL_NUM_SAMPLE_COUNTS = $9380;
- GL_TEXTURE_IMMUTABLE_LEVELS = $82DF;
-
- { OpenGL ES 3.1 }
- GL_COMPUTE_SHADER = $91B9;
- GL_MAX_COMPUTE_UNIFORM_BLOCKS = $91BB;
- GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = $91BC;
- GL_MAX_COMPUTE_IMAGE_UNIFORMS = $91BD;
- GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = $8262;
- GL_MAX_COMPUTE_UNIFORM_COMPONENTS = $8263;
- GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = $8264;
- GL_MAX_COMPUTE_ATOMIC_COUNTERS = $8265;
- GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = $8266;
- GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = $90EB;
- GL_MAX_COMPUTE_WORK_GROUP_COUNT = $91BE;
- GL_MAX_COMPUTE_WORK_GROUP_SIZE = $91BF;
- GL_COMPUTE_WORK_GROUP_SIZE = $8267;
- GL_DISPATCH_INDIRECT_BUFFER = $90EE;
- GL_DISPATCH_INDIRECT_BUFFER_BINDING = $90EF;
- GL_COMPUTE_SHADER_BIT = $00000020;
- GL_DRAW_INDIRECT_BUFFER = $8F3F;
- GL_DRAW_INDIRECT_BUFFER_BINDING = $8F43;
- GL_MAX_UNIFORM_LOCATIONS = $826E;
- GL_FRAMEBUFFER_DEFAULT_WIDTH = $9310;
- GL_FRAMEBUFFER_DEFAULT_HEIGHT = $9311;
- GL_FRAMEBUFFER_DEFAULT_SAMPLES = $9313;
- GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = $9314;
- GL_MAX_FRAMEBUFFER_WIDTH = $9315;
- GL_MAX_FRAMEBUFFER_HEIGHT = $9316;
- GL_MAX_FRAMEBUFFER_SAMPLES = $9318;
- GL_UNIFORM = $92E1;
- GL_UNIFORM_BLOCK = $92E2;
- GL_PROGRAM_INPUT = $92E3;
- GL_PROGRAM_OUTPUT = $92E4;
- GL_BUFFER_VARIABLE = $92E5;
- GL_SHADER_STORAGE_BLOCK = $92E6;
- GL_ATOMIC_COUNTER_BUFFER = $92C0;
- GL_TRANSFORM_FEEDBACK_VARYING = $92F4;
- GL_ACTIVE_RESOURCES = $92F5;
- GL_MAX_NAME_LENGTH = $92F6;
- GL_MAX_NUM_ACTIVE_VARIABLES = $92F7;
- GL_NAME_LENGTH = $92F9;
- GL_TYPE = $92FA;
- GL_ARRAY_SIZE = $92FB;
- GL_OFFSET = $92FC;
- GL_BLOCK_INDEX = $92FD;
- GL_ARRAY_STRIDE = $92FE;
- GL_MATRIX_STRIDE = $92FF;
- GL_IS_ROW_MAJOR = $9300;
- GL_ATOMIC_COUNTER_BUFFER_INDEX = $9301;
- GL_BUFFER_BINDING = $9302;
- GL_BUFFER_DATA_SIZE = $9303;
- GL_NUM_ACTIVE_VARIABLES = $9304;
- GL_ACTIVE_VARIABLES = $9305;
- GL_REFERENCED_BY_VERTEX_SHADER = $9306;
- GL_REFERENCED_BY_FRAGMENT_SHADER = $930A;
- GL_REFERENCED_BY_COMPUTE_SHADER = $930B;
- GL_TOP_LEVEL_ARRAY_SIZE = $930C;
- GL_TOP_LEVEL_ARRAY_STRIDE = $930D;
- GL_LOCATION = $930E;
- GL_VERTEX_SHADER_BIT = $00000001;
- GL_FRAGMENT_SHADER_BIT = $00000002;
- GL_ALL_SHADER_BITS = $FFFFFFFF;
- GL_PROGRAM_SEPARABLE = $8258;
- GL_ACTIVE_PROGRAM = $8259;
- GL_PROGRAM_PIPELINE_BINDING = $825A;
- GL_ATOMIC_COUNTER_BUFFER_BINDING = $92C1;
- GL_ATOMIC_COUNTER_BUFFER_START = $92C2;
- GL_ATOMIC_COUNTER_BUFFER_SIZE = $92C3;
- GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = $92CC;
- GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = $92D0;
- GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = $92D1;
- GL_MAX_VERTEX_ATOMIC_COUNTERS = $92D2;
- GL_MAX_FRAGMENT_ATOMIC_COUNTERS = $92D6;
- GL_MAX_COMBINED_ATOMIC_COUNTERS = $92D7;
- GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = $92D8;
- GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = $92DC;
- GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = $92D9;
- GL_UNSIGNED_INT_ATOMIC_COUNTER = $92DB;
- GL_MAX_IMAGE_UNITS = $8F38;
- GL_MAX_VERTEX_IMAGE_UNIFORMS = $90CA;
- GL_MAX_FRAGMENT_IMAGE_UNIFORMS = $90CE;
- GL_MAX_COMBINED_IMAGE_UNIFORMS = $90CF;
- GL_IMAGE_BINDING_NAME = $8F3A;
- GL_IMAGE_BINDING_LEVEL = $8F3B;
- GL_IMAGE_BINDING_LAYERED = $8F3C;
- GL_IMAGE_BINDING_LAYER = $8F3D;
- GL_IMAGE_BINDING_ACCESS = $8F3E;
- GL_IMAGE_BINDING_FORMAT = $906E;
- GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = $00000001;
- GL_ELEMENT_ARRAY_BARRIER_BIT = $00000002;
- GL_UNIFORM_BARRIER_BIT = $00000004;
- GL_TEXTURE_FETCH_BARRIER_BIT = $00000008;
- GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = $00000020;
- GL_COMMAND_BARRIER_BIT = $00000040;
- GL_PIXEL_BUFFER_BARRIER_BIT = $00000080;
- GL_TEXTURE_UPDATE_BARRIER_BIT = $00000100;
- GL_BUFFER_UPDATE_BARRIER_BIT = $00000200;
- GL_FRAMEBUFFER_BARRIER_BIT = $00000400;
- GL_TRANSFORM_FEEDBACK_BARRIER_BIT = $00000800;
- GL_ATOMIC_COUNTER_BARRIER_BIT = $00001000;
- GL_ALL_BARRIER_BITS = $FFFFFFFF;
- GL_IMAGE_2D = $904D;
- GL_IMAGE_3D = $904E;
- GL_IMAGE_CUBE = $9050;
- GL_IMAGE_2D_ARRAY = $9053;
- GL_INT_IMAGE_2D = $9058;
- GL_INT_IMAGE_3D = $9059;
- GL_INT_IMAGE_CUBE = $905B;
- GL_INT_IMAGE_2D_ARRAY = $905E;
- GL_UNSIGNED_INT_IMAGE_2D = $9063;
- GL_UNSIGNED_INT_IMAGE_3D = $9064;
- GL_UNSIGNED_INT_IMAGE_CUBE = $9066;
- GL_UNSIGNED_INT_IMAGE_2D_ARRAY = $9069;
- GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = $90C7;
- GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = $90C8;
- GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = $90C9;
- GL_READ_ONLY = $88B8;
- GL_WRITE_ONLY = $88B9;
- GL_READ_WRITE = $88BA;
- GL_SHADER_STORAGE_BUFFER = $90D2;
- GL_SHADER_STORAGE_BUFFER_BINDING = $90D3;
- GL_SHADER_STORAGE_BUFFER_START = $90D4;
- GL_SHADER_STORAGE_BUFFER_SIZE = $90D5;
- GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = $90D6;
- GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = $90DA;
- GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = $90DB;
- GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = $90DC;
- GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = $90DD;
- GL_MAX_SHADER_STORAGE_BLOCK_SIZE = $90DE;
- GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = $90DF;
- GL_SHADER_STORAGE_BARRIER_BIT = $00002000;
- GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = $8F39;
- GL_DEPTH_STENCIL_TEXTURE_MODE = $90EA;
- GL_STENCIL_INDEX = $1901;
- GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5E;
- GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5F;
- GL_SAMPLE_POSITION = $8E50;
- GL_SAMPLE_MASK = $8E51;
- GL_SAMPLE_MASK_VALUE = $8E52;
- GL_TEXTURE_2D_MULTISAMPLE = $9100;
- GL_MAX_SAMPLE_MASK_WORDS = $8E59;
- GL_MAX_COLOR_TEXTURE_SAMPLES = $910E;
- GL_MAX_DEPTH_TEXTURE_SAMPLES = $910F;
- GL_MAX_INTEGER_SAMPLES = $9110;
- GL_TEXTURE_BINDING_2D_MULTISAMPLE = $9104;
- GL_TEXTURE_SAMPLES = $9106;
- GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = $9107;
- GL_TEXTURE_WIDTH = $1000;
- GL_TEXTURE_HEIGHT = $1001;
- GL_TEXTURE_DEPTH = $8071;
- GL_TEXTURE_INTERNAL_FORMAT = $1003;
- GL_TEXTURE_RED_SIZE = $805C;
- GL_TEXTURE_GREEN_SIZE = $805D;
- GL_TEXTURE_BLUE_SIZE = $805E;
- GL_TEXTURE_ALPHA_SIZE = $805F;
- GL_TEXTURE_DEPTH_SIZE = $884A;
- GL_TEXTURE_STENCIL_SIZE = $88F1;
- GL_TEXTURE_SHARED_SIZE = $8C3F;
- GL_TEXTURE_RED_TYPE = $8C10;
- GL_TEXTURE_GREEN_TYPE = $8C11;
- GL_TEXTURE_BLUE_TYPE = $8C12;
- GL_TEXTURE_ALPHA_TYPE = $8C13;
- GL_TEXTURE_DEPTH_TYPE = $8C16;
- GL_TEXTURE_COMPRESSED = $86A1;
- GL_SAMPLER_2D_MULTISAMPLE = $9108;
- GL_INT_SAMPLER_2D_MULTISAMPLE = $9109;
- GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = $910A;
- GL_VERTEX_ATTRIB_BINDING = $82D4;
- GL_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D5;
- GL_VERTEX_BINDING_DIVISOR = $82D6;
- GL_VERTEX_BINDING_OFFSET = $82D7;
- GL_VERTEX_BINDING_STRIDE = $82D8;
- GL_VERTEX_BINDING_BUFFER = $8F4F;
- GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D9;
- GL_MAX_VERTEX_ATTRIB_BINDINGS = $82DA;
- GL_MAX_VERTEX_ATTRIB_STRIDE = $82E5;
-
-
- type
- { OpenGL Es 2.0 }
- TglActiveTexture = procedure(aTexture: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglAttachShader = procedure(aProgram: GLuint; aShader: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindAttribLocation = procedure(aProgram: GLuint; aIndex: GLuint; const aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindBuffer = procedure(aTarget: GLenum; aBuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindFramebuffer = procedure(aTarget: GLenum; aFramebuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindRenderbuffer = procedure(aTarget: GLenum; aRenderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindTexture = procedure(aTarget: GLenum; aTexture: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBlendColor = procedure(aRed: GLfloat; aGreen: GLfloat; aBlue: GLfloat; aAlpha: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBlendEquation = procedure(aMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBlendEquationSeparate = procedure(aModeRGB: GLenum; aModeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBlendFunc = procedure(aSFactor: GLenum; aDFactor: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBlendFuncSeparate = procedure(aSFactorRGB: GLenum; aDFactorRGB: GLenum; aSFactorAlpha: GLenum; aDFactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBufferData = procedure(aTarget: GLenum; aSize: PGLsizei; const aData: PGLvoid; aUsage: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBufferSubData = procedure(aTarget: GLenum; aOffset: PGLint; aSize: PGLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCheckFramebufferStatus = function(aTarget: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglClear = procedure(aMask: GLbitfield); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglClearColor = procedure(aRed: GLfloat; aGreen: GLfloat; aBlue: GLfloat; aAlpha: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglClearDepthf = procedure(d: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglClearStencil = procedure(s: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglColorMask = procedure(aRed: GLboolean; aGreen: GLboolean; aBlue: GLboolean; aAlpha: GLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCompileShader = procedure(aShader: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCompressedTexImage2D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei; aBorder: GLint; aImageSize: GLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCompressedTexSubImage2D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aWidth: GLsizei; aHeight: GLsizei; aFormat: GLenum; aImageSize: GLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCopyTexImage2D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLenum; aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei; aBorder: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCopyTexSubImage2D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCreateProgram = function: GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCreateShader = function(aType: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCullFace = procedure(aMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteBuffers = procedure(n: GLsizei; const aBuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteFramebuffers = procedure(n: GLsizei; const aFrameBuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteProgram = procedure(aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteRenderbuffers = procedure(n: GLsizei; const aRenderBuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteShader = procedure(aShader: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteTextures = procedure(n: GLsizei; const aTextures: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDepthFunc = procedure(aFunc: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDepthMask = procedure(aFlag: GLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDepthRangef = procedure(n: GLfloat; aF: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDetachShader = procedure(aProgram: GLuint; aShader: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDisable = procedure(aCap: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDisableVertexAttribArray = procedure(aIndex: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDrawArrays = procedure(aMode: GLenum; aFirst: GLint; aCount: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDrawElements = procedure(aMode: GLenum; aCount: GLsizei; aType: GLenum; const aIndices: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglEnable = procedure(aCap: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglEnableVertexAttribArray = procedure(aIndex: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglFinish = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglFlush = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglFramebufferRenderbuffer = procedure(aTarget: GLenum; aAttachment: GLenum; aRenderbuffertarget: GLenum; aRenderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglFramebufferTexture2D = procedure(aTarget: GLenum; aAttachment: GLenum; aTextarget: GLenum; aTexture: GLuint; aLevel: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglFrontFace = procedure(aMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenBuffers = procedure(n: GLsizei; aBuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenerateMipmap = procedure(aTarget: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenFramebuffers = procedure(n: GLsizei; aFramebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenRenderbuffers = procedure(n: GLsizei; aRenderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenTextures = procedure(n: GLsizei; aTextures: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetActiveAttrib = procedure(aProgram: GLuint; aIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aSize: PGLint; aType: PGLenum; aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetActiveUniform = procedure(aProgram: GLuint; aIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aSize: PGLint; aType: PGLenum; aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetAttachedShaders = procedure(aProgram: GLuint; aMaxCount: GLsizei; aCount: PGLsizei; aShaders: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetAttribLocation = function(aProgram: GLuint; const aName: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetBooleanv = procedure(aPname: GLenum; aData: PGLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetBufferParameteriv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetError = function: GLenum; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetFloatv = procedure(aPname: GLenum; aData: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetFramebufferAttachmentParameteriv = procedure(aTarget: GLenum; aAttachment: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetIntegerv = procedure(aPname: GLenum; aData: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramiv = procedure(aProgram: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramInfoLog = procedure(aProgram: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aInfoLog: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetRenderbufferParameteriv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetShaderiv = procedure(aShader: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetShaderInfoLog = procedure(aShader: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aInfoLog: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetShaderPrecisionFormat = procedure(aShadertype: GLenum; aPrecisiontype: GLenum; aRange: PGLint; aPrecision: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetShaderSource = procedure(aShader: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aSource: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetString = function(aName: GLenum): PAnsiChar; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetTexParameterfv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetTexParameteriv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetUniformfv = procedure(aProgram: GLuint; aLocation: GLint; aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetUniformiv = procedure(aProgram: GLuint; aLocation: GLint; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetUniformLocation = function(aProgram: GLuint; const aName: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetVertexAttribfv = procedure(aIndex: GLuint; aPname: GLenum; aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetVertexAttribiv = procedure(aIndex: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetVertexAttribPointerv = procedure(aIndex: GLuint; aPname: GLenum; aPointer: PPGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglHint = procedure(aTarget: GLenum; aMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsBuffer = function(aBuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsEnabled = function(aCap: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsFramebuffer = function(aFramebuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsProgram = function(aProgram: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsRenderbuffer = function(aRenderbuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsShader = function(aShader: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsTexture = function(aTexture: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglLineWidth = procedure(aWidth: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglLinkProgram = procedure(aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglPixelStorei = procedure(aPname: GLenum; aParam: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglPolygonOffset = procedure(aFactor: GLfloat; aUnits: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglReadPixels = procedure(aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei; aFormat: GLenum; aType: GLenum; aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglReleaseShaderCompiler = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglRenderbufferStorage = procedure(aTarget: GLenum; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglSampleCoverage = procedure(aValue: GLfloat; aInvert: GLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglScissor = procedure(aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglShaderBinary = procedure(aCount: GLsizei; const aShaders: PGLuint; aBinaryformat: GLenum; const aBinary: PGLvoid; aLength: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglShaderSource = procedure(aShader: GLuint; aCount: GLsizei; const aString: PPGLchar; const aLength: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglStencilFunc = procedure(aFunc: GLenum; aRef: GLint; aMask: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglStencilFuncSeparate = procedure(aFace: GLenum; aFunc: GLenum; aRef: GLint; aMask: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglStencilMask = procedure(aMask: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglStencilMaskSeparate = procedure(aFace: GLenum; aMask: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglStencilOp = procedure(aFail: GLenum; aZfail: GLenum; aZpass: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglStencilOpSeparate = procedure(aFace: GLenum; aSfail: GLenum; aDpfail: GLenum; aDppass: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexImage2D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLint; aWidth: GLsizei; aHeight: GLsizei; aBorder: GLint; aFormat: GLenum; aType: GLenum; const aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexParameterf = procedure(aTarget: GLenum; aPname: GLenum; aParam: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexParameterfv = procedure(aTarget: GLenum; aPname: GLenum; const aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexParameteri = procedure(aTarget: GLenum; aPname: GLenum; aParam: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexParameteriv = procedure(aTarget: GLenum; aPname: GLenum; const aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexSubImage2D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aWidth: GLsizei; aHeight: GLsizei; aFormat: GLenum; aType: GLenum; const aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform1f = procedure(aLocation: GLint; aV0: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform1fv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform1i = procedure(aLocation: GLint; aV0: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform1iv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform2f = procedure(aLocation: GLint; aV0: GLfloat; aV1: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform2fv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform2i = procedure(aLocation: GLint; aV0: GLint; aV1: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform2iv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform3f = procedure(aLocation: GLint; aV0: GLfloat; aV1: GLfloat; aV2: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform3fv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform3i = procedure(aLocation: GLint; aV0: GLint; aV1: GLint; aV2: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform3iv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform4f = procedure(aLocation: GLint; aV0: GLfloat; aV1: GLfloat; aV2: GLfloat; aV3: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform4fv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform4i = procedure(aLocation: GLint; aV0: GLint; aV1: GLint; aV2: GLint; aV3: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform4iv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformMatrix2fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformMatrix3fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformMatrix4fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUseProgram = procedure(aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglValidateProgram = procedure(aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttrib1f = procedure(aIndex: GLuint; aX: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttrib1fv = procedure(aIndex: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttrib2f = procedure(aIndex: GLuint; aX: GLfloat; aY: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttrib2fv = procedure(aIndex: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttrib3f = procedure(aIndex: GLuint; aX: GLfloat; aY: GLfloat; aZ: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttrib3fv = procedure(aIndex: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttrib4f = procedure(aIndex: GLuint; aX: GLfloat; aY: GLfloat; aZ: GLfloat; aW: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttrib4fv = procedure(aIndex: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribPointer = procedure(aIndex: GLuint; aSize: GLint; aType: GLenum; aNormalized: GLboolean; aStride: GLsizei; const aPointer: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglViewport = procedure(aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- { OpenGL ES 3.0 }
- TglReadBuffer = procedure(aSrc: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDrawRangeElements = procedure(aMode: GLenum; aStart: GLuint; aEnd: GLuint; aCount: GLsizei; aType: GLenum; const aIndices: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexImage3D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLint; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei; aBorder: GLint; aFormat: GLenum; aType: GLenum; const aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexSubImage3D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aZoffset: GLint; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei; aFormat: GLenum; aType: GLenum; const aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCopyTexSubImage3D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aZoffset: GLint; aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCompressedTexImage3D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei; aBorder: GLint; aImageSize: GLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCompressedTexSubImage3D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aZoffset: GLint; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei; aFormat: GLenum; aImageSize: GLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenQueries = procedure(n: GLsizei; aIDs: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteQueries = procedure(n: GLsizei; const aIDs: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsQuery = function(aId: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBeginQuery = procedure(aTarget: GLenum; aId: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglEndQuery = procedure(aTarget: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetQueryiv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetQueryObjectuiv = procedure(aId: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUnmapBuffer = function(aTarget: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetBufferPointerv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PPGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDrawBuffers = procedure(n: GLsizei; const aBufs: PGLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformMatrix2x3fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformMatrix3x2fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformMatrix2x4fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformMatrix4x2fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformMatrix3x4fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformMatrix4x3fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBlitFramebuffer = procedure(aSrcX0: GLint; aSrcY0: GLint; aSrcX1: GLint; aSrcY1: GLint; aDstX0: GLint; aDstY0: GLint; aDstX1: GLint; aDstY1: GLint; aMask: GLbitfield; aFilter: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglRenderbufferStorageMultisample = procedure(aTarget: GLenum; aSamples: GLsizei; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglFramebufferTextureLayer = procedure(aTarget: GLenum; aAttachment: GLenum; aTexture: GLuint; aLevel: GLint; aLayer: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglMapBufferRange = function(aTarget: GLenum; aOffset: PGLint; aLength: PGLsizei; aAccess: GLbitfield): PGLvoid; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglFlushMappedBufferRange = procedure(aTarget: GLenum; aOffset: PGLint; aLength: PGLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindVertexArray = procedure(aArray: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteVertexArrays = procedure(n: GLsizei; const aArrays: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenVertexArrays = procedure(n: GLsizei; aArrays: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsVertexArray = function(aArray: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetIntegeri_v = procedure(aTarget: GLenum; aIndex: GLuint; aData: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBeginTransformFeedback = procedure(aPrimitiveMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglEndTransformFeedback = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindBufferRange = procedure(aTarget: GLenum; aIndex: GLuint; aBuffer: GLuint; aOffset: PGLint; aSize: PGLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindBufferBase = procedure(aTarget: GLenum; aIndex: GLuint; aBuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTransformFeedbackVaryings = procedure(aProgram: GLuint; aCount: GLsizei; const aVaryings: PPGLchar; aBufferMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetTransformFeedbackVarying = procedure(aProgram: GLuint; aIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aSize: PGLsizei; aType: PGLenum; aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribIPointer = procedure(aIndex: GLuint; aSize: GLint; aType: GLenum; aStride: GLsizei; const aPointer: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetVertexAttribIiv = procedure(aIndex: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetVertexAttribIuiv = procedure(aIndex: GLuint; aPname: GLenum; aParams: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribI4i = procedure(aIndex: GLuint; aX: GLint; aY: GLint; aZ: GLint; aW: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribI4ui = procedure(aIndex: GLuint; aX: GLuint; aY: GLuint; aZ: GLuint; aW: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribI4iv = procedure(aIndex: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribI4uiv = procedure(aIndex: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetUniformuiv = procedure(aProgram: GLuint; aLocation: GLint; aParams: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetFragDataLocation = function(aProgram: GLuint; const aName: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform1ui = procedure(aLocation: GLint; aV0: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform2ui = procedure(aLocation: GLint; aV0: GLuint; aV1: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform3ui = procedure(aLocation: GLint; aV0: GLuint; aV1: GLuint; aV2: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform4ui = procedure(aLocation: GLint; aV0: GLuint; aV1: GLuint; aV2: GLuint; aV3: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform1uiv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform2uiv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform3uiv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniform4uiv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglClearBufferiv = procedure(aBuffer: GLenum; aDrawbuffer: GLint; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglClearBufferuiv = procedure(aBuffer: GLenum; aDrawbuffer: GLint; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglClearBufferfv = procedure(aBuffer: GLenum; aDrawbuffer: GLint; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglClearBufferfi = procedure(aBuffer: GLenum; aDrawbuffer: GLint; aDepth: GLfloat; aStencil: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetStringi = function(aName: GLenum; aIndex: GLuint): PGLchar; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCopyBufferSubData = procedure(aReadTarget: GLenum; aWriteTarget: GLenum; aReadOffset: PGLint; aWriteOffset: PGLint; aSize: PGLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetUniformIndices = procedure(aProgram: GLuint; aUniformCount: GLsizei; const aUniformNames: PPGLchar; aUniformIndices: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetActiveUniformsiv = procedure(aProgram: GLuint; aUniformCount: GLsizei; const aUniformIndices: PGLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetUniformBlockIndex = function(aProgram: GLuint; const aUniformBlockName: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetActiveUniformBlockiv = procedure(aProgram: GLuint; aUniformBlockIndex: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetActiveUniformBlockName = procedure(aProgram: GLuint; aUniformBlockIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aUniformBlockName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUniformBlockBinding = procedure(aProgram: GLuint; aUniformBlockIndex: GLuint; aUniformBlockBinding: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDrawArraysInstanced = procedure(aMode: GLenum; aFirst: GLint; aCount: GLsizei; aInstancecount: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDrawElementsInstanced = procedure(aMode: GLenum; aCount: GLsizei; aType: GLenum; const aIndices: PGLvoid; aInstanceCount: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglFenceSync = function(aCondition: GLenum; aFlags: GLbitfield): GLsync; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsSync = function(aSync: GLsync): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteSync = procedure(aSync: GLsync); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglClientWaitSync = function(aSync: GLsync; aFlags: GLbitfield; aTimeout: GLuint64): GLenum; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglWaitSync = procedure(aSync: GLsync; aFlags: GLbitfield; aTimeout: GLuint64); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetInteger64v = procedure(aPname: GLenum; aData: PGLint64); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetSynciv = procedure(aSync: GLsync; aPname: GLenum; aBufSize: GLsizei; aLength: PGLsizei; aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetInteger64i_v = procedure(aTarget: GLenum; aIndex: GLuint; aData: PGLint64); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetBufferParameteri64v = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint64); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenSamplers = procedure(aCount: GLsizei; aSamplers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteSamplers = procedure(aCount: GLsizei; const aSamplers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsSampler = function(aSampler: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindSampler = procedure(aUnit: GLuint; aSampler: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglSamplerParameteri = procedure(aSampler: GLuint; aPname: GLenum; aParam: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglSamplerParameteriv = procedure(aSampler: GLuint; aPname: GLenum; const aParam: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglSamplerParameterf = procedure(aSampler: GLuint; aPname: GLenum; aParam: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglSamplerParameterfv = procedure(aSampler: GLuint; aPname: GLenum; const aParam: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetSamplerParameteriv = procedure(aSampler: GLuint; aPname: GLenum; const aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetSamplerParameterfv = procedure(aSampler: GLuint; aPname: GLenum; const aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribDivisor = procedure(aIndex: GLuint; aDivisor: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindTransformFeedback = procedure(aTarget: GLenum; aId: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteTransformFeedbacks = procedure(n: GLsizei; const aIDs: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenTransformFeedbacks = procedure(n: GLsizei; const aIDs: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsTransformFeedback = function(aId: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglPauseTransformFeedback = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglResumeTransformFeedback = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramBinary = procedure(aProgram: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aBinaryFormat: PGLenum; aBinary: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramBinary = procedure(aProgram: GLuint; aBinaryFormat: GLenum; const aBinary: PGLvoid; aLength: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramParameteri = procedure(aProgram: GLuint; aPname: GLenum; aValue: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglInvalidateFramebuffer = procedure(aTarget: GLenum; aNumAttachments: GLsizei; const aAttachments: PGLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglInvalidateSubFramebuffer = procedure(aTarget: GLenum; aNumAttachments: GLsizei; const aAttachments: PGLenum; aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexStorage2D = procedure(aTarget: GLenum; aLevels: GLsizei; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexStorage3D = procedure(aTarget: GLenum; aLevels: GLsizei; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetInternalformativ = procedure(aTarget: GLenum; aInternalformat: GLenum; aPname: GLenum; aBufSize: GLsizei; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- { OpenGL ES 3.1 }
- TglDispatchCompute = procedure(aNumGroupsX: GLuint; aNumGroupsY: GLuint; aNumGroupsZ: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDispatchComputeIndirect = procedure(aIndirect: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDrawArraysIndirect = procedure(aMode: GLenum; const aIndirect: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDrawElementsIndirect = procedure(aMode: GLenum; aType: GLenum; const aIndirect: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglFramebufferParameteri = procedure(aTarget: GLenum; aPname: GLenum; aParam: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetFramebufferParameteriv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramInterfaceiv = procedure(aProgram: GLuint; aProgramInterface: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramResourceIndex = function (aProgram: GLuint; aProgramInterface: GLenum; const aName: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramResourceName = procedure(aProgram: GLuint; aProgramInterface: GLenum; aIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramResourceiv = procedure(aProgram: GLuint; aProgramInterface: GLenum; aIndex: GLuint; aPropCount: GLsizei; const aProps: PGLenum; aBufSize: GLsizei; aLength: PGLsizei; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramResourceLocation = function (aProgram: GLuint; aProgramInterface: GLenum; const aName: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglUseProgramStages = procedure(aPipeline: GLuint; aStages: GLbitfield; aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglActiveShaderProgram = procedure(aPipeline: GLuint; aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglCreateShaderProgramv = function (aType: GLenum; aCount: GLsizei; const aStrings: PPGLchar): GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindProgramPipeline = procedure(aPipeline: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglDeleteProgramPipelines = procedure(aN: GLsizei; const aPipelines: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGenProgramPipelines = procedure(aN: GLsizei; aPipelines: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglIsProgramPipeline = function (aPipeline: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramPipelineiv = procedure(aPipeline: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform1i = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform2i = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLint; aV1: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform3i = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLint; aV1: GLint; aV2: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform4i = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLint; aV1: GLint; aV2: GLint; aV3: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform1ui = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform2ui = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLuint; aV1: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform3ui = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLuint; aV1: GLuint; aV2: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform4ui = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLuint; aV1: GLuint; aV2: GLuint; aV3: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform1f = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform2f = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLfloat; aV1: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform3f = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLfloat; aV1: GLfloat; aV2: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform4f = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLfloat; aV1: GLfloat; aV2: GLfloat; aV3: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform1iv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform2iv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform3iv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform4iv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform1uiv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform2uiv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform3uiv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform4uiv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform1fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform2fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform3fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniform4fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniformMatrix2fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniformMatrix3fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniformMatrix4fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniformMatrix2x3fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniformMatrix3x2fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniformMatrix2x4fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniformMatrix4x2fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniformMatrix3x4fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglProgramUniformMatrix4x3fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglValidateProgramPipeline = procedure(aPipeline: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetProgramPipelineInfoLog = procedure(aPipeline: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aInfoLog: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindImageTexture = procedure(aUnit: GLuint; aTexture: GLuint; aLevel: GLint; aLayered: GLboolean; aLayer: GLint; aAccess: GLenum; aFormat: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetBooleaniV = procedure(aTarget: GLenum; aIndex: GLuint; aData: PGLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglMemoryBarrier = procedure(aBarriers: GLbitfield); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglMemoryBarrierByRegion = procedure(aBarriers: GLbitfield); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglTexStorage2DMultisample = procedure(aTarget: GLenum; aSamples: GLsizei; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei; aFixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetMultisamplefv = procedure(aPname: GLenum; aIndex: GLuint; aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglSampleMaski = procedure(aMaskNumber: GLuint; aMask: GLbitfield); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetTexLevelParameteriv = procedure(aTarget: GLenum; aLevel: GLint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglGetTexLevelParameterfv = procedure(aTarget: GLenum; aLevel: GLint; aPname: GLenum; aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglBindVertexBuffer = procedure(aBindingindex: GLuint; aBuffer: GLuint; aOffset: PGLint; aStride: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribFormat = procedure(aAttribindex: GLuint; aSize: GLint; aType: GLenum; aNormalized: GLboolean; aRelativeoffset: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribIFormat = procedure(aAttribindex: GLuint; aSize: GLint; aType: GLenum; aRelativeoffset: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexAttribBinding = procedure(aAttribindex: GLuint; aBindingindex: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TglVertexBindingDivisor = procedure(aBindingindex: GLuint; aDivisor: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
-
- var
- { *** PROCEDURES *** }
- { OpenGL ES 2.0 }
- glActiveTexture: TglActiveTexture;
- glAttachShader: TglAttachShader;
- glBindAttribLocation: TglBindAttribLocation;
- glBindBuffer: TglBindBuffer;
- glBindFramebuffer: TglBindFramebuffer;
- glBindRenderbuffer: TglBindRenderbuffer;
- glBindTexture: TglBindTexture;
- glBlendColor: TglBlendColor;
- glBlendEquation: TglBlendEquation;
- glBlendEquationSeparate: TglBlendEquationSeparate;
- glBlendFunc: TglBlendFunc;
- glBlendFuncSeparate: TglBlendFuncSeparate;
- glBufferData: TglBufferData;
- glBufferSubData: TglBufferSubData;
- glCheckFramebufferStatus: TglCheckFramebufferStatus;
- glClear: TglClear;
- glClearColor: TglClearColor;
- glClearDepthf: TglClearDepthf;
- glClearStencil: TglClearStencil;
- glColorMask: TglColorMask;
- glCompileShader: TglCompileShader;
- glCompressedTexImage2D: TglCompressedTexImage2D;
- glCompressedTexSubImage2D: TglCompressedTexSubImage2D;
- glCopyTexImage2D: TglCopyTexImage2D;
- glCopyTexSubImage2D: TglCopyTexSubImage2D;
- glCreateProgram: TglCreateProgram;
- glCreateShader: TglCreateShader;
- glCullFace: TglCullFace;
- glDeleteBuffers: TglDeleteBuffers;
- glDeleteFramebuffers: TglDeleteFramebuffers;
- glDeleteProgram: TglDeleteProgram;
- glDeleteRenderbuffers: TglDeleteRenderbuffers;
- glDeleteShader: TglDeleteShader;
- glDeleteTextures: TglDeleteTextures;
- glDepthFunc: TglDepthFunc;
- glDepthMask: TglDepthMask;
- glDepthRangef: TglDepthRangef;
- glDetachShader: TglDetachShader;
- glDisable: TglDisable;
- glDisableVertexAttribArray: TglDisableVertexAttribArray;
- glDrawArrays: TglDrawArrays;
- glDrawElements: TglDrawElements;
- glEnable: TglEnable;
- glEnableVertexAttribArray: TglEnableVertexAttribArray;
- glFinish: TglFinish;
- glFlush: TglFlush;
- glFramebufferRenderbuffer: TglFramebufferRenderbuffer;
- glFramebufferTexture2D: TglFramebufferTexture2D;
- glFrontFace: TglFrontFace;
- glGenBuffers: TglGenBuffers;
- glGenerateMipmap: TglGenerateMipmap;
- glGenFramebuffers: TglGenFramebuffers;
- glGenRenderbuffers: TglGenRenderbuffers;
- glGenTextures: TglGenTextures;
- glGetActiveAttrib: TglGetActiveAttrib;
- glGetActiveUniform: TglGetActiveUniform;
- glGetAttachedShaders: TglGetAttachedShaders;
- glGetAttribLocation: TglGetAttribLocation;
- glGetBooleanv: TglGetBooleanv;
- glGetBufferParameteriv: TglGetBufferParameteriv;
- glGetError: TglGetError;
- glGetFloatv: TglGetFloatv;
- glGetFramebufferAttachmentParameteriv: TglGetFramebufferAttachmentParameteriv;
- glGetIntegerv: TglGetIntegerv;
- glGetProgramiv: TglGetProgramiv;
- glGetProgramInfoLog: TglGetProgramInfoLog;
- glGetRenderbufferParameteriv: TglGetRenderbufferParameteriv;
- glGetShaderiv: TglGetShaderiv;
- glGetShaderInfoLog: TglGetShaderInfoLog;
- glGetShaderPrecisionFormat: TglGetShaderPrecisionFormat;
- glGetShaderSource: TglGetShaderSource;
- glGetString: TglGetString;
- glGetTexParameterfv: TglGetTexParameterfv;
- glGetTexParameteriv: TglGetTexParameteriv;
- glGetUniformfv: TglGetUniformfv;
- glGetUniformiv: TglGetUniformiv;
- glGetUniformLocation: TglGetUniformLocation;
- glGetVertexAttribfv: TglGetVertexAttribfv;
- glGetVertexAttribiv: TglGetVertexAttribiv;
- glGetVertexAttribPointerv: TglGetVertexAttribPointerv;
- glHint: TglHint;
- glIsBuffer: TglIsBuffer;
- glIsEnabled: TglIsEnabled;
- glIsFramebuffer: TglIsFramebuffer;
- glIsProgram: TglIsProgram;
- glIsRenderbuffer: TglIsRenderbuffer;
- glIsShader: TglIsShader;
- glIsTexture: TglIsTexture;
- glLineWidth: TglLineWidth;
- glLinkProgram: TglLinkProgram;
- glPixelStorei: TglPixelStorei;
- glPolygonOffset: TglPolygonOffset;
- glReadPixels: TglReadPixels;
- glReleaseShaderCompiler: TglReleaseShaderCompiler;
- glRenderbufferStorage: TglRenderbufferStorage;
- glSampleCoverage: TglSampleCoverage;
- glScissor: TglScissor;
- glShaderBinary: TglShaderBinary;
- glShaderSource: TglShaderSource;
- glStencilFunc: TglStencilFunc;
- glStencilFuncSeparate: TglStencilFuncSeparate;
- glStencilMask: TglStencilMask;
- glStencilMaskSeparate: TglStencilMaskSeparate;
- glStencilOp: TglStencilOp;
- glStencilOpSeparate: TglStencilOpSeparate;
- glTexImage2D: TglTexImage2D;
- glTexParameterf: TglTexParameterf;
- glTexParameterfv: TglTexParameterfv;
- glTexParameteri: TglTexParameteri;
- glTexParameteriv: TglTexParameteriv;
- glTexSubImage2D: TglTexSubImage2D;
- glUniform1f: TglUniform1f;
- glUniform1fv: TglUniform1fv;
- glUniform1i: TglUniform1i;
- glUniform1iv: TglUniform1iv;
- glUniform2f: TglUniform2f;
- glUniform2fv: TglUniform2fv;
- glUniform2i: TglUniform2i;
- glUniform2iv: TglUniform2iv;
- glUniform3f: TglUniform3f;
- glUniform3fv: TglUniform3fv;
- glUniform3i: TglUniform3i;
- glUniform3iv: TglUniform3iv;
- glUniform4f: TglUniform4f;
- glUniform4fv: TglUniform4fv;
- glUniform4i: TglUniform4i;
- glUniform4iv: TglUniform4iv;
- glUniformMatrix2fv: TglUniformMatrix2fv;
- glUniformMatrix3fv: TglUniformMatrix3fv;
- glUniformMatrix4fv: TglUniformMatrix4fv;
- glUseProgram: TglUseProgram;
- glValidateProgram: TglValidateProgram;
- glVertexAttrib1f: TglVertexAttrib1f;
- glVertexAttrib1fv: TglVertexAttrib1fv;
- glVertexAttrib2f: TglVertexAttrib2f;
- glVertexAttrib2fv: TglVertexAttrib2fv;
- glVertexAttrib3f: TglVertexAttrib3f;
- glVertexAttrib3fv: TglVertexAttrib3fv;
- glVertexAttrib4f: TglVertexAttrib4f;
- glVertexAttrib4fv: TglVertexAttrib4fv;
- glVertexAttribPointer: TglVertexAttribPointer;
- glViewport: TglViewport;
-
- { OpenGL ES 3.0 }
- glReadBuffer: TglReadBuffer;
- glDrawRangeElements: TglDrawRangeElements;
- glTexImage3D: TglTexImage3D;
- glTexSubImage3D: TglTexSubImage3D;
- glCopyTexSubImage3D: TglCopyTexSubImage3D;
- glCompressedTexImage3D: TglCompressedTexImage3D;
- glCompressedTexSubImage3D: TglCompressedTexSubImage3D;
- glGenQueries: TglGenQueries;
- glDeleteQueries: TglDeleteQueries;
- glIsQuery: TglIsQuery;
- glBeginQuery: TglBeginQuery;
- glEndQuery: TglEndQuery;
- glGetQueryiv: TglGetQueryiv;
- glGetQueryObjectuiv: TglGetQueryObjectuiv;
- glUnmapBuffer: TglUnmapBuffer;
- glGetBufferPointerv: TglGetBufferPointerv;
- glDrawBuffers: TglDrawBuffers;
- glUniformMatrix2x3fv: TglUniformMatrix2x3fv;
- glUniformMatrix3x2fv: TglUniformMatrix3x2fv;
- glUniformMatrix2x4fv: TglUniformMatrix2x4fv;
- glUniformMatrix4x2fv: TglUniformMatrix4x2fv;
- glUniformMatrix3x4fv: TglUniformMatrix3x4fv;
- glUniformMatrix4x3fv: TglUniformMatrix4x3fv;
- glBlitFramebuffer: TglBlitFramebuffer;
- glRenderbufferStorageMultisample: TglRenderbufferStorageMultisample;
- glFramebufferTextureLayer: TglFramebufferTextureLayer;
- glMapBufferRange: TglMapBufferRange;
- glFlushMappedBufferRange: TglFlushMappedBufferRange;
- glBindVertexArray: TglBindVertexArray;
- glDeleteVertexArrays: TglDeleteVertexArrays;
- glGenVertexArrays: TglGenVertexArrays;
- glIsVertexArray: TglIsVertexArray;
- glGetIntegeri_v: TglGetIntegeri_v;
- glBeginTransformFeedback: TglBeginTransformFeedback;
- glEndTransformFeedback: TglEndTransformFeedback;
- glBindBufferRange: TglBindBufferRange;
- glBindBufferBase: TglBindBufferBase;
- glTransformFeedbackVaryings: TglTransformFeedbackVaryings;
- glGetTransformFeedbackVarying: TglGetTransformFeedbackVarying;
- glVertexAttribIPointer: TglVertexAttribIPointer;
- glGetVertexAttribIiv: TglGetVertexAttribIiv;
- glGetVertexAttribIuiv: TglGetVertexAttribIuiv;
- glVertexAttribI4i: TglVertexAttribI4i;
- glVertexAttribI4ui: TglVertexAttribI4ui;
- glVertexAttribI4iv: TglVertexAttribI4iv;
- glVertexAttribI4uiv: TglVertexAttribI4uiv;
- glGetUniformuiv: TglGetUniformuiv;
- glGetFragDataLocation: TglGetFragDataLocation;
- glUniform1ui: TglUniform1ui;
- glUniform2ui: TglUniform2ui;
- glUniform3ui: TglUniform3ui;
- glUniform4ui: TglUniform4ui;
- glUniform1uiv: TglUniform1uiv;
- glUniform2uiv: TglUniform2uiv;
- glUniform3uiv: TglUniform3uiv;
- glUniform4uiv: TglUniform4uiv;
- glClearBufferiv: TglClearBufferiv;
- glClearBufferuiv: TglClearBufferuiv;
- glClearBufferfv: TglClearBufferfv;
- glClearBufferfi: TglClearBufferfi;
- glGetStringi: TglGetStringi;
- glCopyBufferSubData: TglCopyBufferSubData;
- glGetUniformIndices: TglGetUniformIndices;
- glGetActiveUniformsiv: TglGetActiveUniformsiv;
- glGetUniformBlockIndex: TglGetUniformBlockIndex;
- glGetActiveUniformBlockiv: TglGetActiveUniformBlockiv;
- glGetActiveUniformBlockName: TglGetActiveUniformBlockName;
- glUniformBlockBinding: TglUniformBlockBinding;
- glDrawArraysInstanced: TglDrawArraysInstanced;
- glDrawElementsInstanced: TglDrawElementsInstanced;
- glFenceSync: TglFenceSync;
- glIsSync: TglIsSync;
- glDeleteSync: TglDeleteSync;
- glClientWaitSync: TglClientWaitSync;
- glWaitSync: TglWaitSync;
- glGetInteger64v: TglGetInteger64v;
- glGetSynciv: TglGetSynciv;
- glGetInteger64i_v: TglGetInteger64i_v;
- glGetBufferParameteri64v: TglGetBufferParameteri64v;
- glGenSamplers: TglGenSamplers;
- glDeleteSamplers: TglDeleteSamplers;
- glIsSampler: TglIsSampler;
- glBindSampler: TglBindSampler;
- glSamplerParameteri: TglSamplerParameteri;
- glSamplerParameteriv: TglSamplerParameteriv;
- glSamplerParameterf: TglSamplerParameterf;
- glSamplerParameterfv: TglSamplerParameterfv;
- glGetSamplerParameteriv: TglGetSamplerParameteriv;
- glGetSamplerParameterfv: TglGetSamplerParameterfv;
- glVertexAttribDivisor: TglVertexAttribDivisor;
- glBindTransformFeedback: TglBindTransformFeedback;
- glDeleteTransformFeedbacks: TglDeleteTransformFeedbacks;
- glGenTransformFeedbacks: TglGenTransformFeedbacks;
- glIsTransformFeedback: TglIsTransformFeedback;
- glPauseTransformFeedback: TglPauseTransformFeedback;
- glResumeTransformFeedback: TglResumeTransformFeedback;
- glGetProgramBinary: TglGetProgramBinary;
- glProgramBinary: TglProgramBinary;
- glProgramParameteri: TglProgramParameteri;
- glInvalidateFramebuffer: TglInvalidateFramebuffer;
- glInvalidateSubFramebuffer: TglInvalidateSubFramebuffer;
- glTexStorage2D: TglTexStorage2D;
- glTexStorage3D: TglTexStorage3D;
- glGetInternalformativ: TglGetInternalformativ;
-
- { OpenGL ES 3.1 }
- glDispatchCompute: TglDispatchCompute;
- glDispatchComputeIndirect: TglDispatchComputeIndirect;
- glDrawArraysIndirect: TglDrawArraysIndirect;
- glDrawElementsIndirect: TglDrawElementsIndirect;
- glFramebufferParameteri: TglFramebufferParameteri;
- glGetFramebufferParameteriv: TglGetFramebufferParameteriv;
- glGetProgramInterfaceiv: TglGetProgramInterfaceiv;
- glGetProgramResourceIndex: TglGetProgramResourceIndex;
- glGetProgramResourceName: TglGetProgramResourceName;
- glGetProgramResourceiv: TglGetProgramResourceiv;
- glGetProgramResourceLocation: TglGetProgramResourceLocation;
- glUseProgramStages: TglUseProgramStages;
- glActiveShaderProgram: TglActiveShaderProgram;
- glCreateShaderProgramv: TglCreateShaderProgramv;
- glBindProgramPipeline: TglBindProgramPipeline;
- glDeleteProgramPipelines: TglDeleteProgramPipelines;
- glGenProgramPipelines: TglGenProgramPipelines;
- glIsProgramPipeline: TglIsProgramPipeline;
- glGetProgramPipelineiv: TglGetProgramPipelineiv;
- glProgramUniform1i: TglProgramUniform1i;
- glProgramUniform2i: TglProgramUniform2i;
- glProgramUniform3i: TglProgramUniform3i;
- glProgramUniform4i: TglProgramUniform4i;
- glProgramUniform1ui: TglProgramUniform1ui;
- glProgramUniform2ui: TglProgramUniform2ui;
- glProgramUniform3ui: TglProgramUniform3ui;
- glProgramUniform4ui: TglProgramUniform4ui;
- glProgramUniform1f: TglProgramUniform1f;
- glProgramUniform2f: TglProgramUniform2f;
- glProgramUniform3f: TglProgramUniform3f;
- glProgramUniform4f: TglProgramUniform4f;
- glProgramUniform1iv: TglProgramUniform1iv;
- glProgramUniform2iv: TglProgramUniform2iv;
- glProgramUniform3iv: TglProgramUniform3iv;
- glProgramUniform4iv: TglProgramUniform4iv;
- glProgramUniform1uiv: TglProgramUniform1uiv;
- glProgramUniform2uiv: TglProgramUniform2uiv;
- glProgramUniform3uiv: TglProgramUniform3uiv;
- glProgramUniform4uiv: TglProgramUniform4uiv;
- glProgramUniform1fv: TglProgramUniform1fv;
- glProgramUniform2fv: TglProgramUniform2fv;
- glProgramUniform3fv: TglProgramUniform3fv;
- glProgramUniform4fv: TglProgramUniform4fv;
- glProgramUniformMatrix2fv: TglProgramUniformMatrix2fv;
- glProgramUniformMatrix3fv: TglProgramUniformMatrix3fv;
- glProgramUniformMatrix4fv: TglProgramUniformMatrix4fv;
- glProgramUniformMatrix2x3fv: TglProgramUniformMatrix2x3fv;
- glProgramUniformMatrix3x2fv: TglProgramUniformMatrix3x2fv;
- glProgramUniformMatrix2x4fv: TglProgramUniformMatrix2x4fv;
- glProgramUniformMatrix4x2fv: TglProgramUniformMatrix4x2fv;
- glProgramUniformMatrix3x4fv: TglProgramUniformMatrix3x4fv;
- glProgramUniformMatrix4x3fv: TglProgramUniformMatrix4x3fv;
- glValidateProgramPipeline: TglValidateProgramPipeline;
- glGetProgramPipelineInfoLog: TglGetProgramPipelineInfoLog;
- glBindImageTexture: TglBindImageTexture;
- glGetBooleaniV: TglGetBooleaniV;
- glMemoryBarrier: TglMemoryBarrier;
- glMemoryBarrierByRegion: TglMemoryBarrierByRegion;
- glTexStorage2DMultisample: TglTexStorage2DMultisample;
- glGetMultisamplefv: TglGetMultisamplefv;
- glSampleMaski: TglSampleMaski;
- glGetTexLevelParameteriv: TglGetTexLevelParameteriv;
- glGetTexLevelParameterfv: TglGetTexLevelParameterfv;
- glBindVertexBuffer: TglBindVertexBuffer;
- glVertexAttribFormat: TglVertexAttribFormat;
- glVertexAttribIFormat: TglVertexAttribIFormat;
- glVertexAttribBinding: TglVertexAttribBinding;
- glVertexBindingDivisor: TglVertexBindingDivisor;
-
-
- { ===================================================== EGL ========================================================== }
- type
- EGLint = Integer;
- EGLboolean = Cardinal;
- EGLenum = Cardinal;
- EGLConfig = Pointer;
- EGLContext = Pointer;
- EGLDisplay = Pointer;
- EGLSurface = Pointer;
- EGLClientBuffer = Pointer;
- EGLNativeDisplayType = Pointer;
- EGLNativePixmapType = Pointer;
- EGLNativeWindowType = packed record
- element: Cardinal;
- width: Integer;
- height: Integer;
- end;
-
- PEGLint = ^EGLint;
- PEGLboolean = ^EGLboolean;
- PEGLenum = ^EGLenum;
- PEGLConfig = ^EGLConfig;
- PEGLContext = ^EGLContext;
- PEGLDisplay = ^EGLDisplay;
- PEGLSurface = ^EGLSurface;
- PEGLClientBuffer = ^EGLClientBuffer;
- PEGLNativeDisplayType = ^EGLNativeDisplayType;
- PEGLNativePixmapType = ^EGLNativePixmapType;
- PEGLNativeWindowType = ^EGLNativeWindowType;
-
- const
- EGL_FALSE: EGLboolean = 0;
- EGL_TRUE: EGLboolean = 1;
-
- EGL_DEFAULT_DISPLAY: EGLNativeDisplayType = nil;
- EGL_NO_CONTEXT: EGLContext = nil;
- EGL_NO_DISPLAY: EGLDisplay = nil;
- EGL_NO_SURFACE: EGLSurface = nil;
-
- EGL_DONT_CARE: EGLint = -1;
-
- EGL_SUCCESS = $3000;
- EGL_NOT_INITIALIZED = $3001;
- EGL_BAD_ACCESS = $3002;
- EGL_BAD_ALLOC = $3003;
- EGL_BAD_ATTRIBUTE = $3004;
- EGL_BAD_CONFIG = $3005;
- EGL_BAD_CONTEXT = $3006;
- EGL_BAD_CURRENT_SURFACE = $3007;
- EGL_BAD_DISPLAY = $3008;
- EGL_BAD_MATCH = $3009;
- EGL_BAD_NATIVE_PIXMAP = $300A;
- EGL_BAD_NATIVE_WINDOW = $300B;
- EGL_BAD_PARAMETER = $300C;
- EGL_BAD_SURFACE = $300D;
- EGL_CONTEXT_LOST = $300E;
-
- EGL_BUFFER_SIZE = $3020;
- EGL_ALPHA_SIZE = $3021;
- EGL_BLUE_SIZE = $3022;
- EGL_GREEN_SIZE = $3023;
- EGL_RED_SIZE = $3024;
- EGL_DEPTH_SIZE = $3025;
- EGL_STENCIL_SIZE = $3026;
- EGL_CONFIG_CAVEAT = $3027;
- EGL_CONFIG_ID = $3028;
- EGL_LEVEL = $3029;
- EGL_MAX_PBUFFER_HEIGHT = $302A;
- EGL_MAX_PBUFFER_PIXELS = $302B;
- EGL_MAX_PBUFFER_WIDTH = $302C;
- EGL_NATIVE_RENDERABLE = $302D;
- EGL_NATIVE_VISUAL_ID = $302E;
- EGL_NATIVE_VISUAL_TYPE = $302F;
- EGL_SAMPLES = $3031;
- EGL_SAMPLE_BUFFERS = $3032;
- EGL_SURFACE_TYPE = $3033;
- EGL_TRANSPARENT_TYPE = $3034;
- EGL_TRANSPARENT_BLUE_VALUE = $3035;
- EGL_TRANSPARENT_GREEN_VALUE = $3036;
- EGL_TRANSPARENT_RED_VALUE = $3037;
- EGL_NONE = $3038;
- EGL_BIND_TO_TEXTURE_RGB = $3039;
- EGL_BIND_TO_TEXTURE_RGBA = $303A;
- EGL_MIN_SWAP_INTERVAL = $303B;
- EGL_MAX_SWAP_INTERVAL = $303C;
- EGL_LUMINANCE_SIZE = $303D;
- EGL_ALPHA_MASK_SIZE = $303E;
- EGL_COLOR_BUFFER_TYPE = $303F;
- EGL_RENDERABLE_TYPE = $3040;
- EGL_MATCH_NATIVE_PIXMAP = $3041;
- EGL_CONFORMANT = $3042;
-
- EGL_SLOW_CONFIG = $3050;
- EGL_NON_CONFORMANT_CONFIG = $3051;
- EGL_TRANSPARENT_RGB = $3052;
- EGL_RGB_BUFFER = $308E;
- EGL_LUMINANCE_BUFFER = $308F;
-
- EGL_NO_TEXTURE = $305C;
- EGL_TEXTURE_RGB = $305D;
- EGL_TEXTURE_RGBA = $305E;
- EGL_TEXTURE_2D = $305F;
-
- EGL_PBUFFER_BIT = $0001;
- EGL_PIXMAP_BIT = $0002;
- EGL_WINDOW_BIT = $0004;
- EGL_VG_COLORSPACE_LINEAR_BIT = $0020;
- EGL_VG_ALPHA_FORMAT_PRE_BIT = $0040;
- EGL_MULTISAMPLE_RESOLVE_BOX_BIT = $0200;
- EGL_SWAP_BEHAVIOR_PRESERVED_BIT = $0400;
-
- EGL_OPENGL_ES_BIT = $0001;
- EGL_OPENVG_BIT = $0002;
- EGL_OPENGL_ES2_BIT = $0004;
- EGL_OPENGL_BIT = $0008;
-
- EGL_VENDOR = $3053;
- EGL_VERSION = $3054;
- EGL_EXTENSIONS = $3055;
- EGL_CLIENT_APIS = $308D;
-
- EGL_HEIGHT = $3056;
- EGL_WIDTH = $3057;
- EGL_LARGEST_PBUFFER = $3058;
- EGL_TEXTURE_FORMAT = $3080;
- EGL_TEXTURE_TARGET = $3081;
- EGL_MIPMAP_TEXTURE = $3082;
- EGL_MIPMAP_LEVEL = $3083;
- EGL_RENDER_BUFFER = $3086;
- EGL_VG_COLORSPACE = $3087;
- EGL_VG_ALPHA_FORMAT = $3088;
- EGL_HORIZONTAL_RESOLUTION = $3090;
- EGL_VERTICAL_RESOLUTION = $3091;
- EGL_PIXEL_ASPECT_RATIO = $3092;
- EGL_SWAP_BEHAVIOR = $3093;
- EGL_MULTISAMPLE_RESOLVE = $3099;
-
- EGL_BACK_BUFFER = $3084;
- EGL_SINGLE_BUFFER = $3085;
-
- EGL_VG_COLORSPACE_sRGB = $3089;
- EGL_VG_COLORSPACE_LINEAR = $308A;
-
- EGL_VG_ALPHA_FORMAT_NONPRE = $308B;
- EGL_VG_ALPHA_FORMAT_PRE = $308C;
-
- EGL_DISPLAY_SCALING = 10000;
-
- EGL_UNKNOWN: EGLint = -1;
-
- EGL_BUFFER_PRESERVED = $3094;
- EGL_BUFFER_DESTROYED = $3095;
-
- EGL_OPENVG_IMAGE = $3096;
-
- EGL_CONTEXT_CLIENT_TYPE = $3097;
-
- EGL_CONTEXT_CLIENT_VERSION = $3098;
-
- EGL_MULTISAMPLE_RESOLVE_DEFAULT = $309A;
- EGL_MULTISAMPLE_RESOLVE_BOX = $309B;
-
- EGL_OPENGL_ES_API = $30A0;
- EGL_OPENVG_API = $30A1;
- EGL_OPENGL_API = $30A2;
-
- EGL_DRAW = $3059;
- EGL_READ = $305A;
-
- EGL_CORE_NATIVE_ENGINE = $305B;
-
- EGL_COLORSPACE = EGL_VG_COLORSPACE;
- EGL_ALPHA_FORMAT = EGL_VG_ALPHA_FORMAT;
- EGL_COLORSPACE_sRGB = EGL_VG_COLORSPACE_sRGB;
- EGL_COLORSPACE_LINEAR = EGL_VG_COLORSPACE_LINEAR;
- EGL_ALPHA_FORMAT_NONPRE = EGL_VG_ALPHA_FORMAT_NONPRE;
- EGL_ALPHA_FORMAT_PRE = EGL_VG_ALPHA_FORMAT_PRE;
-
- type
- TeglGetError = function: EGLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglGetDisplay = function(aDisplayID: EGLNativeDisplayType): EGLDisplay; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglInitialize = function(aDisplay: EGLDisplay; aMajor, aMinor: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglTerminate = function(aDisplay: EGLDisplay): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglQueryString = function(aDisplay: EGLDisplay; aName: EGLint): PAnsiChar; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglGetConfigs = function(aDisplay: EGLDisplay; aConfigs: PEGLConfig; aConfigSize: EGLint; aNumConfig: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglChooseConfig = function(aDisplay: EGLDisplay; const aAttribList: PEGLint; aConfigs: PEGLConfig; aConfigSize: EGLint; aNumConfig: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglGetConfigAttrib = function(aDisplay: EGLDisplay; aConfig: EGLConfig; aAttribute: EGLint; aValue : PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglCreateWindowSurface = function(aDisplay: EGLDisplay; aConfig: EGLConfig; aWinType: PEGLNativeWindowType; const aAttribList: PEGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglCreatePbufferSurface = function(aDisplay: EGLDisplay; aConfig: EGLConfig; const aAttribList: PEGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglCreatePixmapSurface = function(aDisplay: EGLDisplay; aConfig: EGLConfig; aPixmap: EGLNativePixmapType; const aAttribList: PEGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglDestroySurface = function(aDisplay: EGLDisplay; aSurface: EGLSurface): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglQuerySurface = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aAttribute: EGLint; aValue: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglBindAPI = function(aApi: EGLenum): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglQueryAPI = function: EGLenum; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglWaitClient = function: EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglReleaseThread = function: EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglCreatePbufferFromClientBuffer = function(aDisplay: EGLDisplay; aBufType: EGLenum; aBuffer: EGLClientBuffer; aConfig: EGLConfig; const aAttribList: PEGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglSurfaceAttrib = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aAttribute: EGLint; aValue: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglBindTexImage = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aBuffer: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglReleaseTexImage = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aBuffer: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglSwapInterval = function(aDisplay: EGLDisplay; aInterval: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglCreateContext = function(aDisplay: EGLDisplay; aConfig: EGLConfig; aShareContext: EGLContext; const aAttribList: PEGLint): EGLContext; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglDestroyContext = function(aDisplay: EGLDisplay; aContext: EGLContext): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglMakeCurrent = function(aDisplay: EGLDisplay; aDraw: EGLSurface; aRead: EGLSurface; aContext: EGLContext): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglGetCurrentContext = function: EGLContext; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglGetCurrentSurface = function(aReadDraw: EGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglGetCurrentDisplay = function: EGLDisplay; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglQueryContext = function(aDisplay: EGLDisplay; aContext: EGLContext; aAttribute: EGLint; aValue: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglWaitGL = function: EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglWaitNative = function(aEngine: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglSwapBuffers = function(aDisplay: EGLDisplay; aSurface: EGLSurface): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
- TeglCopyBuffers = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aTarget: EGLNativePixmapType): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
- TeglGetProcAddress = function(const aProcName: PAnsiChar): Pointer; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
-
-
- var
- eglGetError: TeglGetError;
-
- eglGetDisplay: TeglGetDisplay;
- eglInitialize: TeglInitialize;
- eglTerminate: TeglTerminate;
-
- eglQueryString: TeglQueryString;
-
- eglGetConfigs: TeglGetConfigs;
- eglChooseConfig: TeglChooseConfig;
- eglGetConfigAttrib: TeglGetConfigAttrib;
-
- eglCreateWindowSurface: TeglCreateWindowSurface;
- eglCreatePbufferSurface: TeglCreatePbufferSurface;
- eglCreatePixmapSurface: TeglCreatePixmapSurface;
- eglDestroySurface: TeglDestroySurface;
- eglQuerySurface: TeglQuerySurface;
-
- eglBindAPI: TeglBindAPI;
- eglQueryAPI: TeglQueryAPI;
-
- eglWaitClient: TeglWaitClient;
-
- eglReleaseThread: TeglReleaseThread;
-
- eglCreatePbufferFromClientBuffer: TeglCreatePbufferFromClientBuffer;
-
- eglSurfaceAttrib: TeglSurfaceAttrib;
- eglBindTexImage: TeglBindTexImage;
- eglReleaseTexImage: TeglReleaseTexImage;
-
- eglSwapInterval: TeglSwapInterval;
-
- eglCreateContext: TeglCreateContext;
- eglDestroyContext: TeglDestroyContext;
- eglMakeCurrent: TeglMakeCurrent;
-
- eglGetCurrentContext: TeglGetCurrentContext;
- eglGetCurrentSurface: TeglGetCurrentSurface;
- eglGetCurrentDisplay: TeglGetCurrentDisplay;
- eglQueryContext: TeglQueryContext;
-
- eglWaitGL: TeglWaitGL;
- eglWaitNative: TeglWaitNative;
- eglSwapBuffers: TeglSwapBuffers;
- eglCopyBuffers: TeglCopyBuffers;
-
- eglGetProcAddress: TeglGetProcAddress;
-
-
- { =================================================== DelphiGL ======================================================= }
- type
- EdglOpenGLES = class(Exception);
- EeglError = class(EdglOpenGLES)
- public
- ErrorCode: EGLint;
- constructor Create(const msg: string; const aErrorCode: EGLint);
- end;
-
- TdglRenderContext = packed record
- Display: EGLDisplay;
- Surface: EGLSurface;
- Context: EGLContext;
- end;
-
- function InitOpenGLES(const aOpenGLESLibName: String = LIBNAME_OPENGLES; aEGLLibName: String = LIBNAME_EGL): Boolean;
-
- function CreateRenderingContext(const aDisplayType: EGLNativeDisplayType; const aWindowType: PEGLNativeWindowType; const aAttributes: PEGLint): TdglRenderContext;
- procedure DestroyRenderingContext(const aContext: TdglRenderContext);
- function ActivateRenderingContext(const aContext: TdglRenderContext): Boolean;
- function DeactivateRenderingContext(const aContext: TdglRenderContext): Boolean;
- procedure SwapBuffers(const aContext: TdglRenderContext);
-
- procedure ReadExtensions;
-
- implementation
-
- var
- LibHandleOpenGLES: Pointer = nil;
- LibHandleEGL: Pointer = nil;
-
- function dglLoadLibrary(const aName: PChar): Pointer;
- begin
- {$IFDEF DGL_LINUX}
- result := dlopen(aName, RTLD_LAZY);
- {$ENDIF}
- end;
-
- function dglGetProcAddress(const aProcName: PAnsiChar): Pointer;
- begin
- result := nil;
-
- if Assigned(LibHandleOpenGLES) then
- result := dlsym(LibHandleOpenGLES, aProcName);
-
- if not Assigned(result) and Assigned(eglGetProcAddress) then
- result := eglGetProcAddress(aProcName);
-
- if not Assigned(result) and Assigned(LibHandleEGL) then
- result := dlsym(LibHandleEGL, aProcName);
- end;
-
- function dglFreeAndNilLibrary(var aLibHandle: Pointer): Boolean;
- begin
- if Assigned(aLibHandle) then begin
- {$IFDEF DGL_LINUX}
- result := (dlclose(aLibHandle) = 0);
- aLibHandle := nil;
- {$ENDIF}
- end else
- result := false;
- end;
-
- procedure ReadOpenGLCore;
- begin
-
- end;
-
- function InitOpenGLES(const aOpenGLESLibName: String; aEGLLibName: String): Boolean;
- begin
- result := true;
-
- if Assigned(LibHandleOpenGLES) then
- dglFreeAndNilLibrary(LibHandleOpenGLES);
-
- if Assigned(LibHandleEGL) then
- dglFreeAndNilLibrary(LibHandleEGL);
-
- LibHandleOpenGLES := dglLoadLibrary(PChar(aOpenGLESLibName));
- LibHandleEGL := dglLoadLibrary(PChar(aEGLLibName));
-
- // load EGL procedures
- if Assigned(LibHandleEGL) then begin
- eglGetProcAddress := dglGetProcAddress('eglGetProcAddress');
- eglGetError := dglGetProcAddress('eglGetError');
- eglGetDisplay := dglGetProcAddress('eglGetDisplay');
- eglInitialize := dglGetProcAddress('eglInitialize');
- eglTerminate := dglGetProcAddress('eglTerminate');
- eglQueryString := dglGetProcAddress('eglQueryString');
- eglGetConfigs := dglGetProcAddress('eglGetConfigs');
- eglChooseConfig := dglGetProcAddress('eglChooseConfig');
- eglGetConfigAttrib := dglGetProcAddress('eglGetConfigAttrib');
- eglCreateWindowSurface := dglGetProcAddress('eglCreateWindowSurface');
- eglCreatePbufferSurface := dglGetProcAddress('eglCreatePbufferSurface');
- eglCreatePixmapSurface := dglGetProcAddress('eglCreatePixmapSurface');
- eglDestroySurface := dglGetProcAddress('eglDestroySurface');
- eglQuerySurface := dglGetProcAddress('eglQuerySurface');
- eglBindAPI := dglGetProcAddress('eglBindAPI');
- eglQueryAPI := dglGetProcAddress('eglQueryAPI');
- eglWaitClient := dglGetProcAddress('eglWaitClient');
- eglReleaseThread := dglGetProcAddress('eglReleaseThread');
- eglCreatePbufferFromClientBuffer := dglGetProcAddress('eglCreatePbufferFromClientBuffer');
- eglSurfaceAttrib := dglGetProcAddress('eglSurfaceAttrib');
- eglBindTexImage := dglGetProcAddress('eglBindTexImage');
- eglReleaseTexImage := dglGetProcAddress('eglReleaseTexImage');
- eglSwapInterval := dglGetProcAddress('eglSwapInterval');
- eglCreateContext := dglGetProcAddress('eglCreateContext');
- eglDestroyContext := dglGetProcAddress('eglDestroyContext');
- eglMakeCurrent := dglGetProcAddress('eglMakeCurrent');
- eglGetCurrentContext := dglGetProcAddress('eglGetCurrentContext');
- eglGetCurrentSurface := dglGetProcAddress('eglGetCurrentSurface');
- eglGetCurrentDisplay := dglGetProcAddress('eglGetCurrentDisplay');
- eglQueryContext := dglGetProcAddress('eglQueryContext');
- eglWaitGL := dglGetProcAddress('eglWaitGL');
- eglWaitNative := dglGetProcAddress('eglWaitNative');
- eglSwapBuffers := dglGetProcAddress('eglSwapBuffers');
- eglCopyBuffers := dglGetProcAddress('eglCopyBuffers');
- end else
- result := false;
- end;
-
- procedure RaiseEglError(const aMsg: String);
- var err: EGLint;
- begin
- err := eglGetError();
- raise EeglError.Create(aMsg + ' ErrorCode: 0x' + IntToHex(err, 8), err);
- end;
-
- function CreateRenderingContext(const aDisplayType: EGLNativeDisplayType; const aWindowType: PEGLNativeWindowType; const aAttributes: PEGLint): TdglRenderContext;
- var
- ConfigCount: EGLint;
- Config: EGLConfig;
- begin
- if (not Assigned(LibHandleOpenGLES) or not Assigned(LibHandleEGL)) and
- not InitOpenGLES then
- raise EdglOpenGLES.Create('unable to initialize OpenGL library');
-
- result.Display := eglGetDisplay(aDisplayType);
- if (result.Display = EGL_NO_DISPLAY) then
- RaiseEglError('unable to get display.');
-
- if (eglInitialize(result.Display, nil, nil) <> EGL_TRUE) then
- RaiseEglError('unable to initialize egl.');
-
- if (eglChooseConfig(result.Display, aAttributes, @Config, 1, @ConfigCount) <> EGL_TRUE) or
- (ConfigCount <> 1) then
- RaiseEglError('unable to get suitable config.');
-
- result.Surface := eglCreateWindowSurface(result.Display, Config, aWindowType, nil);
- if (result.Surface = EGL_NO_SURFACE) then
- RaiseEglError('unable to create window surface.');
-
- result.Context := eglCreateContext(result.Display, Config, EGL_NO_CONTEXT, nil);
- if (result.Context = EGL_NO_CONTEXT) then begin
- eglDestroySurface(result.Display, result.Surface);
- RaiseEglError('unable to create context.');
- end;
- end;
-
- procedure DestroyRenderingContext(const aContext: TdglRenderContext);
- begin
- if (eglGetCurrentContext = aContext.Context) and
- not DeactivateRenderingContext(aContext) then
- RaiseEglError('unable to unbind context.');
-
- if (eglDestroyContext(aContext.Display, aContext.Context) <> EGL_TRUE) then
- RaiseEglError('unable to destory context.');
-
- if (eglDestroySurface(aContext.Display, aContext.Surface) <> EGL_TRUE) then
- RaiseEglError('unable to destroy surface.');
- end;
-
- function ActivateRenderingContext(const aContext: TdglRenderContext): Boolean;
- begin
- result := (eglMakeCurrent(aContext.Display, aContext.Surface, aContext.Surface, aContext.Context) = GL_TRUE);
- end;
-
- function DeactivateRenderingContext(const aContext: TdglRenderContext): Boolean;
- begin
- result := (eglMakeCurrent(aContext.Display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT) = EGL_TRUE);
- end;
-
- procedure SwapBuffers(const aContext: TdglRenderContext);
- begin
- eglSwapBuffers(aContext.Display, aContext.Surface);
- end;
-
- procedure ReadExtensions;
- begin
- glActiveTexture := dglGetProcAddress('glActiveTexture');
- glAttachShader := dglGetProcAddress('glAttachShader');
- glBindAttribLocation := dglGetProcAddress('glBindAttribLocation');
- glBindBuffer := dglGetProcAddress('glBindBuffer');
- glBindFramebuffer := dglGetProcAddress('glBindFramebuffer');
- glBindRenderbuffer := dglGetProcAddress('glBindRenderbuffer');
- glBindTexture := dglGetProcAddress('glBindTexture');
- glBlendColor := dglGetProcAddress('glBlendColor');
- glBlendEquation := dglGetProcAddress('glBlendEquation');
- glBlendEquationSeparate := dglGetProcAddress('glBlendEquationSeparate');
- glBlendFunc := dglGetProcAddress('glBlendFunc');
- glBlendFuncSeparate := dglGetProcAddress('glBlendFuncSeparate');
- glBufferData := dglGetProcAddress('glBufferData');
- glBufferSubData := dglGetProcAddress('glBufferSubData');
- glCheckFramebufferStatus := dglGetProcAddress('glCheckFramebufferStatus');
- glClear := dglGetProcAddress('glClear');
- glClearColor := dglGetProcAddress('glClearColor');
- glClearDepthf := dglGetProcAddress('glClearDepthf');
- glClearStencil := dglGetProcAddress('glClearStencil');
- glColorMask := dglGetProcAddress('glColorMask');
- glCompileShader := dglGetProcAddress('glCompileShader');
- glCompressedTexImage2D := dglGetProcAddress('glCompressedTexImage2D');
- glCompressedTexSubImage2D := dglGetProcAddress('glCompressedTexSubImage2D');
- glCopyTexImage2D := dglGetProcAddress('glCopyTexImage2D');
- glCopyTexSubImage2D := dglGetProcAddress('glCopyTexSubImage2D');
- glCreateProgram := dglGetProcAddress('glCreateProgram');
- glCreateShader := dglGetProcAddress('glCreateShader');
- glCullFace := dglGetProcAddress('glCullFace');
- glDeleteBuffers := dglGetProcAddress('glDeleteBuffers');
- glDeleteFramebuffers := dglGetProcAddress('glDeleteFramebuffers');
- glDeleteProgram := dglGetProcAddress('glDeleteProgram');
- glDeleteRenderbuffers := dglGetProcAddress('glDeleteRenderbuffers');
- glDeleteShader := dglGetProcAddress('glDeleteShader');
- glDeleteTextures := dglGetProcAddress('glDeleteTextures');
- glDepthFunc := dglGetProcAddress('glDepthFunc');
- glDepthMask := dglGetProcAddress('glDepthMask');
- glDepthRangef := dglGetProcAddress('glDepthRangef');
- glDetachShader := dglGetProcAddress('glDetachShader');
- glDisable := dglGetProcAddress('glDisable');
- glDisableVertexAttribArray := dglGetProcAddress('glDisableVertexAttribArray');
- glDrawArrays := dglGetProcAddress('glDrawArrays');
- glDrawElements := dglGetProcAddress('glDrawElements');
- glEnable := dglGetProcAddress('glEnable');
- glEnableVertexAttribArray := dglGetProcAddress('glEnableVertexAttribArray');
- glFinish := dglGetProcAddress('glFinish');
- glFlush := dglGetProcAddress('glFlush');
- glFramebufferRenderbuffer := dglGetProcAddress('glFramebufferRenderbuffer');
- glFramebufferTexture2D := dglGetProcAddress('glFramebufferTexture2D');
- glFrontFace := dglGetProcAddress('glFrontFace');
- glGenBuffers := dglGetProcAddress('glGenBuffers');
- glGenerateMipmap := dglGetProcAddress('glGenerateMipmap');
- glGenFramebuffers := dglGetProcAddress('glGenFramebuffers');
- glGenRenderbuffers := dglGetProcAddress('glGenRenderbuffers');
- glGenTextures := dglGetProcAddress('glGenTextures');
- glGetActiveAttrib := dglGetProcAddress('glGetActiveAttrib');
- glGetActiveUniform := dglGetProcAddress('glGetActiveUniform');
- glGetAttachedShaders := dglGetProcAddress('glGetAttachedShaders');
- glGetAttribLocation := dglGetProcAddress('glGetAttribLocation');
- glGetBooleanv := dglGetProcAddress('glGetBooleanv');
- glGetBufferParameteriv := dglGetProcAddress('glGetBufferParameteriv');
- glGetError := dglGetProcAddress('glGetError');
- glGetFloatv := dglGetProcAddress('glGetFloatv');
- glGetFramebufferAttachmentParameteriv := dglGetProcAddress('glGetFramebufferAttachmentParameteriv');
- glGetIntegerv := dglGetProcAddress('glGetIntegerv');
- glGetProgramiv := dglGetProcAddress('glGetProgramiv');
- glGetProgramInfoLog := dglGetProcAddress('glGetProgramInfoLog');
- glGetRenderbufferParameteriv := dglGetProcAddress('glGetRenderbufferParameteriv');
- glGetShaderiv := dglGetProcAddress('glGetShaderiv');
- glGetShaderInfoLog := dglGetProcAddress('glGetShaderInfoLog');
- glGetShaderPrecisionFormat := dglGetProcAddress('glGetShaderPrecisionFormat');
- glGetShaderSource := dglGetProcAddress('glGetShaderSource');
- glGetString := dglGetProcAddress('glGetString');
- glGetTexParameterfv := dglGetProcAddress('glGetTexParameterfv');
- glGetTexParameteriv := dglGetProcAddress('glGetTexParameteriv');
- glGetUniformfv := dglGetProcAddress('glGetUniformfv');
- glGetUniformiv := dglGetProcAddress('glGetUniformiv');
- glGetUniformLocation := dglGetProcAddress('glGetUniformLocation');
- glGetVertexAttribfv := dglGetProcAddress('glGetVertexAttribfv');
- glGetVertexAttribiv := dglGetProcAddress('glGetVertexAttribiv');
- glGetVertexAttribPointerv := dglGetProcAddress('glGetVertexAttribPointerv');
- glHint := dglGetProcAddress('glHint');
- glIsBuffer := dglGetProcAddress('glIsBuffer');
- glIsEnabled := dglGetProcAddress('glIsEnabled');
- glIsFramebuffer := dglGetProcAddress('glIsFramebuffer');
- glIsProgram := dglGetProcAddress('glIsProgram');
- glIsRenderbuffer := dglGetProcAddress('glIsRenderbuffer');
- glIsShader := dglGetProcAddress('glIsShader');
- glIsTexture := dglGetProcAddress('glIsTexture');
- glLineWidth := dglGetProcAddress('glLineWidth');
- glLinkProgram := dglGetProcAddress('glLinkProgram');
- glPixelStorei := dglGetProcAddress('glPixelStorei');
- glPolygonOffset := dglGetProcAddress('glPolygonOffset');
- glReadPixels := dglGetProcAddress('glReadPixels');
- glReleaseShaderCompiler := dglGetProcAddress('glReleaseShaderCompiler');
- glRenderbufferStorage := dglGetProcAddress('glRenderbufferStorage');
- glSampleCoverage := dglGetProcAddress('glSampleCoverage');
- glScissor := dglGetProcAddress('glScissor');
- glShaderBinary := dglGetProcAddress('glShaderBinary');
- glShaderSource := dglGetProcAddress('glShaderSource');
- glStencilFunc := dglGetProcAddress('glStencilFunc');
- glStencilFuncSeparate := dglGetProcAddress('glStencilFuncSeparate');
- glStencilMask := dglGetProcAddress('glStencilMask');
- glStencilMaskSeparate := dglGetProcAddress('glStencilMaskSeparate');
- glStencilOp := dglGetProcAddress('glStencilOp');
- glStencilOpSeparate := dglGetProcAddress('glStencilOpSeparate');
- glTexImage2D := dglGetProcAddress('glTexImage2D');
- glTexParameterf := dglGetProcAddress('glTexParameterf');
- glTexParameterfv := dglGetProcAddress('glTexParameterfv');
- glTexParameteri := dglGetProcAddress('glTexParameteri');
- glTexParameteriv := dglGetProcAddress('glTexParameteriv');
- glTexSubImage2D := dglGetProcAddress('glTexSubImage2D');
- glUniform1f := dglGetProcAddress('glUniform1f');
- glUniform1fv := dglGetProcAddress('glUniform1fv');
- glUniform1i := dglGetProcAddress('glUniform1i');
- glUniform1iv := dglGetProcAddress('glUniform1iv');
- glUniform2f := dglGetProcAddress('glUniform2f');
- glUniform2fv := dglGetProcAddress('glUniform2fv');
- glUniform2i := dglGetProcAddress('glUniform2i');
- glUniform2iv := dglGetProcAddress('glUniform2iv');
- glUniform3f := dglGetProcAddress('glUniform3f');
- glUniform3fv := dglGetProcAddress('glUniform3fv');
- glUniform3i := dglGetProcAddress('glUniform3i');
- glUniform3iv := dglGetProcAddress('glUniform3iv');
- glUniform4f := dglGetProcAddress('glUniform4f');
- glUniform4fv := dglGetProcAddress('glUniform4fv');
- glUniform4i := dglGetProcAddress('glUniform4i');
- glUniform4iv := dglGetProcAddress('glUniform4iv');
- glUniformMatrix2fv := dglGetProcAddress('glUniformMatrix2fv');
- glUniformMatrix3fv := dglGetProcAddress('glUniformMatrix3fv');
- glUniformMatrix4fv := dglGetProcAddress('glUniformMatrix4fv');
- glUseProgram := dglGetProcAddress('glUseProgram');
- glValidateProgram := dglGetProcAddress('glValidateProgram');
- glVertexAttrib1f := dglGetProcAddress('glVertexAttrib1f');
- glVertexAttrib1fv := dglGetProcAddress('glVertexAttrib1fv');
- glVertexAttrib2f := dglGetProcAddress('glVertexAttrib2f');
- glVertexAttrib2fv := dglGetProcAddress('glVertexAttrib2fv');
- glVertexAttrib3f := dglGetProcAddress('glVertexAttrib3f');
- glVertexAttrib3fv := dglGetProcAddress('glVertexAttrib3fv');
- glVertexAttrib4f := dglGetProcAddress('glVertexAttrib4f');
- glVertexAttrib4fv := dglGetProcAddress('glVertexAttrib4fv');
- glVertexAttribPointer := dglGetProcAddress('glVertexAttribPointer');
- glViewport := dglGetProcAddress('glViewport');
-
- { OpenGL ES 3.0 }
- glReadBuffer := dglGetProcAddress('glReadBuffer');
- glDrawRangeElements := dglGetProcAddress('glDrawRangeElements');
- glTexImage3D := dglGetProcAddress('glTexImage3D');
- glTexSubImage3D := dglGetProcAddress('glTexSubImage3D');
- glCopyTexSubImage3D := dglGetProcAddress('glCopyTexSubImage3D');
- glCompressedTexImage3D := dglGetProcAddress('glCompressedTexImage3D');
- glCompressedTexSubImage3D := dglGetProcAddress('glCompressedTexSubImage3D');
- glGenQueries := dglGetProcAddress('glGenQueries');
- glDeleteQueries := dglGetProcAddress('glDeleteQueries');
- glIsQuery := dglGetProcAddress('glIsQuery');
- glBeginQuery := dglGetProcAddress('glBeginQuery');
- glEndQuery := dglGetProcAddress('glEndQuery');
- glGetQueryiv := dglGetProcAddress('glGetQueryiv');
- glGetQueryObjectuiv := dglGetProcAddress('glGetQueryObjectuiv');
- glUnmapBuffer := dglGetProcAddress('glUnmapBuffer');
- glGetBufferPointerv := dglGetProcAddress('glGetBufferPointerv');
- glDrawBuffers := dglGetProcAddress('glDrawBuffers');
- glUniformMatrix2x3fv := dglGetProcAddress('glUniformMatrix2x3fv');
- glUniformMatrix3x2fv := dglGetProcAddress('glUniformMatrix3x2fv');
- glUniformMatrix2x4fv := dglGetProcAddress('glUniformMatrix2x4fv');
- glUniformMatrix4x2fv := dglGetProcAddress('glUniformMatrix4x2fv');
- glUniformMatrix3x4fv := dglGetProcAddress('glUniformMatrix3x4fv');
- glUniformMatrix4x3fv := dglGetProcAddress('glUniformMatrix4x3fv');
- glBlitFramebuffer := dglGetProcAddress('glBlitFramebuffer');
- glRenderbufferStorageMultisample := dglGetProcAddress('glRenderbufferStorageMultisample');
- glFramebufferTextureLayer := dglGetProcAddress('glFramebufferTextureLayer');
- glMapBufferRange := dglGetProcAddress('glMapBufferRange');
- glFlushMappedBufferRange := dglGetProcAddress('glFlushMappedBufferRange');
- glBindVertexArray := dglGetProcAddress('glBindVertexArray');
- glDeleteVertexArrays := dglGetProcAddress('glDeleteVertexArrays');
- glGenVertexArrays := dglGetProcAddress('glGenVertexArrays');
- glIsVertexArray := dglGetProcAddress('glIsVertexArray');
- glGetIntegeri_v := dglGetProcAddress('glGetIntegeri_v');
- glBeginTransformFeedback := dglGetProcAddress('glBeginTransformFeedback');
- glEndTransformFeedback := dglGetProcAddress('glEndTransformFeedback');
- glBindBufferRange := dglGetProcAddress('glBindBufferRange');
- glBindBufferBase := dglGetProcAddress('glBindBufferBase');
- glTransformFeedbackVaryings := dglGetProcAddress('glTransformFeedbackVaryings');
- glGetTransformFeedbackVarying := dglGetProcAddress('glGetTransformFeedbackVarying');
- glVertexAttribIPointer := dglGetProcAddress('glVertexAttribIPointer');
- glGetVertexAttribIiv := dglGetProcAddress('glGetVertexAttribIiv');
- glGetVertexAttribIuiv := dglGetProcAddress('glGetVertexAttribIuiv');
- glVertexAttribI4i := dglGetProcAddress('glVertexAttribI4i');
- glVertexAttribI4ui := dglGetProcAddress('glVertexAttribI4ui');
- glVertexAttribI4iv := dglGetProcAddress('glVertexAttribI4iv');
- glVertexAttribI4uiv := dglGetProcAddress('glVertexAttribI4uiv');
- glGetUniformuiv := dglGetProcAddress('glGetUniformuiv');
- glGetFragDataLocation := dglGetProcAddress('glGetFragDataLocation');
- glUniform1ui := dglGetProcAddress('glUniform1ui');
- glUniform2ui := dglGetProcAddress('glUniform2ui');
- glUniform3ui := dglGetProcAddress('glUniform3ui');
- glUniform4ui := dglGetProcAddress('glUniform4ui');
- glUniform1uiv := dglGetProcAddress('glUniform1uiv');
- glUniform2uiv := dglGetProcAddress('glUniform2uiv');
- glUniform3uiv := dglGetProcAddress('glUniform3uiv');
- glUniform4uiv := dglGetProcAddress('glUniform4uiv');
- glClearBufferiv := dglGetProcAddress('glClearBufferiv');
- glClearBufferuiv := dglGetProcAddress('glClearBufferuiv');
- glClearBufferfv := dglGetProcAddress('glClearBufferfv');
- glClearBufferfi := dglGetProcAddress('glClearBufferfi');
- glGetStringi := dglGetProcAddress('glGetStringi');
- glCopyBufferSubData := dglGetProcAddress('glCopyBufferSubData');
- glGetUniformIndices := dglGetProcAddress('glGetUniformIndices');
- glGetActiveUniformsiv := dglGetProcAddress('glGetActiveUniformsiv');
- glGetUniformBlockIndex := dglGetProcAddress('glGetUniformBlockIndex');
- glGetActiveUniformBlockiv := dglGetProcAddress('glGetActiveUniformBlockiv');
- glGetActiveUniformBlockName := dglGetProcAddress('glGetActiveUniformBlockName');
- glUniformBlockBinding := dglGetProcAddress('glUniformBlockBinding');
- glDrawArraysInstanced := dglGetProcAddress('glDrawArraysInstanced');
- glDrawElementsInstanced := dglGetProcAddress('glDrawElementsInstanced');
- glFenceSync := dglGetProcAddress('glFenceSync');
- glIsSync := dglGetProcAddress('glIsSync');
- glDeleteSync := dglGetProcAddress('glDeleteSync');
- glClientWaitSync := dglGetProcAddress('glClientWaitSync');
- glWaitSync := dglGetProcAddress('glWaitSync');
- glGetInteger64v := dglGetProcAddress('glGetInteger64v');
- glGetSynciv := dglGetProcAddress('glGetSynciv');
- glGetInteger64i_v := dglGetProcAddress('glGetInteger64i_v');
- glGetBufferParameteri64v := dglGetProcAddress('glGetBufferParameteri64v');
- glGenSamplers := dglGetProcAddress('glGenSamplers');
- glDeleteSamplers := dglGetProcAddress('glDeleteSamplers');
- glIsSampler := dglGetProcAddress('glIsSampler');
- glBindSampler := dglGetProcAddress('glBindSampler');
- glSamplerParameteri := dglGetProcAddress('glSamplerParameteri');
- glSamplerParameteriv := dglGetProcAddress('glSamplerParameteriv');
- glSamplerParameterf := dglGetProcAddress('glSamplerParameterf');
- glSamplerParameterfv := dglGetProcAddress('glSamplerParameterfv');
- glGetSamplerParameteriv := dglGetProcAddress('glGetSamplerParameteriv');
- glGetSamplerParameterfv := dglGetProcAddress('glGetSamplerParameterfv');
- glVertexAttribDivisor := dglGetProcAddress('glVertexAttribDivisor');
- glBindTransformFeedback := dglGetProcAddress('glBindTransformFeedback');
- glDeleteTransformFeedbacks := dglGetProcAddress('glDeleteTransformFeedbacks');
- glGenTransformFeedbacks := dglGetProcAddress('glGenTransformFeedbacks');
- glIsTransformFeedback := dglGetProcAddress('glIsTransformFeedback');
- glPauseTransformFeedback := dglGetProcAddress('glPauseTransformFeedback');
- glResumeTransformFeedback := dglGetProcAddress('glResumeTransformFeedback');
- glGetProgramBinary := dglGetProcAddress('glGetProgramBinary');
- glProgramBinary := dglGetProcAddress('glProgramBinary');
- glProgramParameteri := dglGetProcAddress('glProgramParameteri');
- glInvalidateFramebuffer := dglGetProcAddress('glInvalidateFramebuffer');
- glInvalidateSubFramebuffer := dglGetProcAddress('glInvalidateSubFramebuffer');
- glTexStorage2D := dglGetProcAddress('glTexStorage2D');
- glTexStorage3D := dglGetProcAddress('glTexStorage3D');
- glGetInternalformativ := dglGetProcAddress('glGetInternalformativ');
-
- { OpenGL ES 3.1 }
- glDispatchCompute := dglGetProcAddress('glDispatchCompute');
- glDispatchComputeIndirect := dglGetProcAddress('glDispatchComputeIndirect');
- glDrawArraysIndirect := dglGetProcAddress('glDrawArraysIndirect');
- glDrawElementsIndirect := dglGetProcAddress('glDrawElementsIndirect');
- glFramebufferParameteri := dglGetProcAddress('glFramebufferParameteri');
- glGetFramebufferParameteriv := dglGetProcAddress('glGetFramebufferParameteriv');
- glGetProgramInterfaceiv := dglGetProcAddress('glGetProgramInterfaceiv');
- glGetProgramResourceIndex := dglGetProcAddress('glGetProgramResourceIndex');
- glGetProgramResourceName := dglGetProcAddress('glGetProgramResourceName');
- glGetProgramResourceiv := dglGetProcAddress('glGetProgramResourceiv');
- glGetProgramResourceLocation := dglGetProcAddress('glGetProgramResourceLocation');
- glUseProgramStages := dglGetProcAddress('glUseProgramStages');
- glActiveShaderProgram := dglGetProcAddress('glActiveShaderProgram');
- glCreateShaderProgramv := dglGetProcAddress('glCreateShaderProgramv');
- glBindProgramPipeline := dglGetProcAddress('glBindProgramPipeline');
- glDeleteProgramPipelines := dglGetProcAddress('glDeleteProgramPipelines');
- glGenProgramPipelines := dglGetProcAddress('glGenProgramPipelines');
- glIsProgramPipeline := dglGetProcAddress('glIsProgramPipeline');
- glGetProgramPipelineiv := dglGetProcAddress('glGetProgramPipelineiv');
- glProgramUniform1i := dglGetProcAddress('glProgramUniform1i');
- glProgramUniform2i := dglGetProcAddress('glProgramUniform2i');
- glProgramUniform3i := dglGetProcAddress('glProgramUniform3i');
- glProgramUniform4i := dglGetProcAddress('glProgramUniform4i');
- glProgramUniform1ui := dglGetProcAddress('glProgramUniform1ui');
- glProgramUniform2ui := dglGetProcAddress('glProgramUniform2ui');
- glProgramUniform3ui := dglGetProcAddress('glProgramUniform3ui');
- glProgramUniform4ui := dglGetProcAddress('glProgramUniform4ui');
- glProgramUniform1f := dglGetProcAddress('glProgramUniform1f');
- glProgramUniform2f := dglGetProcAddress('glProgramUniform2f');
- glProgramUniform3f := dglGetProcAddress('glProgramUniform3f');
- glProgramUniform4f := dglGetProcAddress('glProgramUniform4f');
- glProgramUniform1iv := dglGetProcAddress('glProgramUniform1iv');
- glProgramUniform2iv := dglGetProcAddress('glProgramUniform2iv');
- glProgramUniform3iv := dglGetProcAddress('glProgramUniform3iv');
- glProgramUniform4iv := dglGetProcAddress('glProgramUniform4iv');
- glProgramUniform1uiv := dglGetProcAddress('glProgramUniform1uiv');
- glProgramUniform2uiv := dglGetProcAddress('glProgramUniform2uiv');
- glProgramUniform3uiv := dglGetProcAddress('glProgramUniform3uiv');
- glProgramUniform4uiv := dglGetProcAddress('glProgramUniform4uiv');
- glProgramUniform1fv := dglGetProcAddress('glProgramUniform1fv');
- glProgramUniform2fv := dglGetProcAddress('glProgramUniform2fv');
- glProgramUniform3fv := dglGetProcAddress('glProgramUniform3fv');
- glProgramUniform4fv := dglGetProcAddress('glProgramUniform4fv');
- glProgramUniformMatrix2fv := dglGetProcAddress('glProgramUniformMatrix2fv');
- glProgramUniformMatrix3fv := dglGetProcAddress('glProgramUniformMatrix3fv');
- glProgramUniformMatrix4fv := dglGetProcAddress('glProgramUniformMatrix4fv');
- glProgramUniformMatrix2x3fv := dglGetProcAddress('glProgramUniformMatrix2x3fv');
- glProgramUniformMatrix3x2fv := dglGetProcAddress('glProgramUniformMatrix3x2fv');
- glProgramUniformMatrix2x4fv := dglGetProcAddress('glProgramUniformMatrix2x4fv');
- glProgramUniformMatrix4x2fv := dglGetProcAddress('glProgramUniformMatrix4x2fv');
- glProgramUniformMatrix3x4fv := dglGetProcAddress('glProgramUniformMatrix3x4fv');
- glProgramUniformMatrix4x3fv := dglGetProcAddress('glProgramUniformMatrix4x3fv');
- glValidateProgramPipeline := dglGetProcAddress('glValidateProgramPipeline');
- glGetProgramPipelineInfoLog := dglGetProcAddress('glGetProgramPipelineInfoLog');
- glBindImageTexture := dglGetProcAddress('glBindImageTexture');
- glGetBooleaniV := dglGetProcAddress('glGetBooleaniV');
- glMemoryBarrier := dglGetProcAddress('glMemoryBarrier');
- glMemoryBarrierByRegion := dglGetProcAddress('glMemoryBarrierByRegion');
- glTexStorage2DMultisample := dglGetProcAddress('glTexStorage2DMultisample');
- glGetMultisamplefv := dglGetProcAddress('glGetMultisamplefv');
- glSampleMaski := dglGetProcAddress('glSampleMaski');
- glGetTexLevelParameteriv := dglGetProcAddress('glGetTexLevelParameteriv');
- glGetTexLevelParameterfv := dglGetProcAddress('glGetTexLevelParameterfv');
- glBindVertexBuffer := dglGetProcAddress('glBindVertexBuffer');
- glVertexAttribFormat := dglGetProcAddress('glVertexAttribFormat');
- glVertexAttribIFormat := dglGetProcAddress('glVertexAttribIFormat');
- glVertexAttribBinding := dglGetProcAddress('glVertexAttribBinding');
- glVertexBindingDivisor := dglGetProcAddress('glVertexBindingDivisor');
- end;
-
- constructor EeglError.Create(const msg: string; const aErrorCode: EGLint);
- begin
- inherited Create(msg);
- ErrorCode := aErrorCode;
- end;
-
- end.
|