/// ;
// tslint:disable:max-line-length
// tslint:disable:typedef-whitespace
// tslint:disable:unified-signatures
interface HTMLCanvasElement extends HTMLElement {
getContext(contextId: "webgl2" | "experimental-webgl2", contextAttributes?: WebGLContextAttributes): WebGL2RenderingContext | null;
}
interface WebGLQuery extends WebGLObject {
__WebGLObjectBrand: 'WebGLQuery';
}
interface WebGLSampler extends WebGLObject {
__WebGLObjectBrand: 'WebGLSampler';
}
interface WebGLSync extends WebGLObject {
__WebGLObjectBrand: 'WebGLSync';
}
interface WebGLTransformFeedback extends WebGLObject {
__WebGLObjectBrand: 'WebGLTransformFeedback';
}
interface WebGLVertexArrayObject extends WebGLObject {
__WebGLObjectBrand: 'WebGLVertexArrayObject';
}
declare namespace WebGL2RenderingContextStrict {
import GL = WebGLRenderingContextStrict;
import GL2 = WebGL2RenderingContextStrict;
import GLenum = GL.GLenum;
interface Constants {
readonly READ_BUFFER: /* 0x0C02 */ GLenum<'READ_BUFFER'>;
readonly UNPACK_ROW_LENGTH: /* 0x0CF2 */ GLenum<'UNPACK_ROW_LENGTH'>;
readonly UNPACK_SKIP_ROWS: /* 0x0CF3 */ GLenum<'UNPACK_SKIP_ROWS'>;
readonly UNPACK_SKIP_PIXELS: /* 0x0CF4 */ GLenum<'UNPACK_SKIP_PIXELS'>;
readonly PACK_ROW_LENGTH: /* 0x0D02 */ GLenum<'PACK_ROW_LENGTH'>;
readonly PACK_SKIP_ROWS: /* 0x0D03 */ GLenum<'PACK_SKIP_ROWS'>;
readonly PACK_SKIP_PIXELS: /* 0x0D04 */ GLenum<'PACK_SKIP_PIXELS'>;
readonly COLOR: /* 0x1800 */ GLenum<'COLOR'>;
readonly DEPTH: /* 0x1801 */ GLenum<'DEPTH'>;
readonly STENCIL: /* 0x1802 */ GLenum<'STENCIL'>;
readonly RED: /* 0x1903 */ GLenum<'RED'>;
readonly RGB8: /* 0x8051 */ GLenum<'RGB8'>;
readonly RGBA8: /* 0x8058 */ GLenum<'RGBA8'>;
readonly RGB10_A2: /* 0x8059 */ GLenum<'RGB10_A2'>;
readonly TEXTURE_BINDING_3D: /* 0x806A */ GLenum<'TEXTURE_BINDING_3D'>;
readonly UNPACK_SKIP_IMAGES: /* 0x806D */ GLenum<'UNPACK_SKIP_IMAGES'>;
readonly UNPACK_IMAGE_HEIGHT: /* 0x806E */ GLenum<'UNPACK_IMAGE_HEIGHT'>;
readonly TEXTURE_3D: /* 0x806F */ GLenum<'TEXTURE_3D'>;
readonly TEXTURE_WRAP_R: /* 0x8072 */ GLenum<'TEXTURE_WRAP_R'>;
readonly MAX_3D_TEXTURE_SIZE: /* 0x8073 */ GLenum<'MAX_3D_TEXTURE_SIZE'>;
readonly UNSIGNED_INT_2_10_10_10_REV: /* 0x8368 */ GLenum<'UNSIGNED_INT_2_10_10_10_REV'>;
readonly MAX_ELEMENTS_VERTICES: /* 0x80E8 */ GLenum<'MAX_ELEMENTS_VERTICES'>;
readonly MAX_ELEMENTS_INDICES: /* 0x80E9 */ GLenum<'MAX_ELEMENTS_INDICES'>;
readonly TEXTURE_MIN_LOD: /* 0x813A */ GLenum<'TEXTURE_MIN_LOD'>;
readonly TEXTURE_MAX_LOD: /* 0x813B */ GLenum<'TEXTURE_MAX_LOD'>;
readonly TEXTURE_BASE_LEVEL: /* 0x813C */ GLenum<'TEXTURE_BASE_LEVEL'>;
readonly TEXTURE_MAX_LEVEL: /* 0x813D */ GLenum<'TEXTURE_MAX_LEVEL'>;
readonly MIN: /* 0x8007 */ GLenum<'MIN'>;
readonly MAX: /* 0x8008 */ GLenum<'MAX'>;
readonly DEPTH_COMPONENT24: /* 0x81A6 */ GLenum<'DEPTH_COMPONENT24'>;
readonly MAX_TEXTURE_LOD_BIAS: /* 0x84FD */ GLenum<'MAX_TEXTURE_LOD_BIAS'>;
readonly TEXTURE_COMPARE_MODE: /* 0x884C */ GLenum<'TEXTURE_COMPARE_MODE'>;
readonly TEXTURE_COMPARE_FUNC: /* 0x884D */ GLenum<'TEXTURE_COMPARE_FUNC'>;
readonly CURRENT_QUERY: /* 0x8865 */ GLenum<'CURRENT_QUERY'>;
readonly QUERY_RESULT: /* 0x8866 */ GLenum<'QUERY_RESULT'>;
readonly QUERY_RESULT_AVAILABLE: /* 0x8867 */ GLenum<'QUERY_RESULT_AVAILABLE'>;
readonly STREAM_READ: /* 0x88E1 */ GLenum<'STREAM_READ'>;
readonly STREAM_COPY: /* 0x88E2 */ GLenum<'STREAM_COPY'>;
readonly STATIC_READ: /* 0x88E5 */ GLenum<'STATIC_READ'>;
readonly STATIC_COPY: /* 0x88E6 */ GLenum<'STATIC_COPY'>;
readonly DYNAMIC_READ: /* 0x88E9 */ GLenum<'DYNAMIC_READ'>;
readonly DYNAMIC_COPY: /* 0x88EA */ GLenum<'DYNAMIC_COPY'>;
readonly MAX_DRAW_BUFFERS: /* 0x8824 */ GLenum<'MAX_DRAW_BUFFERS'>;
readonly DRAW_BUFFER0: /* 0x8825 */ GLenum<'DRAW_BUFFER0'>;
readonly DRAW_BUFFER1: /* 0x8826 */ GLenum<'DRAW_BUFFER1'>;
readonly DRAW_BUFFER2: /* 0x8827 */ GLenum<'DRAW_BUFFER2'>;
readonly DRAW_BUFFER3: /* 0x8828 */ GLenum<'DRAW_BUFFER3'>;
readonly DRAW_BUFFER4: /* 0x8829 */ GLenum<'DRAW_BUFFER4'>;
readonly DRAW_BUFFER5: /* 0x882A */ GLenum<'DRAW_BUFFER5'>;
readonly DRAW_BUFFER6: /* 0x882B */ GLenum<'DRAW_BUFFER6'>;
readonly DRAW_BUFFER7: /* 0x882C */ GLenum<'DRAW_BUFFER7'>;
readonly DRAW_BUFFER8: /* 0x882D */ GLenum<'DRAW_BUFFER8'>;
readonly DRAW_BUFFER9: /* 0x882E */ GLenum<'DRAW_BUFFER9'>;
readonly DRAW_BUFFER10: /* 0x882F */ GLenum<'DRAW_BUFFER10'>;
readonly DRAW_BUFFER11: /* 0x8830 */ GLenum<'DRAW_BUFFER11'>;
readonly DRAW_BUFFER12: /* 0x8831 */ GLenum<'DRAW_BUFFER12'>;
readonly DRAW_BUFFER13: /* 0x8832 */ GLenum<'DRAW_BUFFER13'>;
readonly DRAW_BUFFER14: /* 0x8833 */ GLenum<'DRAW_BUFFER14'>;
readonly DRAW_BUFFER15: /* 0x8834 */ GLenum<'DRAW_BUFFER15'>;
readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: /* 0x8B49 */ GLenum<'MAX_FRAGMENT_UNIFORM_COMPONENTS'>;
readonly MAX_VERTEX_UNIFORM_COMPONENTS: /* 0x8B4A */ GLenum<'MAX_VERTEX_UNIFORM_COMPONENTS'>;
readonly SAMPLER_3D: /* 0x8B5F */ GLenum<'SAMPLER_3D'>;
readonly SAMPLER_2D_SHADOW: /* 0x8B62 */ GLenum<'SAMPLER_2D_SHADOW'>;
readonly FRAGMENT_SHADER_DERIVATIVE_HINT: /* 0x8B8B */ GLenum<'FRAGMENT_SHADER_DERIVATIVE_HINT'>;
readonly PIXEL_PACK_BUFFER: /* 0x88EB */ GLenum<'PIXEL_PACK_BUFFER'>;
readonly PIXEL_UNPACK_BUFFER: /* 0x88EC */ GLenum<'PIXEL_UNPACK_BUFFER'>;
readonly PIXEL_PACK_BUFFER_BINDING: /* 0x88ED */ GLenum<'PIXEL_PACK_BUFFER_BINDING'>;
readonly PIXEL_UNPACK_BUFFER_BINDING: /* 0x88EF */ GLenum<'PIXEL_UNPACK_BUFFER_BINDING'>;
readonly FLOAT_MAT2x3: /* 0x8B65 */ GLenum<'FLOAT_MAT2x3'>;
readonly FLOAT_MAT2x4: /* 0x8B66 */ GLenum<'FLOAT_MAT2x4'>;
readonly FLOAT_MAT3x2: /* 0x8B67 */ GLenum<'FLOAT_MAT3x2'>;
readonly FLOAT_MAT3x4: /* 0x8B68 */ GLenum<'FLOAT_MAT3x4'>;
readonly FLOAT_MAT4x2: /* 0x8B69 */ GLenum<'FLOAT_MAT4x2'>;
readonly FLOAT_MAT4x3: /* 0x8B6A */ GLenum<'FLOAT_MAT4x3'>;
readonly SRGB: /* 0x8C40 */ GLenum<'SRGB'>;
readonly SRGB8: /* 0x8C41 */ GLenum<'SRGB8'>;
readonly SRGB8_ALPHA8: /* 0x8C43 */ GLenum<'SRGB8_ALPHA8'>;
readonly COMPARE_REF_TO_TEXTURE: /* 0x884E */ GLenum<'COMPARE_REF_TO_TEXTURE'>;
readonly RGBA32F: /* 0x8814 */ GLenum<'RGBA32F'>;
readonly RGB32F: /* 0x8815 */ GLenum<'RGB32F'>;
readonly RGBA16F: /* 0x881A */ GLenum<'RGBA16F'>;
readonly RGB16F: /* 0x881B */ GLenum<'RGB16F'>;
readonly VERTEX_ATTRIB_ARRAY_INTEGER: /* 0x88FD */ GLenum<'VERTEX_ATTRIB_ARRAY_INTEGER'>;
readonly MAX_ARRAY_TEXTURE_LAYERS: /* 0x88FF */ GLenum<'MAX_ARRAY_TEXTURE_LAYERS'>;
readonly MIN_PROGRAM_TEXEL_OFFSET: /* 0x8904 */ GLenum<'MIN_PROGRAM_TEXEL_OFFSET'>;
readonly MAX_PROGRAM_TEXEL_OFFSET: /* 0x8905 */ GLenum<'MAX_PROGRAM_TEXEL_OFFSET'>;
readonly MAX_VARYING_COMPONENTS: /* 0x8B4B */ GLenum<'MAX_VARYING_COMPONENTS'>;
readonly TEXTURE_2D_ARRAY: /* 0x8C1A */ GLenum<'TEXTURE_2D_ARRAY'>;
readonly TEXTURE_BINDING_2D_ARRAY: /* 0x8C1D */ GLenum<'TEXTURE_BINDING_2D_ARRAY'>;
readonly R11F_G11F_B10F: /* 0x8C3A */ GLenum<'R11F_G11F_B10F'>;
readonly UNSIGNED_INT_10F_11F_11F_REV: /* 0x8C3B */ GLenum<'UNSIGNED_INT_10F_11F_11F_REV'>;
readonly RGB9_E5: /* 0x8C3D */ GLenum<'RGB9_E5'>;
readonly UNSIGNED_INT_5_9_9_9_REV: /* 0x8C3E */ GLenum<'UNSIGNED_INT_5_9_9_9_REV'>;
readonly TRANSFORM_FEEDBACK_BUFFER_MODE: /* 0x8C7F */ GLenum<'TRANSFORM_FEEDBACK_BUFFER_MODE'>;
readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: /* 0x8C80 */ GLenum<'MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS'>;
readonly TRANSFORM_FEEDBACK_VARYINGS: /* 0x8C83 */ GLenum<'TRANSFORM_FEEDBACK_VARYINGS'>;
readonly TRANSFORM_FEEDBACK_BUFFER_START: /* 0x8C84 */ GLenum<'TRANSFORM_FEEDBACK_BUFFER_START'>;
readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: /* 0x8C85 */ GLenum<'TRANSFORM_FEEDBACK_BUFFER_SIZE'>;
readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: /* 0x8C88 */ GLenum<'TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN'>;
readonly RASTERIZER_DISCARD: /* 0x8C89 */ GLenum<'RASTERIZER_DISCARD'>;
readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: /* 0x8C8A */ GLenum<'MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS'>;
readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: /* 0x8C8B */ GLenum<'MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS'>;
readonly INTERLEAVED_ATTRIBS: /* 0x8C8C */ GLenum<'INTERLEAVED_ATTRIBS'>;
readonly SEPARATE_ATTRIBS: /* 0x8C8D */ GLenum<'SEPARATE_ATTRIBS'>;
readonly TRANSFORM_FEEDBACK_BUFFER: /* 0x8C8E */ GLenum<'TRANSFORM_FEEDBACK_BUFFER'>;
readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: /* 0x8C8F */ GLenum<'TRANSFORM_FEEDBACK_BUFFER_BINDING'>;
readonly RGBA32UI: /* 0x8D70 */ GLenum<'RGBA32UI'>;
readonly RGB32UI: /* 0x8D71 */ GLenum<'RGB32UI'>;
readonly RGBA16UI: /* 0x8D76 */ GLenum<'RGBA16UI'>;
readonly RGB16UI: /* 0x8D77 */ GLenum<'RGB16UI'>;
readonly RGBA8UI: /* 0x8D7C */ GLenum<'RGBA8UI'>;
readonly RGB8UI: /* 0x8D7D */ GLenum<'RGB8UI'>;
readonly RGBA32I: /* 0x8D82 */ GLenum<'RGBA32I'>;
readonly RGB32I: /* 0x8D83 */ GLenum<'RGB32I'>;
readonly RGBA16I: /* 0x8D88 */ GLenum<'RGBA16I'>;
readonly RGB16I: /* 0x8D89 */ GLenum<'RGB16I'>;
readonly RGBA8I: /* 0x8D8E */ GLenum<'RGBA8I'>;
readonly RGB8I: /* 0x8D8F */ GLenum<'RGB8I'>;
readonly RED_INTEGER: /* 0x8D94 */ GLenum<'RED_INTEGER'>;
readonly RGB_INTEGER: /* 0x8D98 */ GLenum<'RGB_INTEGER'>;
readonly RGBA_INTEGER: /* 0x8D99 */ GLenum<'RGBA_INTEGER'>;
readonly SAMPLER_2D_ARRAY: /* 0x8DC1 */ GLenum<'SAMPLER_2D_ARRAY'>;
readonly SAMPLER_2D_ARRAY_SHADOW: /* 0x8DC4 */ GLenum<'SAMPLER_2D_ARRAY_SHADOW'>;
readonly SAMPLER_CUBE_SHADOW: /* 0x8DC5 */ GLenum<'SAMPLER_CUBE_SHADOW'>;
readonly UNSIGNED_INT_VEC2: /* 0x8DC6 */ GLenum<'UNSIGNED_INT_VEC2'>;
readonly UNSIGNED_INT_VEC3: /* 0x8DC7 */ GLenum<'UNSIGNED_INT_VEC3'>;
readonly UNSIGNED_INT_VEC4: /* 0x8DC8 */ GLenum<'UNSIGNED_INT_VEC4'>;
readonly INT_SAMPLER_2D: /* 0x8DCA */ GLenum<'INT_SAMPLER_2D'>;
readonly INT_SAMPLER_3D: /* 0x8DCB */ GLenum<'INT_SAMPLER_3D'>;
readonly INT_SAMPLER_CUBE: /* 0x8DCC */ GLenum<'INT_SAMPLER_CUBE'>;
readonly INT_SAMPLER_2D_ARRAY: /* 0x8DCF */ GLenum<'INT_SAMPLER_2D_ARRAY'>;
readonly UNSIGNED_INT_SAMPLER_2D: /* 0x8DD2 */ GLenum<'UNSIGNED_INT_SAMPLER_2D'>;
readonly UNSIGNED_INT_SAMPLER_3D: /* 0x8DD3 */ GLenum<'UNSIGNED_INT_SAMPLER_3D'>;
readonly UNSIGNED_INT_SAMPLER_CUBE: /* 0x8DD4 */ GLenum<'UNSIGNED_INT_SAMPLER_CUBE'>;
readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: /* 0x8DD7 */ GLenum<'UNSIGNED_INT_SAMPLER_2D_ARRAY'>;
readonly DEPTH_COMPONENT32F: /* 0x8CAC */ GLenum<'DEPTH_COMPONENT32F'>;
readonly DEPTH32F_STENCIL8: /* 0x8CAD */ GLenum<'DEPTH32F_STENCIL8'>;
readonly FLOAT_32_UNSIGNED_INT_24_8_REV: /* 0x8DAD */ GLenum<'FLOAT_32_UNSIGNED_INT_24_8_REV'>;
readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: /* 0x8210 */ GLenum<'FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING'>;
readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: /* 0x8211 */ GLenum<'FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE'>;
readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: /* 0x8212 */ GLenum<'FRAMEBUFFER_ATTACHMENT_RED_SIZE'>;
readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: /* 0x8213 */ GLenum<'FRAMEBUFFER_ATTACHMENT_GREEN_SIZE'>;
readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: /* 0x8214 */ GLenum<'FRAMEBUFFER_ATTACHMENT_BLUE_SIZE'>;
readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: /* 0x8215 */ GLenum<'FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE'>;
readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: /* 0x8216 */ GLenum<'FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE'>;
readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: /* 0x8217 */ GLenum<'FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE'>;
readonly FRAMEBUFFER_DEFAULT: /* 0x8218 */ GLenum<'FRAMEBUFFER_DEFAULT'>;
readonly DEPTH_STENCIL_ATTACHMENT: /* 0x821A */ GLenum<'DEPTH_STENCIL_ATTACHMENT'>;
readonly DEPTH_STENCIL: /* 0x84F9 */ GLenum<'DEPTH_STENCIL'>;
readonly UNSIGNED_INT_24_8: /* 0x84FA */ GLenum<'UNSIGNED_INT_24_8'>;
readonly DEPTH24_STENCIL8: /* 0x88F0 */ GLenum<'DEPTH24_STENCIL8'>;
readonly UNSIGNED_NORMALIZED: /* 0x8C17 */ GLenum<'UNSIGNED_NORMALIZED'>;
readonly DRAW_FRAMEBUFFER_BINDING: /* 0x8CA6 */ GLenum<'DRAW_FRAMEBUFFER_BINDING'>; /* Same as FRAMEBUFFER_BINDING */
readonly READ_FRAMEBUFFER: /* 0x8CA8 */ GLenum<'READ_FRAMEBUFFER'>;
readonly DRAW_FRAMEBUFFER: /* 0x8CA9 */ GLenum<'DRAW_FRAMEBUFFER'>;
readonly READ_FRAMEBUFFER_BINDING: /* 0x8CAA */ GLenum<'READ_FRAMEBUFFER_BINDING'>;
readonly RENDERBUFFER_SAMPLES: /* 0x8CAB */ GLenum<'RENDERBUFFER_SAMPLES'>;
readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: /* 0x8CD4 */ GLenum<'FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER'>;
readonly MAX_COLOR_ATTACHMENTS: /* 0x8CDF */ GLenum<'MAX_COLOR_ATTACHMENTS'>;
readonly COLOR_ATTACHMENT1: /* 0x8CE1 */ GLenum<'COLOR_ATTACHMENT1'>;
readonly COLOR_ATTACHMENT2: /* 0x8CE2 */ GLenum<'COLOR_ATTACHMENT2'>;
readonly COLOR_ATTACHMENT3: /* 0x8CE3 */ GLenum<'COLOR_ATTACHMENT3'>;
readonly COLOR_ATTACHMENT4: /* 0x8CE4 */ GLenum<'COLOR_ATTACHMENT4'>;
readonly COLOR_ATTACHMENT5: /* 0x8CE5 */ GLenum<'COLOR_ATTACHMENT5'>;
readonly COLOR_ATTACHMENT6: /* 0x8CE6 */ GLenum<'COLOR_ATTACHMENT6'>;
readonly COLOR_ATTACHMENT7: /* 0x8CE7 */ GLenum<'COLOR_ATTACHMENT7'>;
readonly COLOR_ATTACHMENT8: /* 0x8CE8 */ GLenum<'COLOR_ATTACHMENT8'>;
readonly COLOR_ATTACHMENT9: /* 0x8CE9 */ GLenum<'COLOR_ATTACHMENT9'>;
readonly COLOR_ATTACHMENT10: /* 0x8CEA */ GLenum<'COLOR_ATTACHMENT10'>;
readonly COLOR_ATTACHMENT11: /* 0x8CEB */ GLenum<'COLOR_ATTACHMENT11'>;
readonly COLOR_ATTACHMENT12: /* 0x8CEC */ GLenum<'COLOR_ATTACHMENT12'>;
readonly COLOR_ATTACHMENT13: /* 0x8CED */ GLenum<'COLOR_ATTACHMENT13'>;
readonly COLOR_ATTACHMENT14: /* 0x8CEE */ GLenum<'COLOR_ATTACHMENT14'>;
readonly COLOR_ATTACHMENT15: /* 0x8CEF */ GLenum<'COLOR_ATTACHMENT15'>;
readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: /* 0x8D56 */ GLenum<'FRAMEBUFFER_INCOMPLETE_MULTISAMPLE'>;
readonly MAX_SAMPLES: /* 0x8D57 */ GLenum<'MAX_SAMPLES'>;
readonly HALF_FLOAT: /* 0x140B */ GLenum<'HALF_FLOAT'>;
readonly RG: /* 0x8227 */ GLenum<'RG'>;
readonly RG_INTEGER: /* 0x8228 */ GLenum<'RG_INTEGER'>;
readonly R8: /* 0x8229 */ GLenum<'R8'>;
readonly RG8: /* 0x822B */ GLenum<'RG8'>;
readonly R16F: /* 0x822D */ GLenum<'R16F'>;
readonly R32F: /* 0x822E */ GLenum<'R32F'>;
readonly RG16F: /* 0x822F */ GLenum<'RG16F'>;
readonly RG32F: /* 0x8230 */ GLenum<'RG32F'>;
readonly R8I: /* 0x8231 */ GLenum<'R8I'>;
readonly R8UI: /* 0x8232 */ GLenum<'R8UI'>;
readonly R16I: /* 0x8233 */ GLenum<'R16I'>;
readonly R16UI: /* 0x8234 */ GLenum<'R16UI'>;
readonly R32I: /* 0x8235 */ GLenum<'R32I'>;
readonly R32UI: /* 0x8236 */ GLenum<'R32UI'>;
readonly RG8I: /* 0x8237 */ GLenum<'RG8I'>;
readonly RG8UI: /* 0x8238 */ GLenum<'RG8UI'>;
readonly RG16I: /* 0x8239 */ GLenum<'RG16I'>;
readonly RG16UI: /* 0x823A */ GLenum<'RG16UI'>;
readonly RG32I: /* 0x823B */ GLenum<'RG32I'>;
readonly RG32UI: /* 0x823C */ GLenum<'RG32UI'>;
readonly VERTEX_ARRAY_BINDING: /* 0x85B5 */ GLenum<'VERTEX_ARRAY_BINDING'>;
readonly R8_SNORM: /* 0x8F94 */ GLenum<'R8_SNORM'>;
readonly RG8_SNORM: /* 0x8F95 */ GLenum<'RG8_SNORM'>;
readonly RGB8_SNORM: /* 0x8F96 */ GLenum<'RGB8_SNORM'>;
readonly RGBA8_SNORM: /* 0x8F97 */ GLenum<'RGBA8_SNORM'>;
readonly SIGNED_NORMALIZED: /* 0x8F9C */ GLenum<'SIGNED_NORMALIZED'>;
readonly COPY_READ_BUFFER: /* 0x8F36 */ GLenum<'COPY_READ_BUFFER'>;
readonly COPY_WRITE_BUFFER: /* 0x8F37 */ GLenum<'COPY_WRITE_BUFFER'>;
readonly COPY_READ_BUFFER_BINDING: /* 0x8F36 */ GLenum<'COPY_READ_BUFFER_BINDING'>; /* Same as COPY_READ_BUFFER */
readonly COPY_WRITE_BUFFER_BINDING: /* 0x8F37 */ GLenum<'COPY_WRITE_BUFFER_BINDING'>; /* Same as COPY_WRITE_BUFFER */
readonly UNIFORM_BUFFER: /* 0x8A11 */ GLenum<'UNIFORM_BUFFER'>;
readonly UNIFORM_BUFFER_BINDING: /* 0x8A28 */ GLenum<'UNIFORM_BUFFER_BINDING'>;
readonly UNIFORM_BUFFER_START: /* 0x8A29 */ GLenum<'UNIFORM_BUFFER_START'>;
readonly UNIFORM_BUFFER_SIZE: /* 0x8A2A */ GLenum<'UNIFORM_BUFFER_SIZE'>;
readonly MAX_VERTEX_UNIFORM_BLOCKS: /* 0x8A2B */ GLenum<'MAX_VERTEX_UNIFORM_BLOCKS'>;
readonly MAX_FRAGMENT_UNIFORM_BLOCKS: /* 0x8A2D */ GLenum<'MAX_FRAGMENT_UNIFORM_BLOCKS'>;
readonly MAX_COMBINED_UNIFORM_BLOCKS: /* 0x8A2E */ GLenum<'MAX_COMBINED_UNIFORM_BLOCKS'>;
readonly MAX_UNIFORM_BUFFER_BINDINGS: /* 0x8A2F */ GLenum<'MAX_UNIFORM_BUFFER_BINDINGS'>;
readonly MAX_UNIFORM_BLOCK_SIZE: /* 0x8A30 */ GLenum<'MAX_UNIFORM_BLOCK_SIZE'>;
readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: /* 0x8A31 */ GLenum<'MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS'>;
readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: /* 0x8A33 */ GLenum<'MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS'>;
readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: /* 0x8A34 */ GLenum<'UNIFORM_BUFFER_OFFSET_ALIGNMENT'>;
readonly ACTIVE_UNIFORM_BLOCKS: /* 0x8A36 */ GLenum<'ACTIVE_UNIFORM_BLOCKS'>;
readonly UNIFORM_TYPE: /* 0x8A37 */ GLenum<'UNIFORM_TYPE'>;
readonly UNIFORM_SIZE: /* 0x8A38 */ GLenum<'UNIFORM_SIZE'>;
readonly UNIFORM_BLOCK_INDEX: /* 0x8A3A */ GLenum<'UNIFORM_BLOCK_INDEX'>;
readonly UNIFORM_OFFSET: /* 0x8A3B */ GLenum<'UNIFORM_OFFSET'>;
readonly UNIFORM_ARRAY_STRIDE: /* 0x8A3C */ GLenum<'UNIFORM_ARRAY_STRIDE'>;
readonly UNIFORM_MATRIX_STRIDE: /* 0x8A3D */ GLenum<'UNIFORM_MATRIX_STRIDE'>;
readonly UNIFORM_IS_ROW_MAJOR: /* 0x8A3E */ GLenum<'UNIFORM_IS_ROW_MAJOR'>;
readonly UNIFORM_BLOCK_BINDING: /* 0x8A3F */ GLenum<'UNIFORM_BLOCK_BINDING'>;
readonly UNIFORM_BLOCK_DATA_SIZE: /* 0x8A40 */ GLenum<'UNIFORM_BLOCK_DATA_SIZE'>;
readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: /* 0x8A42 */ GLenum<'UNIFORM_BLOCK_ACTIVE_UNIFORMS'>;
readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: /* 0x8A43 */ GLenum<'UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES'>;
readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: /* 0x8A44 */ GLenum<'UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER'>;
readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: /* 0x8A46 */ GLenum<'UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER'>;
readonly INVALID_INDEX: /* 0xFFFFFFFF */ GLenum<'INVALID_INDEX'>;
readonly MAX_VERTEX_OUTPUT_COMPONENTS: /* 0x9122 */ GLenum<'MAX_VERTEX_OUTPUT_COMPONENTS'>;
readonly MAX_FRAGMENT_INPUT_COMPONENTS: /* 0x9125 */ GLenum<'MAX_FRAGMENT_INPUT_COMPONENTS'>;
readonly MAX_SERVER_WAIT_TIMEOUT: /* 0x9111 */ GLenum<'MAX_SERVER_WAIT_TIMEOUT'>;
readonly OBJECT_TYPE: /* 0x9112 */ GLenum<'OBJECT_TYPE'>;
readonly SYNC_CONDITION: /* 0x9113 */ GLenum<'SYNC_CONDITION'>;
readonly SYNC_STATUS: /* 0x9114 */ GLenum<'SYNC_STATUS'>;
readonly SYNC_FLAGS: /* 0x9115 */ GLenum<'SYNC_FLAGS'>;
readonly SYNC_FENCE: /* 0x9116 */ GLenum<'SYNC_FENCE'>;
readonly SYNC_GPU_COMMANDS_COMPLETE: /* 0x9117 */ GLenum<'SYNC_GPU_COMMANDS_COMPLETE'>;
readonly UNSIGNALED: /* 0x9118 */ GLenum<'UNSIGNALED'>;
readonly SIGNALED: /* 0x9119 */ GLenum<'SIGNALED'>;
readonly ALREADY_SIGNALED: /* 0x911A */ GLenum<'ALREADY_SIGNALED'>;
readonly TIMEOUT_EXPIRED: /* 0x911B */ GLenum<'TIMEOUT_EXPIRED'>;
readonly CONDITION_SATISFIED: /* 0x911C */ GLenum<'CONDITION_SATISFIED'>;
readonly WAIT_FAILED: /* 0x911D */ GLenum<'WAIT_FAILED'>;
readonly SYNC_FLUSH_COMMANDS_BIT: 0x00000001;
readonly VERTEX_ATTRIB_ARRAY_DIVISOR: /* 0x88FE */ GLenum<'VERTEX_ATTRIB_ARRAY_DIVISOR'>;
readonly ANY_SAMPLES_PASSED: /* 0x8C2F */ GLenum<'ANY_SAMPLES_PASSED'>;
readonly ANY_SAMPLES_PASSED_CONSERVATIVE: /* 0x8D6A */ GLenum<'ANY_SAMPLES_PASSED_CONSERVATIVE'>;
readonly SAMPLER_BINDING: /* 0x8919 */ GLenum<'SAMPLER_BINDING'>;
readonly RGB10_A2UI: /* 0x906F */ GLenum<'RGB10_A2UI'>;
readonly INT_2_10_10_10_REV: /* 0x8D9F */ GLenum<'INT_2_10_10_10_REV'>;
readonly TRANSFORM_FEEDBACK: /* 0x8E22 */ GLenum<'TRANSFORM_FEEDBACK'>;
readonly TRANSFORM_FEEDBACK_PAUSED: /* 0x8E23 */ GLenum<'TRANSFORM_FEEDBACK_PAUSED'>;
readonly TRANSFORM_FEEDBACK_ACTIVE: /* 0x8E24 */ GLenum<'TRANSFORM_FEEDBACK_ACTIVE'>;
readonly TRANSFORM_FEEDBACK_BINDING: /* 0x8E25 */ GLenum<'TRANSFORM_FEEDBACK_BINDING'>;
readonly TEXTURE_IMMUTABLE_FORMAT: /* 0x912F */ GLenum<'TEXTURE_IMMUTABLE_FORMAT'>;
readonly MAX_ELEMENT_INDEX: /* 0x8D6B */ GLenum<'MAX_ELEMENT_INDEX'>;
readonly TEXTURE_IMMUTABLE_LEVELS: /* 0x82DF */ GLenum<'TEXTURE_IMMUTABLE_LEVELS'>;
readonly TIMEOUT_IGNORED: GLint64; // = -1;
/* WebGL-specific enums */
readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: /* 0x9247 */ GLenum<'MAX_CLIENT_WAIT_TIMEOUT_WEBGL'>;
}
interface Base extends Constants {
getExtension(name: 'EXT_disjoint_timer_query_webgl2'): EXT_disjoint_timer_query_webgl2 | null;
getExtension(name: 'EXT_color_buffer_float'): {} | null;
bindBuffer(target: BufferTarget, buffer: WebGLBuffer | null): void;
bindFramebuffer(target: FramebufferTarget, framebuffer: WebGLFramebuffer | null): void;
bindTexture(target: TextureTarget, texture: WebGLTexture | null): void;
/** Get the WebGLBuffer bound to a buffer target with #bindBuffer */
getParameter(pname: BufferTargetBinding): WebGLBuffer;
/** Get one of the values set with #drawBuffers */
getParameter(pname: GL.DrawBuffer): GL['NONE'] | GL['BACK'] | GL.ColorAttachment;
/** Get the WebGLFramebuffer (or null == the default framebuffer) bound to DRAW_FRAMEBUFFER. See also #bindFramebuffer */
getParameter(pname: GL2['DRAW_FRAMEBUFFER_BINDING']): WebGLFramebuffer | null;
/** Get the WebGLFramebuffer (or null == the default framebuffer) bound to READ_FRAMEBUFFER. See also #bindFramebuffer */
getParameter(pname: GL2['READ_FRAMEBUFFER_BINDING']): WebGLFramebuffer | null;
getParameter(pname: GL2['FRAGMENT_SHADER_DERIVATIVE_HINT']): GL.HintMode;
getParameter(pname: GL2['MAX_3D_TEXTURE_SIZE']): GLint;
getParameter(pname: GL2['MAX_ARRAY_TEXTURE_LAYERS']): GLint;
getParameter(pname: GL2['MAX_CLIENT_WAIT_TIMEOUT_WEBGL']): GLint64;
getParameter(pname: GL2['MAX_COLOR_ATTACHMENTS']): GLint;
getParameter(pname: GL2['MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS']): GLint64;
getParameter(pname: GL2['MAX_COMBINED_UNIFORM_BLOCKS']): GLint;
getParameter(pname: GL2['MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS']): GLint64;
getParameter(pname: GL2['MAX_DRAW_BUFFERS']): GLint;
getParameter(pname: GL2['MAX_ELEMENT_INDEX']): GLint64;
getParameter(pname: GL2['MAX_ELEMENTS_INDICES']): GLint;
getParameter(pname: GL2['MAX_ELEMENTS_VERTICES']): GLint;
getParameter(pname: GL2['MAX_FRAGMENT_INPUT_COMPONENTS']): GLint;
getParameter(pname: GL2['MAX_FRAGMENT_UNIFORM_BLOCKS']): GLint;
getParameter(pname: GL2['MAX_FRAGMENT_UNIFORM_COMPONENTS']): GLint;
getParameter(pname: GL2['MAX_PROGRAM_TEXEL_OFFSET']): GLint;
getParameter(pname: GL2['MAX_SAMPLES']): GLint;
getParameter(pname: GL2['MAX_SERVER_WAIT_TIMEOUT']): GLint64;
getParameter(pname: GL2['MAX_TEXTURE_LOD_BIAS']): GLfloat;
getParameter(pname: GL2['MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS']): GLint;
getParameter(pname: GL2['MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS']): GLint;
getParameter(pname: GL2['MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS']): GLint;
getParameter(pname: GL2['MAX_UNIFORM_BLOCK_SIZE']): GLint64;
getParameter(pname: GL2['MAX_UNIFORM_BUFFER_BINDINGS']): GLint;
getParameter(pname: GL2['MAX_VARYING_COMPONENTS']): GLint;
getParameter(pname: GL2['MAX_VERTEX_OUTPUT_COMPONENTS']): GLint;
getParameter(pname: GL2['MAX_VERTEX_UNIFORM_BLOCKS']): GLint;
getParameter(pname: GL2['MAX_VERTEX_UNIFORM_COMPONENTS']): GLint;
getParameter(pname: GL2['MIN_PROGRAM_TEXEL_OFFSET']): GLint;
getParameter(pname: GL2['RASTERIZER_DISCARD']): GLboolean;
getParameter(pname: GL2['READ_BUFFER']): GL2['BACK'] | GL2['NONE'] | GL.ColorAttachment;
getParameter(pname: GL2['SAMPLER_BINDING']): WebGLSampler;
/** Get the texture */
getParameter(pname: GL2['TEXTURE_BINDING_2D_ARRAY']): WebGLTexture | null;
getParameter(pname: GL2['TEXTURE_BINDING_3D']): WebGLTexture | null;
getParameter(pname: GL2['TRANSFORM_FEEDBACK_ACTIVE']): GLboolean;
getParameter(pname: GL2['TRANSFORM_FEEDBACK_BINDING']): WebGLTransformFeedback;
getParameter(pname: GL2['TRANSFORM_FEEDBACK_PAUSED']): GLboolean;
getParameter(pname: GL2['UNIFORM_BUFFER_OFFSET_ALIGNMENT']): GLint;
getParameter(pname: PixelStorageIntParameter): GLint;
getParameter(pname: GL2['VERTEX_ARRAY_BINDING']): WebGLVertexArrayObject;
getParameter(pname: GL2['VERSION']): DOMString; // of the form `WebGL2.0`
getParameter(pname: GL2['SHADING_LANGUAGE_VERSION']): DOMString; // of the form `WebGLGLSLES3.00`
enable(cap: Capability): void;
disable(cap: Capability): void;
isEnabled(cap: Capability): GLboolean;
framebufferRenderbuffer(target: FramebufferTarget, attachment: FramebufferAttachment, renderbuffertarget: GL['RENDERBUFFER'], renderbuffer: WebGLRenderbuffer | null): void;
framebufferTexture2D(target: FramebufferTarget, attachment: FramebufferAttachment, textarget: GL.TexImage2DTarget, texture: WebGLTexture | null, level: GLint): void;
generateMipmap(target: TextureTarget): void;
getBufferParameter(target: BufferTarget, pname: GL2['BUFFER_SIZE']): GLint;
getBufferParameter(target: BufferTarget, pname: GL2['BUFFER_USAGE']): BufferDataUsage;
getFramebufferAttachmentParameter(target: FramebufferTarget, attachment: FramebufferAttachment, pname: GL2['FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE']): GLint;
getFramebufferAttachmentParameter(target: FramebufferTarget, attachment: FramebufferAttachment, pname: GL2['FRAMEBUFFER_ATTACHMENT_BLUE_SIZE']): GLint;
getFramebufferAttachmentParameter(target: FramebufferTarget, attachment: FramebufferAttachment, pname: GL2['FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING']): GL2['LINEAR'] | GL2['SRGB'];
getFramebufferAttachmentParameter(target: FramebufferTarget, attachment: FramebufferAttachment, pname: GL2['FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE']): GL2['FLOAT'] | GL2['INT'] | GL2['UNSIGNED_INT'] | GL2['SIGNED_NORMALIZED'] | GL2['UNSIGNED_NORMALIZED'];
getFramebufferAttachmentParameter(target: FramebufferTarget, attachment: FramebufferAttachment, pname: GL2['FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE']): GLint;
getFramebufferAttachmentParameter(target: FramebufferTarget, attachment: FramebufferAttachment, pname: GL2['FRAMEBUFFER_ATTACHMENT_GREEN_SIZE']): GLint;
getFramebufferAttachmentParameter(target: FramebufferTarget, attachment: FramebufferAttachment, pname: GL2['FRAMEBUFFER_ATTACHMENT_RED_SIZE']): GLint;
getFramebufferAttachmentParameter(target: FramebufferTarget, attachment: FramebufferAttachment, pname: GL2['FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE']): GLint;
getFramebufferAttachmentParameter(target: FramebufferTarget, attachment: FramebufferAttachment, pname: GL2['FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER']): GLint;
getProgramParameter(program: WebGLProgram | null, pname: GL2['TRANSFORM_FEEDBACK_BUFFER_MODE']): GL2['SEPARATE_ATTRIBS'] | GL2['INTERLEAVED_ATTRIBS'];
getProgramParameter(program: WebGLProgram | null, pname: GL2['TRANSFORM_FEEDBACK_VARYINGS']): GLint;
getProgramParameter(program: WebGLProgram | null, pname: GL2['ACTIVE_UNIFORM_BLOCKS']): GLint;
getRenderbufferParameter(target: GL['RENDERBUFFER'], pname: GL2['RENDERBUFFER_SAMPLES']): GLint;
texParameteri(target: TextureTarget, pname: GL2['TEXTURE_MAG_FILTER'], param: GL.TextureMagFilter): void;
texParameteri(target: TextureTarget, pname: GL2['TEXTURE_MIN_FILTER'], param: GL.TextureMinFilter): void;
texParameteri(target: TextureTarget, pname: GL2['TEXTURE_WRAP_S'] | GL2['TEXTURE_WRAP_T'] | GL2['TEXTURE_WRAP_R'], param: GL.TextureWrap): void;
texParameteri(target: TextureTarget, pname: GL2['TEXTURE_BASE_LEVEL'], param: GLint): void;
texParameteri(target: TextureTarget, pname: GL2['TEXTURE_COMPARE_FUNC'], param: GL.ComparisonFunc): void;
texParameteri(target: TextureTarget, pname: GL2['TEXTURE_COMPARE_MODE'], param: GL2['COMPARE_REF_TO_TEXTURE'] | GL2['NONE']): void;
texParameteri(target: TextureTarget, pname: GL2['TEXTURE_IMMUTABLE_FORMAT'], param: GLboolean): void;
texParameteri(target: TextureTarget, pname: GL2['TEXTURE_IMMUTABLE_LEVELS'], param: GLuint): void;
texParameteri(target: TextureTarget, pname: GL2['TEXTURE_MAX_LEVEL'], param: GLint): void;
texParameterf(target: TextureTarget, pname: GL2['TEXTURE_MAX_LOD'] | GL2['TEXTURE_MIN_LOD'], param: GLfloat): void;
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_MAG_FILTER']): GL.TextureMagFilter;
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_MIN_FILTER']): GL.TextureMinFilter;
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_WRAP_S'] | GL2['TEXTURE_WRAP_T'] | GL2['TEXTURE_WRAP_R']): GL.TextureWrap;
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_BASE_LEVEL']): GLint;
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_COMPARE_FUNC']): GL.ComparisonFunc;
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_COMPARE_MODE']): GL2['COMPARE_REF_TO_TEXTURE'] | GL2['NONE'];
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_IMMUTABLE_FORMAT']): GLboolean;
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_IMMUTABLE_LEVELS']): GLuint;
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_MAX_LEVEL']): GLint;
getTexParameter(target: TextureTarget, pname: GL2['TEXTURE_MAX_LOD'] | GL2['TEXTURE_MIN_LOD']): GLfloat;
getUniform(program: WebGLProgram, location: WebGLUniformLocation): UniformValue;
getActiveAttrib(program: WebGLProgram, index: GLuint): GL.WebGLActiveInfo | null;
getActiveUniform(program: WebGLProgram, index: GLuint): GL.WebGLActiveInfo | null;
getVertexAttrib(index: GLuint, pname: GL2['VERTEX_ATTRIB_ARRAY_INTEGER']): GLboolean;
getVertexAttrib(index: GLuint, pname: GL2['VERTEX_ATTRIB_ARRAY_DIVISOR']): GLint;
hint(target: GL2['FRAGMENT_SHADER_DERIVATIVE_HINT'], mode: GL.HintMode): void;
pixelStorei(pname: PixelStorageIntParameter, param: GLint): void;
renderbufferStorage(target: GL['RENDERBUFFER'], internalformat: RenderbufferInternalFormat, width: GLsizei, height: GLsizei): void;
copyTexImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: TextureInternalFormat, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: 0): void;
/* Buffer objects */
// WebGL1:
bufferData(target: BufferTarget, size: GLsizeiptr, usage: BufferDataUsage): void;
bufferData(target: BufferTarget, /* [AllowShared] */ srcData: BufferSource | null, usage: BufferDataUsage): void;
bufferSubData(target: BufferTarget, dstByteOffset: GLintptr, /* [AllowShared] */ srcData: BufferSource): void;
// WebGL2:
bufferData(target: BufferTarget, /* [AllowShared] */ srcData: ArrayBufferView, usage: BufferDataUsage, srcOffset: GLuint, length?: GLuint /* = 0 */): void;
bufferSubData(target: BufferTarget, dstByteOffset: GLintptr, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint /* = 0 */): void;
copyBufferSubData(readTarget: BufferTarget, writeTarget: BufferTarget, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr): void;
// MapBufferRange, in particular its read-only and write-modes: only,
// can not be exposed safely to JavaScript. GetBufferSubData
// replaces it for the purpose of fetching data back from the GPU.
getBufferSubData(target: BufferTarget, srcByteOffset: GLintptr, /* [AllowShared] */ dstBuffer: ArrayBufferView, dstOffset?: GLuint /* = 0 */, length?: GLuint /* = 0 */): void;
/* Framebuffer objects */
blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GL2['LINEAR'] | GL2['NEAREST']): void;
framebufferTextureLayer(target: FramebufferTarget, attachment: FramebufferAttachment, texture: WebGLTexture | null, level: GLint, layer: GLint): void;
invalidateFramebuffer(target: FramebufferTarget, attachments: FramebufferAttachment[]): void;
invalidateSubFramebuffer(target: FramebufferTarget, attachments: FramebufferAttachment[], x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
readBuffer(src: GL2['BACK'] | GL2['NONE'] | GL.ColorAttachment): void;
/* Renderbuffer objects */
getInternalformatParameter(target: GL2['RENDERBUFFER'], internalformat: RenderbufferInternalFormat, pname: GL2['SAMPLES']): Int32Array;
renderbufferStorageMultisample(target: GL2['RENDERBUFFER'], samples: GLsizei, internalformat: RenderbufferInternalFormat, width: GLsizei, height: GLsizei): void;
/* Texture objects */
texStorage2D(target: GL.TextureTarget, levels: GLsizei, internalformat: TextureInternalFormat, width: GLsizei, height: GLsizei): void;
texStorage3D(target: TexImage3DTarget, levels: GLsizei, internalformat: TextureInternalFormat, width: GLsizei, height: GLsizei, depth: GLsizei): void;
// WebGL1 legacy entrypoints:
//#region texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: INTERNALFORMAT, width: GLsizei, height: GLsizei, border: 0, format: FORMAT, type: TYPE, /* [AllowShared] */ pixels: ArrayBufferView | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE_ALPHA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE'], width: GLsizei, height: GLsizei, border: 0, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['ALPHA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'], /* [AllowShared] */ pixels: Uint32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8_ALPHA8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_5_5_5_1'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB10_A2'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], /* [AllowShared] */ pixels: Uint32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
//#endregion
//#region texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: INTERNALFORMAT, format: FORMAT, type: TYPE, source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB'], format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA'], format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE_ALPHA'], format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE'], format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['ALPHA'], format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8'], format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R16F'], format: GL2['RED'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R32F'], format: GL2['RED'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8UI'], format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8'], format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG16F'], format: GL2['RG'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG32F'], format: GL2['RG'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8UI'], format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8'], format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8'], format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB565'], format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB9_E5'], format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB16F'], format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB32F'], format: GL2['RGB'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8UI'], format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8'], format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8_ALPHA8'], format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB5_A1'], format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_5_5_1'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB10_A2'], format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA4'], format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA16F'], format: GL2['RGBA'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA32F'], format: GL2['RGBA'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8UI'], format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
//#endregion
//#region texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: FORMAT, type: TYPE, /* [AllowShared] */ pixels: ArrayBufferView | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'] | GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'], /* [AllowShared] */ pixels: Uint32Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'] | GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], /* [AllowShared] */ pixels: Uint32Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ pixels: Float32Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ pixels: Uint16Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ pixels: Uint8Array | null): void;
//#endregion
//#region texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: FORMAT, type: TYPE, source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'] | GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'] | GL2['UNSIGNED_INT_2_10_10_10_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
//#endregion
// WebGL2 entrypoints:
//#region texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: INTERNALFORMAT, width: GLsizei, height: GLsizei, border: 0, format: FORMAT, type: TYPE, pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE_ALPHA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE'], width: GLsizei, height: GLsizei, border: 0, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['ALPHA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8_ALPHA8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_5_5_1'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB10_A2'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], pboOffset: GLintptr): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
//#endregion
//#region texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: INTERNALFORMAT, width: GLsizei, height: GLsizei, border: 0, format: FORMAT, type: TYPE, source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE_ALPHA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE'], width: GLsizei, height: GLsizei, border: 0, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['ALPHA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8_ALPHA8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_5_5_1'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB10_A2'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
//#endregion
//#region texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: INTERNALFORMAT, width: GLsizei, height: GLsizei, border: 0, format: FORMAT, type: TYPE, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE_ALPHA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['LUMINANCE'], width: GLsizei, height: GLsizei, border: 0, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['ALPHA'], width: GLsizei, height: GLsizei, border: 0, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RG8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'], /* [AllowShared] */ srcData: Uint32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['SRGB8_ALPHA8'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_5_5_5_1'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGB10_A2'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], /* [AllowShared] */ srcData: Uint32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA32F'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GL2['RGBA8UI'], width: GLsizei, height: GLsizei, border: 0, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
//#endregion
//#region texImage3D(target: TexImage3DTarget, level: GLint, internalformat: INTERNALFORMAT, width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: FORMAT, type: TYPE, pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['LUMINANCE_ALPHA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['LUMINANCE'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['ALPHA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['SRGB8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['SRGB8_ALPHA8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_5_5_1'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB10_A2'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], pboOffset: GLintptr): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
//#endregion
//#region texImage3D(target: TexImage3DTarget, level: GLint, internalformat: INTERNALFORMAT, width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: FORMAT, type: TYPE, source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['LUMINANCE_ALPHA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['LUMINANCE'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['ALPHA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['SRGB8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['SRGB8_ALPHA8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_5_5_1'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB10_A2'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
//#endregion
//#region texImage3D(target: TexImage3DTarget, level: GLint, internalformat: INTERNALFORMAT, width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: FORMAT, type: TYPE, /* [AllowShared] */ srcData: ArrayBufferView | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['LUMINANCE_ALPHA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['LUMINANCE'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['ALPHA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['SRGB8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'], /* [AllowShared] */ srcData: Uint32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['SRGB8_ALPHA8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_5_5_5_1'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB10_A2'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], /* [AllowShared] */ srcData: Uint32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null): void;
//#endregion
//#region texImage3D(target: TexImage3DTarget, level: GLint, internalformat: INTERNALFORMAT, width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: FORMAT, type: TYPE, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['LUMINANCE_ALPHA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['LUMINANCE'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['ALPHA'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RG8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['SRGB8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB565'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['R11F_G11F_B10F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'], /* [AllowShared] */ srcData: Uint32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB9_E5'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['SRGB8_ALPHA8'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_5_5_5_1'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB5_A1'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGB10_A2'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], /* [AllowShared] */ srcData: Uint32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA4'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA16F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA32F'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texImage3D(target: TexImage3DTarget, level: GLint, internalformat: GL2['RGBA8UI'], width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
//#endregion
//#region texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: FORMAT, type: TYPE, pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'] | GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'] | GL2['UNSIGNED_INT_2_10_10_10_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
//#endregion
//#region texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: FORMAT, type: TYPE, source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'] | GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'] | GL2['UNSIGNED_INT_2_10_10_10_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
//#endregion
//#region texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: FORMAT, type: TYPE, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'] | GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'], /* [AllowShared] */ srcData: Uint32Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'] | GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], /* [AllowShared] */ srcData: Uint32Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
texSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array, srcOffset: GLuint): void;
//#endregion
//#region texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: FORMAT, type: TYPE, pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'] | GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'] | GL2['UNSIGNED_INT_2_10_10_10_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], pboOffset: GLintptr): void;
//#endregion
//#region texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: FORMAT, type: TYPE, source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_5_6_5'] | GL2['UNSIGNED_INT_10F_11F_11F_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'] | GL2['UNSIGNED_INT_2_10_10_10_REV'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'] | GL2['HALF_FLOAT'] | GL2['FLOAT'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], source: TexImageSource): void; // May throw DOMException
//#endregion
//#region texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: FORMAT, type: TYPE, /* [AllowShared] */ srcData: ArrayBufferView | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGB'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_SHORT_5_6_5'] | GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_INT_10F_11F_11F_REV'], /* [AllowShared] */ srcData: Uint32Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGB'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGBA'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_SHORT_4_4_4_4'] | GL2['UNSIGNED_SHORT_5_5_5_1'] | GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_INT_2_10_10_10_REV'], /* [AllowShared] */ srcData: Uint32Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['LUMINANCE_ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['LUMINANCE'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['ALPHA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RED'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RED'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RED'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RED_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RG'], type: GL2['FLOAT'], /* [AllowShared] */ srcData: Float32Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RG'], type: GL2['HALF_FLOAT'], /* [AllowShared] */ srcData: Uint16Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RG'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RG_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGB_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
texSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ srcData: Uint8Array | null, srcOffset?: GLuint /* = 0 */): void;
//#endregion
copyTexSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
// no compressed formats are supported by default
// compressedTexImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: 0, imageSize: GLsizei, offset: GLintptr): void;
// compressedTexImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: 0, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset?: GLuint /* = 0 */, srcLengthOverride?: GLuint /* = 0 */): void;
// compressedTexImage3D(target: TexImage3DTarget, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, imageSize: GLsizei, offset: GLintptr): void;
// compressedTexImage3D(target: TexImage3DTarget, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset?: GLuint /* = 0 */, srcLengthOverride?: GLuint /* = 0 */): void;
// compressedTexSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2enum, imageSize: GLsizei, offset: GLintptr): void;
// compressedTexSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GL2enum, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset?: GLuint /* = 0 */, srcLengthOverride?: GLuint /* = 0 */): void;
// compressedTexSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2enum, imageSize: GLsizei, offset: GLintptr): void;
// compressedTexSubImage3D(target: TexImage3DTarget, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GL2enum, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset?: GLuint /* = 0 */, srcLengthOverride?: GLuint /* = 0 */): void;
/* Programs and shaders */
/* [WebGLHandlesContextLoss] */ getFragDataLocation(program: WebGLProgram, name: DOMString): GLint;
/* Uniforms */
uniform1ui(location: WebGLUniformLocation | null, v0: GLuint): void;
uniform2ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint): void;
uniform3ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint): void;
uniform4ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void;
uniform1fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform2fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform3fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform4fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform1iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform2iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform3iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform4iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform1uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform2uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform3uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniform4uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint /* = 0 */, srcLength?: GLuint /* = 0 */): void;
/* Vertex attribs */
vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void;
vertexAttribI4iv(index: GLuint, values: Int32List): void;
vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void;
vertexAttribI4uiv(index: GLuint, values: Uint32List): void;
vertexAttribIPointer(index: GLuint, size: 1 | 2 | 3 | 4, type: GL.ArrayType, stride: GLsizei, offset: GLintptr): void;
/* Writing to the drawing buffer */
vertexAttribDivisor(index: GLuint, divisor: GLuint): void;
drawArraysInstanced(mode: GL.DrawMode, first: GLint, count: GLsizei, instanceCount: GLsizei): void;
drawElementsInstanced(mode: GL.DrawMode, count: GLsizei, type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT'], offset: GLintptr, instanceCount: GLsizei): void;
drawRangeElements(mode: GL.DrawMode, start: GLuint, end: GLuint, count: GLsizei, type: GL2['UNSIGNED_BYTE'] | GL2['UNSIGNED_SHORT'] | GL2['UNSIGNED_INT'], offset: GLintptr): void;
/* Reading back pixels */
// WebGL2:
/** For normalized fixed-point rendering surfaces */
readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], offset: GLintptr): void;
/** For normalized fixed-point rendering surfaces */
readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA'], type: GL2['UNSIGNED_BYTE'], /* [AllowShared] */ dstData: ArrayBufferView, dstOffset: GLuint): void;
/** For signed integer rendering surfaces */
readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['INT'], offset: GLintptr): void;
/** For signed integer rendering surfaces */
readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['INT'], /* [AllowShared] */ dstData: ArrayBufferView, dstOffset: GLuint): void;
/** For unsigned integer rendering surfaces */
readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_INT'], offset: GLintptr): void;
/** For unsigned integer rendering surfaces */
readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GL2['RGBA_INTEGER'], type: GL2['UNSIGNED_INT'], /* [AllowShared] */ dstData: ArrayBufferView, dstOffset: GLuint): void;
/** Implementation-chosen format; see getParameter(gl.IMPLEMENTATION_COLOR_READ_FORMAT) and getParameter(gl.IMPLEMENTATION_COLOR_READ_type) */
readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: ReadPixelsFormat, type: ReadPixelsType, offset: GLintptr): void;
/** Implementation-chosen format; see getParameter(gl.IMPLEMENTATION_COLOR_READ_FORMAT) and getParameter(gl.IMPLEMENTATION_COLOR_READ_type) */
readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: ReadPixelsFormat, type: ReadPixelsType, /* [AllowShared] */ dstData: ArrayBufferView, dstOffset: GLuint): void;
/* Multiple Render Targets */
drawBuffers(buffers: Array): void;
// see https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf#chapter.4
clearBufferfv(buffer: GL2['COLOR'], drawbuffer: GLint, values: Float32List, srcOffset?: GLuint /* = 0 */): void;
clearBufferfv(buffer: GL2['DEPTH'], drawbuffer: 0, values: Float32List, srcOffset?: GLuint /* = 0 */): void;
clearBufferiv(buffer: GL2['COLOR'], drawbuffer: GLint, values: Int32List, srcOffset?: GLuint /* = 0 */): void;
clearBufferiv(buffer: GL2['STENCIL'], drawbuffer: 0, values: Int32List, srcOffset?: GLuint /* = 0 */): void;
clearBufferuiv(buffer: GL2['COLOR'], drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint /* = 0 */): void;
clearBufferfi(buffer: GL2['DEPTH_STENCIL'], drawbuffer: 0, depth: GLfloat, stencil: GLint): void;
/* Query Objects */
createQuery(): WebGLQuery | null;
deleteQuery(query: WebGLQuery | null): void;
/* [WebGLHandlesContextLoss] */ isQuery(query: WebGLQuery | null): GLboolean;
beginQuery(target: QueryTarget, query: WebGLQuery): void;
endQuery(target: QueryTarget): void;
getQuery(target: QueryTarget, pname: GL2['CURRENT_QUERY']): WebGLQuery | null;
getQueryParameter(query: WebGLQuery, pname: GL2['QUERY_RESULT']): GLuint;
getQueryParameter(query: WebGLQuery, pname: GL2['QUERY_RESULT_AVAILABLE']): GLboolean;
/* Sampler Objects */
createSampler(): WebGLSampler | null;
deleteSampler(sampler: WebGLSampler | null): void;
/* [WebGLHandlesContextLoss] */ isSampler(sampler: WebGLSampler | null): GLboolean;
bindSampler(unit: GLuint, sampler: WebGLSampler | null): void;
// use samplerParameterf, everything is a float in JS
samplerParameteri(sampler: WebGLSampler, pname: never, param: GLint): void;
samplerParameterf(sampler: WebGLSampler, pname: GL2['TEXTURE_COMPARE_FUNC'], param: GL.ComparisonFunc): void;
samplerParameterf(sampler: WebGLSampler, pname: GL2['TEXTURE_COMPARE_MODE'], param: GL2['COMPARE_REF_TO_TEXTURE'] | GL2['NONE']): void;
samplerParameterf(sampler: WebGLSampler, pname: GL2['TEXTURE_MAG_FILTER'], param: GL.TextureMagFilter): void;
samplerParameterf(sampler: WebGLSampler, pname: GL2['TEXTURE_MIN_FILTER'], param: GL.TextureMinFilter): void;
samplerParameterf(sampler: WebGLSampler, pname: GL2['TEXTURE_MAX_LOD'], param: GLfloat): void;
samplerParameterf(sampler: WebGLSampler, pname: GL2['TEXTURE_MIN_LOD'], param: GLfloat): void;
samplerParameterf(sampler: WebGLSampler, pname: GL2['TEXTURE_WRAP_R'], param: GL.TextureWrap): void;
samplerParameterf(sampler: WebGLSampler, pname: GL2['TEXTURE_WRAP_S'], param: GL.TextureWrap): void;
samplerParameterf(sampler: WebGLSampler, pname: GL2['TEXTURE_WRAP_T'], param: GL.TextureWrap): void;
getSamplerParameter(sampler: WebGLSampler, pname: GL2['TEXTURE_COMPARE_FUNC']): GL.ComparisonFunc; // indicating the texture comparison function.
getSamplerParameter(sampler: WebGLSampler, pname: GL2['TEXTURE_COMPARE_MODE']): GL2['COMPARE_REF_TO_TEXTURE'] | GL2['NONE']; // indicating the texture comparison mode.
getSamplerParameter(sampler: WebGLSampler, pname: GL2['TEXTURE_MAG_FILTER']): GL.TextureMagFilter; // indicating the texture magnification filter.
getSamplerParameter(sampler: WebGLSampler, pname: GL2['TEXTURE_MIN_FILTER']): GL.TextureMinFilter; // indicating the texture minification filter
getSamplerParameter(sampler: WebGLSampler, pname: GL2['TEXTURE_MAX_LOD']): GLfloat; // indicating the maximum level-of-detail value.
getSamplerParameter(sampler: WebGLSampler, pname: GL2['TEXTURE_MIN_LOD']): GLfloat; // indicating the minimum level-of-detail value.
getSamplerParameter(sampler: WebGLSampler, pname: GL2['TEXTURE_WRAP_R']): GL.TextureWrap; // indicating the texture wrapping function for the texture coordinate r.
getSamplerParameter(sampler: WebGLSampler, pname: GL2['TEXTURE_WRAP_S']): GL.TextureWrap; // indicating the texture wrapping function for the texture coordinate s.
getSamplerParameter(sampler: WebGLSampler, pname: GL2['TEXTURE_WRAP_T']): GL.TextureWrap; // indicating the texture wrapping function for the texture coordinate t.
/* Sync objects */
fenceSync(condition: GL2['SYNC_GPU_COMMANDS_COMPLETE'], flags: 0): WebGLSync | null;
/* [WebGLHandlesContextLoss] */ isSync(sync: WebGLSync | null): GLboolean;
deleteSync(sync: WebGLSync | null): void;
clientWaitSync(sync: WebGLSync, flags: 0 | GL2['SYNC_FLUSH_COMMANDS_BIT'], timeout: GLuint64): ClientWaitSyncStatus;
waitSync(sync: WebGLSync, flags: 0, timeout: GLint64): void;
getSyncParameter(sync: WebGLSync, pname: GL2['OBJECT_TYPE']): GL2['SYNC_FENCE'];
getSyncParameter(sync: WebGLSync, pname: GL2['SYNC_STATUS']): GL2['SIGNALED'] | GL2['UNSIGNALED'];
getSyncParameter(sync: WebGLSync, pname: GL2['SYNC_CONDITION']): GL2['SYNC_GPU_COMMANDS_COMPLETE'];
getSyncParameter(sync: WebGLSync, pname: GL2['SYNC_FLAGS']): 0;
/* Transform Feedback */
createTransformFeedback(): WebGLTransformFeedback | null;
deleteTransformFeedback(tf: WebGLTransformFeedback | null): void;
/* [WebGLHandlesContextLoss] */ isTransformFeedback(tf: WebGLTransformFeedback | null): GLboolean;
bindTransformFeedback(target: GL2['TRANSFORM_FEEDBACK'], tf: WebGLTransformFeedback | null): void;
beginTransformFeedback(primitiveMode: TransformFeedbackPrimitiveMode): void;
endTransformFeedback(): void;
transformFeedbackVaryings(program: WebGLProgram, varyings: DOMString[], bufferMode: GL2['INTERLEAVED_ATTRIBS'] | GL2['SEPARATE_ATTRIBS']): void;
getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null;
pauseTransformFeedback(): void;
resumeTransformFeedback(): void;
/* Uniform Buffer Objects and Transform Feedback Buffers */
bindBufferBase(target: GL2['TRANSFORM_FEEDBACK_BUFFER'] | GL2['UNIFORM_BUFFER'], index: GLuint, buffer: WebGLBuffer | null): void;
bindBufferRange(target: GL2['TRANSFORM_FEEDBACK_BUFFER'] | GL2['UNIFORM_BUFFER'], index: GLuint, buffer: WebGLBuffer | null, offset: GLintptr, size: GLsizeiptr): void;
getIndexedParameter(target: GL2['TRANSFORM_FEEDBACK_BUFFER_BINDING'], index: GLuint): WebGLBuffer;
getIndexedParameter(target: GL2['TRANSFORM_FEEDBACK_BUFFER_SIZE'], index: GLuint): GLsizeiptr;
getIndexedParameter(target: GL2['TRANSFORM_FEEDBACK_BUFFER_START'], index: GLuint): GLintptr;
getIndexedParameter(target: GL2['UNIFORM_BUFFER_BINDING'], index: GLuint): WebGLBuffer;
getIndexedParameter(target: GL2['UNIFORM_BUFFER_SIZE'], index: GLuint): GLsizeiptr;
getIndexedParameter(target: GL2['UNIFORM_BUFFER_START'], index: GLuint): GLintptr;
getUniformIndices(program: WebGLProgram, uniformNames: DOMString[]): GLuint[] | null;
getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GL2['UNIFORM_TYPE']): UniformType[];
getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GL2['UNIFORM_SIZE']): GLuint[];
getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GL2['UNIFORM_BLOCK_INDEX']): GLint[];
getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GL2['UNIFORM_OFFSET']): GLint[];
getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GL2['UNIFORM_ARRAY_STRIDE']): GLint[];
getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GL2['UNIFORM_MATRIX_STRIDE']): GLint[];
getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GL2['UNIFORM_IS_ROW_MAJOR']): GLboolean[];
getUniformBlockIndex(program: WebGLProgram, uniformBlockName: DOMString): GLuint;
getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GL2['UNIFORM_BLOCK_BINDING']): GLuint;
getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GL2['UNIFORM_BLOCK_DATA_SIZE']): GLuint;
getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GL2['UNIFORM_BLOCK_ACTIVE_UNIFORMS']): GLuint;
getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GL2['UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES']): Uint32Array;
getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GL2['UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER']): GLboolean;
getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GL2['UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER']): GLboolean;
getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): DOMString | null;
uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void;
/* Vertex Array Objects */
createVertexArray(): WebGLVertexArrayObject | null;
deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void;
/* [WebGLHandlesContextLoss] */ isVertexArray(vertexArray: WebGLVertexArrayObject | null): GLboolean;
bindVertexArray(array: WebGLVertexArrayObject | null): void;
}
type FramebufferTarget = GL2['FRAMEBUFFER'] | GL2['DRAW_FRAMEBUFFER'] | GL2['READ_FRAMEBUFFER'];
type FramebufferAttachment = GL.FramebufferRenderbufferAttachment | GL.ColorAttachment;
type RenderbufferInternalFormat = GL.RenderbufferInternalFormat
| GL2['R8']
| GL2['R8UI']
| GL2['R8I']
| GL2['R16UI']
| GL2['R16I']
| GL2['R32UI']
| GL2['R32I']
| GL2['RG8']
| GL2['RG8UI']
| GL2['RG8I']
| GL2['RG16UI']
| GL2['RG16I']
| GL2['RG32UI']
| GL2['RG32I']
| GL2['RGB8']
| GL2['RGBA8']
| GL2['SRGB8_ALPHA8']
| GL2['RGB565']
| GL2['RGB10_A2']
| GL2['RGBA8UI']
| GL2['RGBA8I']
| GL2['RGB10_A2UI']
| GL2['RGBA16UI']
| GL2['RGBA16I']
| GL2['RGBA32I']
| GL2['RGBA32UI']
| GL2['DEPTH_COMPONENT24']
| GL2['DEPTH_COMPONENT32F']
| GL2['DEPTH24_STENCIL8']
| GL2['DEPTH32F_STENCIL8'];
type TextureInternalFormat = GL.TextureInternalFormat
| GL2['R8']
| GL2['R16F']
| GL2['R32F']
| GL2['R8UI']
| GL2['RG8']
| GL2['RG16F']
| GL2['RG32F']
| GL2['RG8UI']
| GL2['RGB8']
| GL2['SRGB8']
| GL2['RGB565']
| GL2['R11F_G11F_B10F']
| GL2['RGB9_E5']
| GL2['RGB16F']
| GL2['RGB32F']
| GL2['RGB8UI']
| GL2['RGBA8']
| GL2['SRGB8_ALPHA8']
| GL2['RGB5_A1']
| GL2['RGB10_A2']
| GL2['RGBA4']
| GL2['RGBA16F']
| GL2['RGBA32F']
| GL2['RGBA8UI'];
type BufferTarget = GL.BufferTarget
| GL2['COPY_READ_BUFFER']
| GL2['COPY_WRITE_BUFFER']
| GL2['TRANSFORM_FEEDBACK_BUFFER']
| GL2['UNIFORM_BUFFER']
| GL2['PIXEL_PACK_BUFFER']
| GL2['PIXEL_UNPACK_BUFFER'];
type BufferTargetBinding = GL.BufferTargetBinding
| GL2['COPY_READ_BUFFER_BINDING']
| GL2['COPY_WRITE_BUFFER_BINDING']
| GL2['PIXEL_PACK_BUFFER_BINDING']
| GL2['PIXEL_UNPACK_BUFFER_BINDING']
| GL2['TRANSFORM_FEEDBACK_BUFFER_BINDING']
| GL2['UNIFORM_BUFFER_BINDING'];
type QueryTarget = GL2['ANY_SAMPLES_PASSED'] // Specifies an occlusion query: these queries detect whether an object is visible (whether the scoped drawing commands pass the depth test and if so, how many samples pass).
| GL2['ANY_SAMPLES_PASSED_CONSERVATIVE'] // Same as above above, but less accurate and faster version.
| GL2['TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN']; // Number of primitives that are written to transform feedback buffers.
type TransformFeedbackPrimitiveMode = GL2['POINTS'] | GL2['LINES'] | GL2['TRIANGLES'];
type ClientWaitSyncStatus = GL2['ALREADY_SIGNALED'] // Indicates that the sync object was signaled when this method was called.
| GL2['TIMEOUT_EXPIRED'] // Indicates that the timeout time passed and that the sync object did not become signaled.
| GL2['CONDITION_SATISFIED'] // Indicates that the sync object was signaled before the timeout expired.
| GL2['WAIT_FAILED']; // Indicates that an error occurred during the execution.
type AttribType = GL.AttribType
| GL2['FLOAT_MAT2x3']
| GL2['FLOAT_MAT2x4']
| GL2['FLOAT_MAT3x2']
| GL2['FLOAT_MAT3x4']
| GL2['FLOAT_MAT4x2']
| GL2['FLOAT_MAT4x3']
| GL2['INT']
| GL2['INT_VEC2']
| GL2['INT_VEC3']
| GL2['INT_VEC4']
| GL2['UNSIGNED_INT']
| GL2['UNSIGNED_INT_VEC2']
| GL2['UNSIGNED_INT_VEC3']
| GL2['UNSIGNED_INT_VEC4'];
type UniformType = GL.UniformType
| GL2['UNSIGNED_INT']
| GL2['UNSIGNED_INT_VEC2']
| GL2['UNSIGNED_INT_VEC3']
| GL2['UNSIGNED_INT_VEC4']
| GL2['FLOAT_MAT2x3']
| GL2['FLOAT_MAT2x4']
| GL2['FLOAT_MAT3x2']
| GL2['FLOAT_MAT3x4']
| GL2['FLOAT_MAT4x2']
| GL2['FLOAT_MAT4x3']
| GL2['SAMPLER_2D']
| GL2['SAMPLER_3D']
| GL2['SAMPLER_CUBE']
| GL2['SAMPLER_2D_SHADOW']
| GL2['SAMPLER_2D_ARRAY']
| GL2['SAMPLER_2D_ARRAY_SHADOW']
| GL2['SAMPLER_CUBE_SHADOW']
| GL2['INT_SAMPLER_2D']
| GL2['INT_SAMPLER_3D']
| GL2['INT_SAMPLER_CUBE']
| GL2['INT_SAMPLER_2D_ARRAY']
| GL2['UNSIGNED_INT_SAMPLER_2D']
| GL2['UNSIGNED_INT_SAMPLER_3D']
| GL2['UNSIGNED_INT_SAMPLER_CUBE']
| GL2['UNSIGNED_INT_SAMPLER_2D_ARRAY'];
type UniformValue = GLboolean
| GLint
| GLfloat
| Float32Array
| Int32Array
| Uint32Array
| GLboolean[]
| GLuint;
type BufferDataUsage = GL.BufferDataUsage
| GL2['STATIC_READ'] // Contents of the buffer are likely to be used often and not change often. Contents are read from the buffer, but not written.
| GL2['DYNAMIC_READ'] // Contents of the buffer are likely to be used often and change often. Contents are read from the buffer, but not written.
| GL2['STREAM_READ'] // Contents of the buffer are likely to not be used often. Contents are read from the buffer, but not written.
| GL2['STATIC_COPY'] // Contents of the buffer are likely to be used often and not change often. Contents are neither written or read by the user.
| GL2['DYNAMIC_COPY'] // Contents of the buffer are likely to be used often and change often. Contents are neither written or read by the user.
| GL2['STREAM_COPY']; // Contents of the buffer are likely to be used often and not change often. Contents are neither written or read by the user.
type TextureTarget = GL.TextureTarget | TexImage3DTarget;
type Capability = GL.Capability | GL2['RASTERIZER_DISCARD'];
type TexImage3DTarget = GL2['TEXTURE_3D'] | GL2['TEXTURE_2D_ARRAY'];
// see https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf#table.3.2
type TextureFormat = GL.TextureInternalFormat // in GL1 internalFormat = format
| GL2['RED']
| GL2['RED_INTEGER']
| GL2['RG']
| GL2['RG_INTEGER']
| GL2['RGB']
| GL2['RGB_INTEGER']
| GL2['RGBA']
| GL2['RGBA_INTEGER'];
type ReadPixelsFormat = GL2['RED']
| GL2['RED_INTEGER']
| GL2['RG']
| GL2['RG_INTEGER']
| GL2['RGB']
| GL2['RGB_INTEGER']
| GL2['RGBA']
| GL2['RGBA_INTEGER'];
// see https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf#table.3.2
type ReadPixelsType = GL.ArrayType
| GL2['UNSIGNED_SHORT_4_4_4_4']
| GL2['UNSIGNED_SHORT_5_5_5_1']
| GL2['UNSIGNED_INT_2_10_10_10_REV']
| GL2['UNSIGNED_SHORT_5_6_5']
| GL2['UNSIGNED_INT_10F_11F_11F_REV']
| GL2['UNSIGNED_INT_5_9_9_9_REV'];
type PixelStorageIntParameter = GL2['PACK_ROW_LENGTH']
| GL2['PACK_SKIP_PIXELS']
| GL2['PACK_SKIP_ROWS']
| GL2['UNPACK_ROW_LENGTH']
| GL2['UNPACK_IMAGE_HEIGHT']
| GL2['UNPACK_SKIP_PIXELS']
| GL2['UNPACK_SKIP_ROWS']
| GL2['UNPACK_SKIP_IMAGES'];
// https://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/
interface Base_EXT_texture_filter_anisotropic {
getParameter(pname: GL.EXT_texture_filter_anisotropic['MAX_TEXTURE_MAX_ANISOTROPY_EXT']): GLfloat;
getTexParameter(target: TextureTarget, pname: GL.EXT_texture_filter_anisotropic['TEXTURE_MAX_ANISOTROPY_EXT']): GLfloat;
texParameterf(target: TextureTarget, pname: GL.EXT_texture_filter_anisotropic['TEXTURE_MAX_ANISOTROPY_EXT'], param: GLfloat): void;
}
// https://www.khronos.org/registry/webgl/extensions/EXT_disjoint_timer_query_webgl2/
type GLuint64EXT = number; // WebIDL: unsigned long long
/* [NoInterfaceObject] */
interface EXT_disjoint_timer_query_webgl2 {
readonly QUERY_COUNTER_BITS_EXT: /* 0x8864 */ GLenum<'QUERY_COUNTER_BITS_EXT'>;
readonly TIME_ELAPSED_EXT: /* 0x88BF */ GLenum<'TIME_ELAPSED_EXT'>;
readonly TIMESTAMP_EXT: /* 0x8E28 */ GLenum<'TIMESTAMP_EXT'>;
readonly GPU_DISJOINT_EXT: /* 0x8FBB */ GLenum<'GPU_DISJOINT_EXT'>;
queryCounterEXT(query: WebGLQuery, target: EXT_disjoint_timer_query_webgl2['TIMESTAMP_EXT']): void;
}
interface Base_EXT_disjoint_timer_query_webgl2 {
beginQuery(target: EXT_disjoint_timer_query_webgl2['TIME_ELAPSED_EXT'], query: WebGLQuery | null): void;
endQuery(target: EXT_disjoint_timer_query_webgl2['TIME_ELAPSED_EXT']): void;
getQueryEXT(target: EXT_disjoint_timer_query_webgl2['TIME_ELAPSED_EXT'], pname: GL2['CURRENT_QUERY']): WebGLQuery | null;
getQueryEXT(target: EXT_disjoint_timer_query_webgl2['TIMESTAMP_EXT'], pname: GL2['CURRENT_QUERY']): null;
getQueryEXT(target: EXT_disjoint_timer_query_webgl2['TIME_ELAPSED_EXT'], pname: EXT_disjoint_timer_query_webgl2['QUERY_COUNTER_BITS_EXT']): GLint;
getQueryEXT(target: EXT_disjoint_timer_query_webgl2['TIMESTAMP_EXT'], pname: EXT_disjoint_timer_query_webgl2['QUERY_COUNTER_BITS_EXT']): GLint;
getParameter(pname: EXT_disjoint_timer_query_webgl2['TIMESTAMP_EXT']): GLuint64EXT;
getParameter(pname: EXT_disjoint_timer_query_webgl2['GPU_DISJOINT_EXT']): boolean;
}
// https://www.khronos.org/registry/webgl/extensions/EXT_color_buffer_float/
interface Base_EXT_color_float {
renderbufferStorage(target: GL['RENDERBUFFER'], internalformat: RenderbufferInternalFormatEXTColorFloat, width: GLsizei, height: GLsizei): void;
}
type RenderbufferInternalFormatEXTColorFloat = GL2['R16F']
| GL2['RG16F']
| GL2['RGBA16F']
| GL2['R32F']
| GL2['RG32F']
| GL2['RGBA32F']
| GL2['R11F_G11F_B10F'];
// compressed formats extensions
interface Base_compressedTextureFormat {
// See https://stackoverflow.com/a/36239727/1980909 for which formats support 3D
compressedTexImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: CompressedTextureFormat, width: GLsizei, height: GLsizei, border: 0, imageSize: GLsizei, offset: GLintptr): void;
compressedTexImage2D(target: GL.TexImage2DTarget, level: GLint, internalformat: CompressedTextureFormat, width: GLsizei, height: GLsizei, border: 0, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset?: GLuint /* = 0 */, srcLengthOverride?: GLuint /* = 0 */): void;
compressedTexImage3D(target: GL2['TEXTURE_2D_ARRAY'], level: GLint, internalformat: CompressedTextureFormat3D, width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, imageSize: GLsizei, offset: GLintptr): void;
compressedTexImage3D(target: GL2['TEXTURE_2D_ARRAY'], level: GLint, internalformat: CompressedTextureFormat3D, width: GLsizei, height: GLsizei, depth: GLsizei, border: 0, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset?: GLuint /* = 0 */, srcLengthOverride?: GLuint /* = 0 */): void;
compressedTexSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: CompressedTextureFormatNoEtc1, imageSize: GLsizei, offset: GLintptr): void;
compressedTexSubImage2D(target: GL.TexImage2DTarget, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: CompressedTextureFormatNoEtc1, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset?: GLuint /* = 0 */, srcLengthOverride?: GLuint /* = 0 */): void;
compressedTexSubImage3D(target: GL2['TEXTURE_2D_ARRAY'], level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: CompressedTextureFormat3D, imageSize: GLsizei, offset: GLintptr): void;
compressedTexSubImage3D(target: GL2['TEXTURE_2D_ARRAY'], level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: CompressedTextureFormat3D, /* [AllowShared] */ srcData: ArrayBufferView, srcOffset?: GLuint /* = 0 */, srcLengthOverride?: GLuint /* = 0 */): void;
}
type CompressedTextureFormat3D = GL.CompressedTextureFormatAstc | GL.CompressedTextureFormatEtc | GL.CompressedTextureFormatS3tc | GL.CompressedTextureFormatS3tcSrgb;
type CompressedTextureFormatNoEtc1 = CompressedTextureFormat3D | GL.CompressedTextureFormatAtc | GL.CompressedTextureFormatPvrtc;
type CompressedTextureFormat = CompressedTextureFormatNoEtc1 | GL.WEBGL_compressed_texture_etc1['COMPRESSED_RGB_ETC1_WEBGL'];
}
type WebGL2RenderingContextStrict = WebGLRenderingContextStrict.Base
& WebGLRenderingContextStrict.Base_WEBGL_debug_renderer_info
& WebGL2RenderingContextStrict.Base
& WebGL2RenderingContextStrict.Base_EXT_texture_filter_anisotropic
& WebGL2RenderingContextStrict.Base_EXT_disjoint_timer_query_webgl2
& WebGL2RenderingContextStrict.Base_compressedTextureFormat;
// declare var WebGL2RenderingContext: WebGL2RenderingContextStrict.Constants & {
// prototype: WebGL2RenderingContext;
// new(_: never): WebGL2RenderingContext;
// };