DefinitelyTyped/types/webgl2/index.d.ts
Nathan Shively-Sanders fc1a495675
Dom fixes 2019 07 11 (#36837)
* Jquery, webappsec-credential-mangment, webgl2

1. `$(window)` will have a different type in TS 3.6,
`JQuery<Window & typeof globalThis>`, so ExpectType
assertions won't work anymore. I weakened the test to test
assignability:

```ts
const jqw: JQuery<Window> = $(window);
```

2. webappsec-credential-management needs to avoid conflicts with the DOM
version that 3.6 will include in order to keep compiling. I copied
interfaces and inlined type aliases where needed.

Inlining type aliases is not the ideal solution, but they don't merge,
so I couldn't copy them like interfaces. And they are (1) used only once
or twice (2) self-explanatory literal unions, so I think it's fine for a
package that will see reduced use once 3.6 is released.

3. webgl2 is also now in the DOM, so the polyfill types need to match
exactly. I deleted an extra property. Again, I expect this package to
stop being used as much once 3.6 is released.

* Rename CredentialData instead of deleting it

* Re-add CredentialData, CredentialBase->Credential

CredentialBase becomes an interface too, which more closely matches the
code in TS 3.6.

* Bump version of webappsec-credential-management
2019-07-11 14:14:34 -07:00

1194 lines
72 KiB
TypeScript

// Type definitions for WebGL 2, Editor's Draft Fri Feb 24 16:10:18 2017 -0800
// Project: https://www.khronos.org/registry/webgl/specs/latest/2.0/
// Definitions by: Nico Kemnitz <https://github.com/nkemnitz>
// Adrian Blumer <https://github.com/karhu>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
interface HTMLCanvasElement extends HTMLElement {
getContext(contextId: "webgl2" | "experimental-webgl2", contextAttributes?: WebGLContextAttributes): WebGL2RenderingContext | null;
}
interface ImageBitmap {
readonly width: number;
readonly height: number;
close(): void;
}
interface WebGL2RenderingContext extends WebGLRenderingContext {
readonly READ_BUFFER: number; // 0x0C02
readonly UNPACK_ROW_LENGTH: number; // 0x0CF2
readonly UNPACK_SKIP_ROWS: number; // 0x0CF3
readonly UNPACK_SKIP_PIXELS: number; // 0x0CF4
readonly PACK_ROW_LENGTH: number; // 0x0D02
readonly PACK_SKIP_ROWS: number; // 0x0D03
readonly PACK_SKIP_PIXELS: number; // 0x0D04
readonly COLOR: number; // 0x1800
readonly DEPTH: number; // 0x1801
readonly STENCIL: number; // 0x1802
readonly RED: number; // 0x1903
readonly RGB8: number; // 0x8051
readonly RGBA8: number; // 0x8058
readonly RGB10_A2: number; // 0x8059
readonly TEXTURE_BINDING_3D: number; // 0x806A
readonly UNPACK_SKIP_IMAGES: number; // 0x806D
readonly UNPACK_IMAGE_HEIGHT: number; // 0x806E
readonly TEXTURE_3D: number; // 0x806F
readonly TEXTURE_WRAP_R: number; // 0x8072
readonly MAX_3D_TEXTURE_SIZE: number; // 0x8073
readonly UNSIGNED_INT_2_10_10_10_REV: number; // 0x8368
readonly MAX_ELEMENTS_VERTICES: number; // 0x80E8
readonly MAX_ELEMENTS_INDICES: number; // 0x80E9
readonly TEXTURE_MIN_LOD: number; // 0x813A
readonly TEXTURE_MAX_LOD: number; // 0x813B
readonly TEXTURE_BASE_LEVEL: number; // 0x813C
readonly TEXTURE_MAX_LEVEL: number; // 0x813D
readonly MIN: number; // 0x8007
readonly MAX: number; // 0x8008
readonly DEPTH_COMPONENT24: number; // 0x81A6
readonly MAX_TEXTURE_LOD_BIAS: number; // 0x84FD
readonly TEXTURE_COMPARE_MODE: number; // 0x884C
readonly TEXTURE_COMPARE_FUNC: number; // 0x884D
readonly CURRENT_QUERY: number; // 0x8865
readonly QUERY_RESULT: number; // 0x8866
readonly QUERY_RESULT_AVAILABLE: number; // 0x8867
readonly STREAM_READ: number; // 0x88E1
readonly STREAM_COPY: number; // 0x88E2
readonly STATIC_READ: number; // 0x88E5
readonly STATIC_COPY: number; // 0x88E6
readonly DYNAMIC_READ: number; // 0x88E9
readonly DYNAMIC_COPY: number; // 0x88EA
readonly MAX_DRAW_BUFFERS: number; // 0x8824
readonly DRAW_BUFFER0: number; // 0x8825
readonly DRAW_BUFFER1: number; // 0x8826
readonly DRAW_BUFFER2: number; // 0x8827
readonly DRAW_BUFFER3: number; // 0x8828
readonly DRAW_BUFFER4: number; // 0x8829
readonly DRAW_BUFFER5: number; // 0x882A
readonly DRAW_BUFFER6: number; // 0x882B
readonly DRAW_BUFFER7: number; // 0x882C
readonly DRAW_BUFFER8: number; // 0x882D
readonly DRAW_BUFFER9: number; // 0x882E
readonly DRAW_BUFFER10: number; // 0x882F
readonly DRAW_BUFFER11: number; // 0x8830
readonly DRAW_BUFFER12: number; // 0x8831
readonly DRAW_BUFFER13: number; // 0x8832
readonly DRAW_BUFFER14: number; // 0x8833
readonly DRAW_BUFFER15: number; // 0x8834
readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: number; // 0x8B49
readonly MAX_VERTEX_UNIFORM_COMPONENTS: number; // 0x8B4A
readonly SAMPLER_3D: number; // 0x8B5F
readonly SAMPLER_2D_SHADOW: number; // 0x8B62
readonly FRAGMENT_SHADER_DERIVATIVE_HINT: number; // 0x8B8B
readonly PIXEL_PACK_BUFFER: number; // 0x88EB
readonly PIXEL_UNPACK_BUFFER: number; // 0x88EC
readonly PIXEL_PACK_BUFFER_BINDING: number; // 0x88ED
readonly PIXEL_UNPACK_BUFFER_BINDING: number; // 0x88EF
readonly FLOAT_MAT2x3: number; // 0x8B65
readonly FLOAT_MAT2x4: number; // 0x8B66
readonly FLOAT_MAT3x2: number; // 0x8B67
readonly FLOAT_MAT3x4: number; // 0x8B68
readonly FLOAT_MAT4x2: number; // 0x8B69
readonly FLOAT_MAT4x3: number; // 0x8B6A
readonly SRGB: number; // 0x8C40
readonly SRGB8: number; // 0x8C41
readonly SRGB8_ALPHA8: number; // 0x8C43
readonly COMPARE_REF_TO_TEXTURE: number; // 0x884E
readonly RGBA32F: number; // 0x8814
readonly RGB32F: number; // 0x8815
readonly RGBA16F: number; // 0x881A
readonly RGB16F: number; // 0x881B
readonly VERTEX_ATTRIB_ARRAY_INTEGER: number; // 0x88FD
readonly MAX_ARRAY_TEXTURE_LAYERS: number; // 0x88FF
readonly MIN_PROGRAM_TEXEL_OFFSET: number; // 0x8904
readonly MAX_PROGRAM_TEXEL_OFFSET: number; // 0x8905
readonly MAX_VARYING_COMPONENTS: number; // 0x8B4B
readonly TEXTURE_2D_ARRAY: number; // 0x8C1A
readonly TEXTURE_BINDING_2D_ARRAY: number; // 0x8C1D
readonly R11F_G11F_B10F: number; // 0x8C3A
readonly UNSIGNED_INT_10F_11F_11F_REV: number; // 0x8C3B
readonly RGB9_E5: number; // 0x8C3D
readonly UNSIGNED_INT_5_9_9_9_REV: number; // 0x8C3E
readonly TRANSFORM_FEEDBACK_BUFFER_MODE: number; // 0x8C7F
readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: number; // 0x8C80
readonly TRANSFORM_FEEDBACK_VARYINGS: number; // 0x8C83
readonly TRANSFORM_FEEDBACK_BUFFER_START: number; // 0x8C84
readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: number; // 0x8C85
readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: number; // 0x8C88
readonly RASTERIZER_DISCARD: number; // 0x8C89
readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: number; // 0x8C8A
readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: number; // 0x8C8B
readonly INTERLEAVED_ATTRIBS: number; // 0x8C8C
readonly SEPARATE_ATTRIBS: number; // 0x8C8D
readonly TRANSFORM_FEEDBACK_BUFFER: number; // 0x8C8E
readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: number; // 0x8C8F
readonly RGBA32UI: number; // 0x8D70
readonly RGB32UI: number; // 0x8D71
readonly RGBA16UI: number; // 0x8D76
readonly RGB16UI: number; // 0x8D77
readonly RGBA8UI: number; // 0x8D7C
readonly RGB8UI: number; // 0x8D7D
readonly RGBA32I: number; // 0x8D82
readonly RGB32I: number; // 0x8D83
readonly RGBA16I: number; // 0x8D88
readonly RGB16I: number; // 0x8D89
readonly RGBA8I: number; // 0x8D8E
readonly RGB8I: number; // 0x8D8F
readonly RED_INTEGER: number; // 0x8D94
readonly RGB_INTEGER: number; // 0x8D98
readonly RGBA_INTEGER: number; // 0x8D99
readonly SAMPLER_2D_ARRAY: number; // 0x8DC1
readonly SAMPLER_2D_ARRAY_SHADOW: number; // 0x8DC4
readonly SAMPLER_CUBE_SHADOW: number; // 0x8DC5
readonly UNSIGNED_INT_VEC2: number; // 0x8DC6
readonly UNSIGNED_INT_VEC3: number; // 0x8DC7
readonly UNSIGNED_INT_VEC4: number; // 0x8DC8
readonly INT_SAMPLER_2D: number; // 0x8DCA
readonly INT_SAMPLER_3D: number; // 0x8DCB
readonly INT_SAMPLER_CUBE: number; // 0x8DCC
readonly INT_SAMPLER_2D_ARRAY: number; // 0x8DCF
readonly UNSIGNED_INT_SAMPLER_2D: number; // 0x8DD2
readonly UNSIGNED_INT_SAMPLER_3D: number; // 0x8DD3
readonly UNSIGNED_INT_SAMPLER_CUBE: number; // 0x8DD4
readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: number; // 0x8DD7
readonly DEPTH_COMPONENT32F: number; // 0x8CAC
readonly DEPTH32F_STENCIL8: number; // 0x8CAD
readonly FLOAT_32_UNSIGNED_INT_24_8_REV: number; // 0x8DAD
readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: number; // 0x8210
readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: number; // 0x8211
readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: number; // 0x8212
readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: number; // 0x8213
readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: number; // 0x8214
readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: number; // 0x8215
readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: number; // 0x8216
readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: number; // 0x8217
readonly FRAMEBUFFER_DEFAULT: number; // 0x8218
//readonly DEPTH_STENCIL_ATTACHMENT: number; // 0x821A /* Already defined in WebGL1 constants */
//readonly DEPTH_STENCIL: number; // 0x84F9 /* Already defined in WebGL1 constants */
readonly UNSIGNED_INT_24_8: number; // 0x84FA
readonly DEPTH24_STENCIL8: number; // 0x88F0
readonly UNSIGNED_NORMALIZED: number; // 0x8C17
readonly DRAW_FRAMEBUFFER_BINDING: number; // 0x8CA6 /* Same as FRAMEBUFFER_BINDING */
readonly READ_FRAMEBUFFER: number; // 0x8CA8
readonly DRAW_FRAMEBUFFER: number; // 0x8CA9
readonly READ_FRAMEBUFFER_BINDING: number; // 0x8CAA
readonly RENDERBUFFER_SAMPLES: number; // 0x8CAB
readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: number; // 0x8CD4
readonly MAX_COLOR_ATTACHMENTS: number; // 0x8CDF
readonly COLOR_ATTACHMENT1: number; // 0x8CE1
readonly COLOR_ATTACHMENT2: number; // 0x8CE2
readonly COLOR_ATTACHMENT3: number; // 0x8CE3
readonly COLOR_ATTACHMENT4: number; // 0x8CE4
readonly COLOR_ATTACHMENT5: number; // 0x8CE5
readonly COLOR_ATTACHMENT6: number; // 0x8CE6
readonly COLOR_ATTACHMENT7: number; // 0x8CE7
readonly COLOR_ATTACHMENT8: number; // 0x8CE8
readonly COLOR_ATTACHMENT9: number; // 0x8CE9
readonly COLOR_ATTACHMENT10: number; // 0x8CEA
readonly COLOR_ATTACHMENT11: number; // 0x8CEB
readonly COLOR_ATTACHMENT12: number; // 0x8CEC
readonly COLOR_ATTACHMENT13: number; // 0x8CED
readonly COLOR_ATTACHMENT14: number; // 0x8CEE
readonly COLOR_ATTACHMENT15: number; // 0x8CEF
readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: number; // 0x8D56
readonly MAX_SAMPLES: number; // 0x8D57
readonly HALF_FLOAT: number; // 0x140B
readonly RG: number; // 0x8227
readonly RG_INTEGER: number; // 0x8228
readonly R8: number; // 0x8229
readonly RG8: number; // 0x822B
readonly R16F: number; // 0x822D
readonly R32F: number; // 0x822E
readonly RG16F: number; // 0x822F
readonly RG32F: number; // 0x8230
readonly R8I: number; // 0x8231
readonly R8UI: number; // 0x8232
readonly R16I: number; // 0x8233
readonly R16UI: number; // 0x8234
readonly R32I: number; // 0x8235
readonly R32UI: number; // 0x8236
readonly RG8I: number; // 0x8237
readonly RG8UI: number; // 0x8238
readonly RG16I: number; // 0x8239
readonly RG16UI: number; // 0x823A
readonly RG32I: number; // 0x823B
readonly RG32UI: number; // 0x823C
readonly VERTEX_ARRAY_BINDING: number; // 0x85B5
readonly R8_SNORM: number; // 0x8F94
readonly RG8_SNORM: number; // 0x8F95
readonly RGB8_SNORM: number; // 0x8F96
readonly RGBA8_SNORM: number; // 0x8F97
readonly SIGNED_NORMALIZED: number; // 0x8F9C
readonly COPY_READ_BUFFER: number; // 0x8F36
readonly COPY_WRITE_BUFFER: number; // 0x8F37
readonly COPY_READ_BUFFER_BINDING: number; // 0x8F36 /* Same as COPY_READ_BUFFER */
readonly COPY_WRITE_BUFFER_BINDING: number; // 0x8F37 /* Same as COPY_WRITE_BUFFER */
readonly UNIFORM_BUFFER: number; // 0x8A11
readonly UNIFORM_BUFFER_BINDING: number; // 0x8A28
readonly UNIFORM_BUFFER_START: number; // 0x8A29
readonly UNIFORM_BUFFER_SIZE: number; // 0x8A2A
readonly MAX_VERTEX_UNIFORM_BLOCKS: number; // 0x8A2B
readonly MAX_FRAGMENT_UNIFORM_BLOCKS: number; // 0x8A2D
readonly MAX_COMBINED_UNIFORM_BLOCKS: number; // 0x8A2E
readonly MAX_UNIFORM_BUFFER_BINDINGS: number; // 0x8A2F
readonly MAX_UNIFORM_BLOCK_SIZE: number; // 0x8A30
readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: number; // 0x8A31
readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: number; // 0x8A33
readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: number; // 0x8A34
readonly ACTIVE_UNIFORM_BLOCKS: number; // 0x8A36
readonly UNIFORM_TYPE: number; // 0x8A37
readonly UNIFORM_SIZE: number; // 0x8A38
readonly UNIFORM_BLOCK_INDEX: number; // 0x8A3A
readonly UNIFORM_OFFSET: number; // 0x8A3B
readonly UNIFORM_ARRAY_STRIDE: number; // 0x8A3C
readonly UNIFORM_MATRIX_STRIDE: number; // 0x8A3D
readonly UNIFORM_IS_ROW_MAJOR: number; // 0x8A3E
readonly UNIFORM_BLOCK_BINDING: number; // 0x8A3F
readonly UNIFORM_BLOCK_DATA_SIZE: number; // 0x8A40
readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: number; // 0x8A42
readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: number; // 0x8A43
readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: number; // 0x8A44
readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: number; // 0x8A46
readonly INVALID_INDEX: number; // 0xFFFFFFFF
readonly MAX_VERTEX_OUTPUT_COMPONENTS: number; // 0x9122
readonly MAX_FRAGMENT_INPUT_COMPONENTS: number; // 0x9125
readonly MAX_SERVER_WAIT_TIMEOUT: number; // 0x9111
readonly OBJECT_TYPE: number; // 0x9112
readonly SYNC_CONDITION: number; // 0x9113
readonly SYNC_STATUS: number; // 0x9114
readonly SYNC_FLAGS: number; // 0x9115
readonly SYNC_FENCE: number; // 0x9116
readonly SYNC_GPU_COMMANDS_COMPLETE: number; // 0x9117
readonly UNSIGNALED: number; // 0x9118
readonly SIGNALED: number; // 0x9119
readonly ALREADY_SIGNALED: number; // 0x911A
readonly TIMEOUT_EXPIRED: number; // 0x911B
readonly CONDITION_SATISFIED: number; // 0x911C
readonly WAIT_FAILED: number; // 0x911D
readonly SYNC_FLUSH_COMMANDS_BIT: number; // 0x00000001
readonly VERTEX_ATTRIB_ARRAY_DIVISOR: number; // 0x88FE
readonly ANY_SAMPLES_PASSED: number; // 0x8C2F
readonly ANY_SAMPLES_PASSED_CONSERVATIVE: number; // 0x8D6A
readonly SAMPLER_BINDING: number; // 0x8919
readonly RGB10_A2UI: number; // 0x906F
readonly INT_2_10_10_10_REV: number; // 0x8D9F
readonly TRANSFORM_FEEDBACK: number; // 0x8E22
readonly TRANSFORM_FEEDBACK_PAUSED: number; // 0x8E23
readonly TRANSFORM_FEEDBACK_ACTIVE: number; // 0x8E24
readonly TRANSFORM_FEEDBACK_BINDING: number; // 0x8E25
readonly TEXTURE_IMMUTABLE_FORMAT: number; // 0x912F
readonly MAX_ELEMENT_INDEX: number; // 0x8D6B
readonly TEXTURE_IMMUTABLE_LEVELS: number; // 0x82DF
readonly TIMEOUT_IGNORED: number; // -1
/* WebGL-specific enums */
readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: number; // 0x9247
/* Buffer objects */
// WebGL1:
bufferData(target: number, sizeOrData: number | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array |
Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, usage: number): void;
bufferSubData(target: number, dstByteOffset: number, srcData: Int8Array | Int16Array | Int32Array | Uint8Array |
Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null): void;
// For compatibility with WebGL 1 context in older Typescript versions.
bufferData(target: number, data: ArrayBufferView, usage: number): void;
bufferSubData(target: number, dstByteOffset: number, srcData: ArrayBufferView): void;
// WebGL2:
bufferData(target: number, srcData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array |
Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer | null, usage: number, srcOffset: number, length?: number): void;
bufferSubData(target: number, dstByteOffset: number, srcData: ArrayBufferView,
srcOffset: number, length?: number): void;
copyBufferSubData(readTarget: number, writeTarget: number, readOffset: number,
writeOffset: number, size: number): void;
// MapBufferRange, in particular its read-only and write-only modes,
// can not be exposed safely to JavaScript. GetBufferSubData
// replaces it for the purpose of fetching data back from the GPU.
getBufferSubData(target: number, srcByteOffset: number, dstBuffer: ArrayBufferView,
dstOffset?: number, length?: number): void;
/* Framebuffer objects */
blitFramebuffer(srcX0: number, srcY0: number, srcX1: number, srcY1: number, dstX0: number, dstY0: number,
dstX1: number, dstY1: number, mask: number, filter: number): void;
framebufferTextureLayer(target: number, attachment: number, texture: WebGLTexture | null, level: number,
layer: number): void;
invalidateFramebuffer(target: number, attachments: number[]): void;
invalidateSubFramebuffer(target: number, attachments: number[],
x: number, y: number, width: number, height: number): void;
readBuffer(src: number): void;
/* Renderbuffer objects */
getInternalformatParameter(target: number, internalformat: number, pname: number): any;
renderbufferStorageMultisample(target: number, samples: number, internalformat: number,
width: number, height: number): void;
/* Texture objects */
texStorage2D(target: number, levels: number, internalformat: number, width: number,
height: number): void;
texStorage3D(target: number, levels: number, internalformat: number, width: number,
height: number, depth: number): void;
// WebGL1 legacy entrypoints:
texImage2D(target: number, level: number, internalformat: number,
width: number, height: number, border: number, format: number,
type: number, pixels?: ArrayBufferView | null): void;
texImage2D(target: number, level: number, internalformat: number,
format: number, type: number, source: ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void; // May throw DOMException
texImage2D(target: number, level: number, internalformat: number,
format: number, type: number, source: ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void; // May throw DOMException
texSubImage2D(target: number, level: number, xoffset: number, yoffset: number,
width: number, height: number,
format: number, type: number, pixels?: ArrayBufferView | null): void;
texSubImage2D(target: number, level: number, xoffset: number, yoffset: number,
format: number, type: number, source: ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void; // May throw DOMException
texSubImage2D(target: number, level: number, xoffset: number, yoffset: number,
format: number, type: number, source: ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void; // May throw DOMException
// WebGL2 entrypoints:
texImage2D(target: number, level: number, internalformat: number, width: number, height: number,
border: number, format: number, type: number, pboOffset: number): void;
texImage2D(target: number, level: number, internalformat: number, width: number, height: number,
border: number, format: number, type: number,
source: ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void; // May throw DOMException
texImage2D(target: number, level: number, internalformat: number, width: number, height: number,
border: number, format: number, type: number, srcData: ArrayBufferView,
srcOffset: number): void;
texImage3D(target: number, level: number, internalformat: number, width: number, height: number,
depth: number, border: number, format: number, type: number, pboOffset: number): void;
texImage3D(target: number, level: number, internalformat: number, width: number, height: number,
depth: number, border: number, format: number, type: number,
source: ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void; // May throw DOMException
texImage3D(target: number, level: number, internalformat: number, width: number, height: number,
depth: number, border: number, format: number, type: number, srcData: ArrayBufferView | null): void;
texImage3D(target: number, level: number, internalformat: number, width: number, height: number,
depth: number, border: number, format: number, type: number, srcData: ArrayBufferView,
srcOffset: number): void;
texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number,
height: number, format: number, type: number, pboOffset: number): void;
texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number,
height: number, format: number, type: number,
source: ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void; // May throw DOMException
texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number,
height: number, format: number, type: number, srcData: ArrayBufferView,
srcOffset: number): void;
texSubImage3D(target: number, level: number, xoffset: number, yoffset: number, zoffset: number,
width: number, height: number, depth: number, format: number, type: number,
pboOffset: number): void;
texSubImage3D(target: number, level: number, xoffset: number, yoffset: number, zoffset: number,
width: number, height: number, depth: number, format: number, type: number,
source: ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void; // May throw DOMException
texSubImage3D(target: number, level: number, xoffset: number, yoffset: number, zoffset: number,
width: number, height: number, depth: number, format: number, type: number,
srcData: ArrayBufferView | null, srcOffset?: number): void;
copyTexSubImage3D(target: number, level: number, xoffset: number, yoffset: number, zoffset: number,
x: number, y: number, width: number, height: number): void;
compressedTexImage2D(target: number, level: number, internalformat: number, width: number,
height: number, border: number, imageSize: number, offset: number): void;
compressedTexImage2D(target: number, level: number, internalformat: number, width: number,
height: number, border: number, srcData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array |
Uint8ClampedArray | Float32Array | Float64Array | DataView | null, srcOffset?: number, srcLengthOverride?: number): void;
// For compatibility with WebGL 1 context in older Typescript versions.
compressedTexImage2D(target: number, level: number, internalformat: number, width: number,
height: number, border: number, srcData: ArrayBufferView,
srcOffset?: number, srcLengthOverride?: number): void;
compressedTexImage3D(target: number, level: number, internalformat: number, width: number,
height: number, depth: number, border: number, imageSize: number, offset: number): void;
compressedTexImage3D(target: number, level: number, internalformat: number, width: number,
height: number, depth: number, border: number, srcData: ArrayBufferView,
srcOffset?: number, srcLengthOverride?: number): void;
compressedTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number,
width: number, height: number, format: number, imageSize: number, offset: number): void;
compressedTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number,
width: number, height: number, format: number,
srcData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array |
Uint8ClampedArray | Float32Array | Float64Array | DataView | null, srcOffset?: number, srcLengthOverride?: number): void;
// For compatibility with WebGL 1 context in older Typescript versions.
compressedTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number,
width: number, height: number, format: number,
srcData: ArrayBufferView | null,
srcOffset?: number,
srcLengthOverride?: number): void;
compressedTexSubImage3D(target: number, level: number, xoffset: number, yoffset: number,
zoffset: number, width: number, height: number, depth: number,
format: number, imageSize: number, offset: number): void;
compressedTexSubImage3D(target: number, level: number, xoffset: number, yoffset: number,
zoffset: number, width: number, height: number, depth: number,
format: number, srcData: ArrayBufferView,
srcOffset?: number,
srcLengthOverride?: number): void;
/* Programs and shaders */
getFragDataLocation(program: WebGLProgram, name: string): number;
/* Uniforms */
uniform1ui(location: WebGLUniformLocation | null, v0: number): void;
uniform2ui(location: WebGLUniformLocation | null, v0: number, v1: number): void;
uniform3ui(location: WebGLUniformLocation | null, v0: number, v1: number, v2: number): void;
uniform4ui(location: WebGLUniformLocation | null, v0: number, v1: number, v2: number, v3: number): void;
uniform1fv(location: WebGLUniformLocation | null, data: Float32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform2fv(location: WebGLUniformLocation | null, data: Float32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform3fv(location: WebGLUniformLocation | null, data: Float32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform4fv(location: WebGLUniformLocation | null, data: Float32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform1iv(location: WebGLUniformLocation | null, data: Int32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform2iv(location: WebGLUniformLocation | null, data: Int32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform3iv(location: WebGLUniformLocation | null, data: Int32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform4iv(location: WebGLUniformLocation | null, data: Int32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform1uiv(location: WebGLUniformLocation | null, data: Uint32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform2uiv(location: WebGLUniformLocation | null, data: Uint32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform3uiv(location: WebGLUniformLocation | null, data: Uint32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniform4uiv(location: WebGLUniformLocation | null, data: Uint32Array | ArrayLike<number>, srcOffset?: number,
srcLength?: number): void;
uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: boolean, data: Float32Array | ArrayLike<number>,
srcOffset?: number, srcLength?: number): void;
uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: boolean, data: Float32Array | ArrayLike<number>,
srcOffset?: number, srcLength?: number): void;
uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: boolean, data: Float32Array | ArrayLike<number>,
srcOffset?: number, srcLength?: number): void;
uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: boolean, data: Float32Array | ArrayLike<number>,
srcOffset?: number, srcLength?: number): void;
uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: boolean, data: Float32Array | ArrayLike<number>,
srcOffset?: number, srcLength?: number): void;
uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: boolean, data: Float32Array | ArrayLike<number>,
srcOffset?: number, srcLength?: number): void;
uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: boolean, data: Float32Array | ArrayLike<number>,
srcOffset?: number, srcLength?: number): void;
uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: boolean, data: Float32Array | ArrayLike<number>,
srcOffset?: number, srcLength?: number): void;
uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: boolean, data: Float32Array | ArrayLike<number>,
srcOffset?: number, srcLength?: number): void;
/* Vertex attribs */
vertexAttribI4i(index: number, x: number, y: number, z: number, w: number): void;
vertexAttribI4iv(index: number, values: Int32Array | ArrayLike<number>): void;
vertexAttribI4ui(index: number, x: number, y: number, z: number, w: number): void;
vertexAttribI4uiv(index: number, values: Uint32Array | ArrayLike<number>): void;
vertexAttribIPointer(index: number, size: number, type: number, stride: number, offset: number): void;
/* Writing to the drawing buffer */
vertexAttribDivisor(index: number, divisor: number): void;
drawArraysInstanced(mode: number, first: number, count: number, instanceCount: number): void;
drawElementsInstanced(mode: number, count: number, type: number, offset: number, instanceCount: number): void;
drawRangeElements(mode: number, start: number, end: number, count: number, type: number, offset: number): void;
/* Reading back pixels */
// WebGL1:
readPixels(x: number, y: number, width: number, height: number, format: number, type: number,
dstData: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray |
Float32Array | Float64Array | DataView | null): void;
// For compatibility with WebGL 1 context in older Typescript versions.
readPixels(x: number, y: number, width: number, height: number, format: number, type: number,
dstData: ArrayBufferView | null): void;
// WebGL2:
readPixels(x: number, y: number, width: number, height: number, format: number, type: number,
offset: number): void;
readPixels(x: number, y: number, width: number, height: number, format: number, type: number,
dstData: ArrayBufferView, dstOffset: number): void;
/* Multiple Render Targets */
drawBuffers(buffers: number[]): void;
clearBufferfv(buffer: number, drawbuffer: number, values: Float32Array | ArrayLike<number>,
srcOffset?: number): void;
clearBufferiv(buffer: number, drawbuffer: number, values: Int32Array | ArrayLike<number>,
srcOffset?: number): void;
clearBufferuiv(buffer: number, drawbuffer: number, values: Uint32Array | ArrayLike<number>,
srcOffset?: number): void;
clearBufferfi(buffer: number, drawbuffer: number, depth: number, stencil: number): void;
/* Query Objects */
createQuery(): WebGLQuery | null;
deleteQuery(query: WebGLQuery | null): void;
isQuery(query: WebGLQuery | null): boolean; //[WebGLHandlesContextLoss]
beginQuery(target: number, query: WebGLQuery): void;
endQuery(target: number): void;
getQuery(target: number, pname: number): WebGLQuery | null;
getQueryParameter(query: WebGLQuery, pname: number): any;
/* Sampler Objects */
createSampler(): WebGLSampler | null;
deleteSampler(sampler: WebGLSampler | null): void;
isSampler(sampler: WebGLSampler | null): boolean; //[WebGLHandlesContextLoss]
bindSampler(unit: number, sampler: WebGLSampler | null): void;
samplerParameteri(sampler: WebGLSampler, pname: number, param: number): void;
samplerParameterf(sampler: WebGLSampler, pname: number, param: number): void;
getSamplerParameter(sampler: WebGLSampler, pname: number): any;
/* Sync objects */
fenceSync(condition: number, flags: number): WebGLSync | null;
isSync(sync: WebGLSync | null): boolean; //[WebGLHandlesContextLoss]
deleteSync(sync: WebGLSync | null): void;
clientWaitSync(sync: WebGLSync, flags: number, timeout: number): number;
waitSync(sync: WebGLSync, flags: number, timeout: number): void;
getSyncParameter(sync: WebGLSync, pname: number): any;
/* Transform Feedback */
createTransformFeedback(): WebGLTransformFeedback | null;
deleteTransformFeedback(tf: WebGLTransformFeedback | null): void;
isTransformFeedback(tf: WebGLTransformFeedback | null): boolean; //[WebGLHandlesContextLoss]
bindTransformFeedback(target: number, tf: WebGLTransformFeedback | null): void;
beginTransformFeedback(primitiveMode: number): void;
endTransformFeedback(): void;
transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: number): void;
getTransformFeedbackVarying(program: WebGLProgram, index: number): WebGLActiveInfo | null;
pauseTransformFeedback(): void;
resumeTransformFeedback(): void;
/* Uniform Buffer Objects and Transform Feedback Buffers */
bindBufferBase(target: number, index: number, buffer: WebGLBuffer | null): void;
bindBufferRange(target: number, index: number, buffer: WebGLBuffer | null, offset: number, size: number): void;
getIndexedParameter(target: number, index: number): any;
getUniformIndices(program: WebGLProgram, uniformNames: string[]): number[] | null;
getActiveUniforms(program: WebGLProgram, uniformIndices: number[], pname: number): any;
getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): number;
getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: number, pname: number): any;
getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: number): string | null;
uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: number, uniformBlockBinding: number): void;
/* Vertex Array Objects */
createVertexArray(): WebGLVertexArrayObject | null;
deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void;
isVertexArray(vertexArray: WebGLVertexArrayObject | null): boolean; //[WebGLHandlesContextLoss]
bindVertexArray(array: WebGLVertexArrayObject | null): void;
}
declare var WebGL2RenderingContext: {
prototype: WebGL2RenderingContext;
new (): WebGL2RenderingContext;
/* WebGL1 constants */
readonly ACTIVE_ATTRIBUTES: number;
readonly ACTIVE_TEXTURE: number;
readonly ACTIVE_UNIFORMS: number;
readonly ALIASED_LINE_WIDTH_RANGE: number;
readonly ALIASED_POINT_SIZE_RANGE: number;
readonly ALPHA: number;
readonly ALPHA_BITS: number;
readonly ALWAYS: number;
readonly ARRAY_BUFFER: number;
readonly ARRAY_BUFFER_BINDING: number;
readonly ATTACHED_SHADERS: number;
readonly BACK: number;
readonly BLEND: number;
readonly BLEND_COLOR: number;
readonly BLEND_DST_ALPHA: number;
readonly BLEND_DST_RGB: number;
readonly BLEND_EQUATION: number;
readonly BLEND_EQUATION_ALPHA: number;
readonly BLEND_EQUATION_RGB: number;
readonly BLEND_SRC_ALPHA: number;
readonly BLEND_SRC_RGB: number;
readonly BLUE_BITS: number;
readonly BOOL: number;
readonly BOOL_VEC2: number;
readonly BOOL_VEC3: number;
readonly BOOL_VEC4: number;
readonly BROWSER_DEFAULT_WEBGL: number;
readonly BUFFER_SIZE: number;
readonly BUFFER_USAGE: number;
readonly BYTE: number;
readonly CCW: number;
readonly CLAMP_TO_EDGE: number;
readonly COLOR_ATTACHMENT0: number;
readonly COLOR_BUFFER_BIT: number;
readonly COLOR_CLEAR_VALUE: number;
readonly COLOR_WRITEMASK: number;
readonly COMPILE_STATUS: number;
readonly COMPRESSED_TEXTURE_FORMATS: number;
readonly CONSTANT_ALPHA: number;
readonly CONSTANT_COLOR: number;
readonly CONTEXT_LOST_WEBGL: number;
readonly CULL_FACE: number;
readonly CULL_FACE_MODE: number;
readonly CURRENT_PROGRAM: number;
readonly CURRENT_VERTEX_ATTRIB: number;
readonly CW: number;
readonly DECR: number;
readonly DECR_WRAP: number;
readonly DELETE_STATUS: number;
readonly DEPTH_ATTACHMENT: number;
readonly DEPTH_BITS: number;
readonly DEPTH_BUFFER_BIT: number;
readonly DEPTH_CLEAR_VALUE: number;
readonly DEPTH_COMPONENT: number;
readonly DEPTH_COMPONENT16: number;
readonly DEPTH_FUNC: number;
readonly DEPTH_RANGE: number;
readonly DEPTH_STENCIL: number;
readonly DEPTH_STENCIL_ATTACHMENT: number;
readonly DEPTH_TEST: number;
readonly DEPTH_WRITEMASK: number;
readonly DITHER: number;
readonly DONT_CARE: number;
readonly DST_ALPHA: number;
readonly DST_COLOR: number;
readonly DYNAMIC_DRAW: number;
readonly ELEMENT_ARRAY_BUFFER: number;
readonly ELEMENT_ARRAY_BUFFER_BINDING: number;
readonly EQUAL: number;
readonly FASTEST: number;
readonly FLOAT: number;
readonly FLOAT_MAT2: number;
readonly FLOAT_MAT3: number;
readonly FLOAT_MAT4: number;
readonly FLOAT_VEC2: number;
readonly FLOAT_VEC3: number;
readonly FLOAT_VEC4: number;
readonly FRAGMENT_SHADER: number;
readonly FRAMEBUFFER: number;
readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number;
readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number;
readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number;
readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number;
readonly FRAMEBUFFER_BINDING: number;
readonly FRAMEBUFFER_COMPLETE: number;
readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number;
readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number;
readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number;
readonly FRAMEBUFFER_UNSUPPORTED: number;
readonly FRONT: number;
readonly FRONT_AND_BACK: number;
readonly FRONT_FACE: number;
readonly FUNC_ADD: number;
readonly FUNC_REVERSE_SUBTRACT: number;
readonly FUNC_SUBTRACT: number;
readonly GENERATE_MIPMAP_HINT: number;
readonly GEQUAL: number;
readonly GREATER: number;
readonly GREEN_BITS: number;
readonly HIGH_FLOAT: number;
readonly HIGH_INT: number;
readonly IMPLEMENTATION_COLOR_READ_FORMAT: number;
readonly IMPLEMENTATION_COLOR_READ_TYPE: number;
readonly INCR: number;
readonly INCR_WRAP: number;
readonly INT: number;
readonly INT_VEC2: number;
readonly INT_VEC3: number;
readonly INT_VEC4: number;
readonly INVALID_ENUM: number;
readonly INVALID_FRAMEBUFFER_OPERATION: number;
readonly INVALID_OPERATION: number;
readonly INVALID_VALUE: number;
readonly INVERT: number;
readonly KEEP: number;
readonly LEQUAL: number;
readonly LESS: number;
readonly LINEAR: number;
readonly LINEAR_MIPMAP_LINEAR: number;
readonly LINEAR_MIPMAP_NEAREST: number;
readonly LINES: number;
readonly LINE_LOOP: number;
readonly LINE_STRIP: number;
readonly LINE_WIDTH: number;
readonly LINK_STATUS: number;
readonly LOW_FLOAT: number;
readonly LOW_INT: number;
readonly LUMINANCE: number;
readonly LUMINANCE_ALPHA: number;
readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: number;
readonly MAX_CUBE_MAP_TEXTURE_SIZE: number;
readonly MAX_FRAGMENT_UNIFORM_VECTORS: number;
readonly MAX_RENDERBUFFER_SIZE: number;
readonly MAX_TEXTURE_IMAGE_UNITS: number;
readonly MAX_TEXTURE_SIZE: number;
readonly MAX_VARYING_VECTORS: number;
readonly MAX_VERTEX_ATTRIBS: number;
readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: number;
readonly MAX_VERTEX_UNIFORM_VECTORS: number;
readonly MAX_VIEWPORT_DIMS: number;
readonly MEDIUM_FLOAT: number;
readonly MEDIUM_INT: number;
readonly MIRRORED_REPEAT: number;
readonly NEAREST: number;
readonly NEAREST_MIPMAP_LINEAR: number;
readonly NEAREST_MIPMAP_NEAREST: number;
readonly NEVER: number;
readonly NICEST: number;
readonly NONE: number;
readonly NOTEQUAL: number;
readonly NO_ERROR: number;
readonly ONE: number;
readonly ONE_MINUS_CONSTANT_ALPHA: number;
readonly ONE_MINUS_CONSTANT_COLOR: number;
readonly ONE_MINUS_DST_ALPHA: number;
readonly ONE_MINUS_DST_COLOR: number;
readonly ONE_MINUS_SRC_ALPHA: number;
readonly ONE_MINUS_SRC_COLOR: number;
readonly OUT_OF_MEMORY: number;
readonly PACK_ALIGNMENT: number;
readonly POINTS: number;
readonly POLYGON_OFFSET_FACTOR: number;
readonly POLYGON_OFFSET_FILL: number;
readonly POLYGON_OFFSET_UNITS: number;
readonly RED_BITS: number;
readonly RENDERBUFFER: number;
readonly RENDERBUFFER_ALPHA_SIZE: number;
readonly RENDERBUFFER_BINDING: number;
readonly RENDERBUFFER_BLUE_SIZE: number;
readonly RENDERBUFFER_DEPTH_SIZE: number;
readonly RENDERBUFFER_GREEN_SIZE: number;
readonly RENDERBUFFER_HEIGHT: number;
readonly RENDERBUFFER_INTERNAL_FORMAT: number;
readonly RENDERBUFFER_RED_SIZE: number;
readonly RENDERBUFFER_STENCIL_SIZE: number;
readonly RENDERBUFFER_WIDTH: number;
readonly RENDERER: number;
readonly REPEAT: number;
readonly REPLACE: number;
readonly RGB: number;
readonly RGB565: number;
readonly RGB5_A1: number;
readonly RGBA: number;
readonly RGBA4: number;
readonly SAMPLER_2D: number;
readonly SAMPLER_CUBE: number;
readonly SAMPLES: number;
readonly SAMPLE_ALPHA_TO_COVERAGE: number;
readonly SAMPLE_BUFFERS: number;
readonly SAMPLE_COVERAGE: number;
readonly SAMPLE_COVERAGE_INVERT: number;
readonly SAMPLE_COVERAGE_VALUE: number;
readonly SCISSOR_BOX: number;
readonly SCISSOR_TEST: number;
readonly SHADER_TYPE: number;
readonly SHADING_LANGUAGE_VERSION: number;
readonly SHORT: number;
readonly SRC_ALPHA: number;
readonly SRC_ALPHA_SATURATE: number;
readonly SRC_COLOR: number;
readonly STATIC_DRAW: number;
readonly STENCIL_ATTACHMENT: number;
readonly STENCIL_BACK_FAIL: number;
readonly STENCIL_BACK_FUNC: number;
readonly STENCIL_BACK_PASS_DEPTH_FAIL: number;
readonly STENCIL_BACK_PASS_DEPTH_PASS: number;
readonly STENCIL_BACK_REF: number;
readonly STENCIL_BACK_VALUE_MASK: number;
readonly STENCIL_BACK_WRITEMASK: number;
readonly STENCIL_BITS: number;
readonly STENCIL_BUFFER_BIT: number;
readonly STENCIL_CLEAR_VALUE: number;
readonly STENCIL_FAIL: number;
readonly STENCIL_FUNC: number;
readonly STENCIL_INDEX8: number;
readonly STENCIL_PASS_DEPTH_FAIL: number;
readonly STENCIL_PASS_DEPTH_PASS: number;
readonly STENCIL_REF: number;
readonly STENCIL_TEST: number;
readonly STENCIL_VALUE_MASK: number;
readonly STENCIL_WRITEMASK: number;
readonly STREAM_DRAW: number;
readonly SUBPIXEL_BITS: number;
readonly TEXTURE: number;
readonly TEXTURE0: number;
readonly TEXTURE1: number;
readonly TEXTURE10: number;
readonly TEXTURE11: number;
readonly TEXTURE12: number;
readonly TEXTURE13: number;
readonly TEXTURE14: number;
readonly TEXTURE15: number;
readonly TEXTURE16: number;
readonly TEXTURE17: number;
readonly TEXTURE18: number;
readonly TEXTURE19: number;
readonly TEXTURE2: number;
readonly TEXTURE20: number;
readonly TEXTURE21: number;
readonly TEXTURE22: number;
readonly TEXTURE23: number;
readonly TEXTURE24: number;
readonly TEXTURE25: number;
readonly TEXTURE26: number;
readonly TEXTURE27: number;
readonly TEXTURE28: number;
readonly TEXTURE29: number;
readonly TEXTURE3: number;
readonly TEXTURE30: number;
readonly TEXTURE31: number;
readonly TEXTURE4: number;
readonly TEXTURE5: number;
readonly TEXTURE6: number;
readonly TEXTURE7: number;
readonly TEXTURE8: number;
readonly TEXTURE9: number;
readonly TEXTURE_2D: number;
readonly TEXTURE_BINDING_2D: number;
readonly TEXTURE_BINDING_CUBE_MAP: number;
readonly TEXTURE_CUBE_MAP: number;
readonly TEXTURE_CUBE_MAP_NEGATIVE_X: number;
readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: number;
readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: number;
readonly TEXTURE_CUBE_MAP_POSITIVE_X: number;
readonly TEXTURE_CUBE_MAP_POSITIVE_Y: number;
readonly TEXTURE_CUBE_MAP_POSITIVE_Z: number;
readonly TEXTURE_MAG_FILTER: number;
readonly TEXTURE_MIN_FILTER: number;
readonly TEXTURE_WRAP_S: number;
readonly TEXTURE_WRAP_T: number;
readonly TRIANGLES: number;
readonly TRIANGLE_FAN: number;
readonly TRIANGLE_STRIP: number;
readonly UNPACK_ALIGNMENT: number;
readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: number;
readonly UNPACK_FLIP_Y_WEBGL: number;
readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: number;
readonly UNSIGNED_BYTE: number;
readonly UNSIGNED_INT: number;
readonly UNSIGNED_SHORT: number;
readonly UNSIGNED_SHORT_4_4_4_4: number;
readonly UNSIGNED_SHORT_5_5_5_1: number;
readonly UNSIGNED_SHORT_5_6_5: number;
readonly VALIDATE_STATUS: number;
readonly VENDOR: number;
readonly VERSION: number;
readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number;
readonly VERTEX_ATTRIB_ARRAY_ENABLED: number;
readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: number;
readonly VERTEX_ATTRIB_ARRAY_POINTER: number;
readonly VERTEX_ATTRIB_ARRAY_SIZE: number;
readonly VERTEX_ATTRIB_ARRAY_STRIDE: number;
readonly VERTEX_ATTRIB_ARRAY_TYPE: number;
readonly VERTEX_SHADER: number;
readonly VIEWPORT: number;
readonly ZERO: number;
/* WebGL2 constants */
readonly READ_BUFFER: number; // 0x0C02
readonly UNPACK_ROW_LENGTH: number; // 0x0CF2
readonly UNPACK_SKIP_ROWS: number; // 0x0CF3
readonly UNPACK_SKIP_PIXELS: number; // 0x0CF4
readonly PACK_ROW_LENGTH: number; // 0x0D02
readonly PACK_SKIP_ROWS: number; // 0x0D03
readonly PACK_SKIP_PIXELS: number; // 0x0D04
readonly COLOR: number; // 0x1800
readonly DEPTH: number; // 0x1801
readonly STENCIL: number; // 0x1802
readonly RED: number; // 0x1903
readonly RGB8: number; // 0x8051
readonly RGBA8: number; // 0x8058
readonly RGB10_A2: number; // 0x8059
readonly TEXTURE_BINDING_3D: number; // 0x806A
readonly UNPACK_SKIP_IMAGES: number; // 0x806D
readonly UNPACK_IMAGE_HEIGHT: number; // 0x806E
readonly TEXTURE_3D: number; // 0x806F
readonly TEXTURE_WRAP_R: number; // 0x8072
readonly MAX_3D_TEXTURE_SIZE: number; // 0x8073
readonly UNSIGNED_INT_2_10_10_10_REV: number; // 0x8368
readonly MAX_ELEMENTS_VERTICES: number; // 0x80E8
readonly MAX_ELEMENTS_INDICES: number; // 0x80E9
readonly TEXTURE_MIN_LOD: number; // 0x813A
readonly TEXTURE_MAX_LOD: number; // 0x813B
readonly TEXTURE_BASE_LEVEL: number; // 0x813C
readonly TEXTURE_MAX_LEVEL: number; // 0x813D
readonly MIN: number; // 0x8007
readonly MAX: number; // 0x8008
readonly DEPTH_COMPONENT24: number; // 0x81A6
readonly MAX_TEXTURE_LOD_BIAS: number; // 0x84FD
readonly TEXTURE_COMPARE_MODE: number; // 0x884C
readonly TEXTURE_COMPARE_FUNC: number; // 0x884D
readonly CURRENT_QUERY: number; // 0x8865
readonly QUERY_RESULT: number; // 0x8866
readonly QUERY_RESULT_AVAILABLE: number; // 0x8867
readonly STREAM_READ: number; // 0x88E1
readonly STREAM_COPY: number; // 0x88E2
readonly STATIC_READ: number; // 0x88E5
readonly STATIC_COPY: number; // 0x88E6
readonly DYNAMIC_READ: number; // 0x88E9
readonly DYNAMIC_COPY: number; // 0x88EA
readonly MAX_DRAW_BUFFERS: number; // 0x8824
readonly DRAW_BUFFER0: number; // 0x8825
readonly DRAW_BUFFER1: number; // 0x8826
readonly DRAW_BUFFER2: number; // 0x8827
readonly DRAW_BUFFER3: number; // 0x8828
readonly DRAW_BUFFER4: number; // 0x8829
readonly DRAW_BUFFER5: number; // 0x882A
readonly DRAW_BUFFER6: number; // 0x882B
readonly DRAW_BUFFER7: number; // 0x882C
readonly DRAW_BUFFER8: number; // 0x882D
readonly DRAW_BUFFER9: number; // 0x882E
readonly DRAW_BUFFER10: number; // 0x882F
readonly DRAW_BUFFER11: number; // 0x8830
readonly DRAW_BUFFER12: number; // 0x8831
readonly DRAW_BUFFER13: number; // 0x8832
readonly DRAW_BUFFER14: number; // 0x8833
readonly DRAW_BUFFER15: number; // 0x8834
readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: number; // 0x8B49
readonly MAX_VERTEX_UNIFORM_COMPONENTS: number; // 0x8B4A
readonly SAMPLER_3D: number; // 0x8B5F
readonly SAMPLER_2D_SHADOW: number; // 0x8B62
readonly FRAGMENT_SHADER_DERIVATIVE_HINT: number; // 0x8B8B
readonly PIXEL_PACK_BUFFER: number; // 0x88EB
readonly PIXEL_UNPACK_BUFFER: number; // 0x88EC
readonly PIXEL_PACK_BUFFER_BINDING: number; // 0x88ED
readonly PIXEL_UNPACK_BUFFER_BINDING: number; // 0x88EF
readonly FLOAT_MAT2x3: number; // 0x8B65
readonly FLOAT_MAT2x4: number; // 0x8B66
readonly FLOAT_MAT3x2: number; // 0x8B67
readonly FLOAT_MAT3x4: number; // 0x8B68
readonly FLOAT_MAT4x2: number; // 0x8B69
readonly FLOAT_MAT4x3: number; // 0x8B6A
readonly SRGB: number; // 0x8C40
readonly SRGB8: number; // 0x8C41
readonly SRGB8_ALPHA8: number; // 0x8C43
readonly COMPARE_REF_TO_TEXTURE: number; // 0x884E
readonly RGBA32F: number; // 0x8814
readonly RGB32F: number; // 0x8815
readonly RGBA16F: number; // 0x881A
readonly RGB16F: number; // 0x881B
readonly VERTEX_ATTRIB_ARRAY_INTEGER: number; // 0x88FD
readonly MAX_ARRAY_TEXTURE_LAYERS: number; // 0x88FF
readonly MIN_PROGRAM_TEXEL_OFFSET: number; // 0x8904
readonly MAX_PROGRAM_TEXEL_OFFSET: number; // 0x8905
readonly MAX_VARYING_COMPONENTS: number; // 0x8B4B
readonly TEXTURE_2D_ARRAY: number; // 0x8C1A
readonly TEXTURE_BINDING_2D_ARRAY: number; // 0x8C1D
readonly R11F_G11F_B10F: number; // 0x8C3A
readonly UNSIGNED_INT_10F_11F_11F_REV: number; // 0x8C3B
readonly RGB9_E5: number; // 0x8C3D
readonly UNSIGNED_INT_5_9_9_9_REV: number; // 0x8C3E
readonly TRANSFORM_FEEDBACK_BUFFER_MODE: number; // 0x8C7F
readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: number; // 0x8C80
readonly TRANSFORM_FEEDBACK_VARYINGS: number; // 0x8C83
readonly TRANSFORM_FEEDBACK_BUFFER_START: number; // 0x8C84
readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: number; // 0x8C85
readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: number; // 0x8C88
readonly RASTERIZER_DISCARD: number; // 0x8C89
readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: number; // 0x8C8A
readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: number; // 0x8C8B
readonly INTERLEAVED_ATTRIBS: number; // 0x8C8C
readonly SEPARATE_ATTRIBS: number; // 0x8C8D
readonly TRANSFORM_FEEDBACK_BUFFER: number; // 0x8C8E
readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: number; // 0x8C8F
readonly RGBA32UI: number; // 0x8D70
readonly RGB32UI: number; // 0x8D71
readonly RGBA16UI: number; // 0x8D76
readonly RGB16UI: number; // 0x8D77
readonly RGBA8UI: number; // 0x8D7C
readonly RGB8UI: number; // 0x8D7D
readonly RGBA32I: number; // 0x8D82
readonly RGB32I: number; // 0x8D83
readonly RGBA16I: number; // 0x8D88
readonly RGB16I: number; // 0x8D89
readonly RGBA8I: number; // 0x8D8E
readonly RGB8I: number; // 0x8D8F
readonly RED_INTEGER: number; // 0x8D94
readonly RGB_INTEGER: number; // 0x8D98
readonly RGBA_INTEGER: number; // 0x8D99
readonly SAMPLER_2D_ARRAY: number; // 0x8DC1
readonly SAMPLER_2D_ARRAY_SHADOW: number; // 0x8DC4
readonly SAMPLER_CUBE_SHADOW: number; // 0x8DC5
readonly UNSIGNED_INT_VEC2: number; // 0x8DC6
readonly UNSIGNED_INT_VEC3: number; // 0x8DC7
readonly UNSIGNED_INT_VEC4: number; // 0x8DC8
readonly INT_SAMPLER_2D: number; // 0x8DCA
readonly INT_SAMPLER_3D: number; // 0x8DCB
readonly INT_SAMPLER_CUBE: number; // 0x8DCC
readonly INT_SAMPLER_2D_ARRAY: number; // 0x8DCF
readonly UNSIGNED_INT_SAMPLER_2D: number; // 0x8DD2
readonly UNSIGNED_INT_SAMPLER_3D: number; // 0x8DD3
readonly UNSIGNED_INT_SAMPLER_CUBE: number; // 0x8DD4
readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: number; // 0x8DD7
readonly DEPTH_COMPONENT32F: number; // 0x8CAC
readonly DEPTH32F_STENCIL8: number; // 0x8CAD
readonly FLOAT_32_UNSIGNED_INT_24_8_REV: number; // 0x8DAD
readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: number; // 0x8210
readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: number; // 0x8211
readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: number; // 0x8212
readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: number; // 0x8213
readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: number; // 0x8214
readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: number; // 0x8215
readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: number; // 0x8216
readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: number; // 0x8217
readonly FRAMEBUFFER_DEFAULT: number; // 0x8218
//readonly DEPTH_STENCIL_ATTACHMENT: number; // 0x821A /* Already defined in WebGL1 constants */
//readonly DEPTH_STENCIL: number; // 0x84F9 /* Already defined in WebGL1 constants */
readonly UNSIGNED_INT_24_8: number; // 0x84FA
readonly DEPTH24_STENCIL8: number; // 0x88F0
readonly UNSIGNED_NORMALIZED: number; // 0x8C17
readonly DRAW_FRAMEBUFFER_BINDING: number; // 0x8CA6 /* Same as FRAMEBUFFER_BINDING */
readonly READ_FRAMEBUFFER: number; // 0x8CA8
readonly DRAW_FRAMEBUFFER: number; // 0x8CA9
readonly READ_FRAMEBUFFER_BINDING: number; // 0x8CAA
readonly RENDERBUFFER_SAMPLES: number; // 0x8CAB
readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: number; // 0x8CD4
readonly MAX_COLOR_ATTACHMENTS: number; // 0x8CDF
readonly COLOR_ATTACHMENT1: number; // 0x8CE1
readonly COLOR_ATTACHMENT2: number; // 0x8CE2
readonly COLOR_ATTACHMENT3: number; // 0x8CE3
readonly COLOR_ATTACHMENT4: number; // 0x8CE4
readonly COLOR_ATTACHMENT5: number; // 0x8CE5
readonly COLOR_ATTACHMENT6: number; // 0x8CE6
readonly COLOR_ATTACHMENT7: number; // 0x8CE7
readonly COLOR_ATTACHMENT8: number; // 0x8CE8
readonly COLOR_ATTACHMENT9: number; // 0x8CE9
readonly COLOR_ATTACHMENT10: number; // 0x8CEA
readonly COLOR_ATTACHMENT11: number; // 0x8CEB
readonly COLOR_ATTACHMENT12: number; // 0x8CEC
readonly COLOR_ATTACHMENT13: number; // 0x8CED
readonly COLOR_ATTACHMENT14: number; // 0x8CEE
readonly COLOR_ATTACHMENT15: number; // 0x8CEF
readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: number; // 0x8D56
readonly MAX_SAMPLES: number; // 0x8D57
readonly HALF_FLOAT: number; // 0x140B
readonly RG: number; // 0x8227
readonly RG_INTEGER: number; // 0x8228
readonly R8: number; // 0x8229
readonly RG8: number; // 0x822B
readonly R16F: number; // 0x822D
readonly R32F: number; // 0x822E
readonly RG16F: number; // 0x822F
readonly RG32F: number; // 0x8230
readonly R8I: number; // 0x8231
readonly R8UI: number; // 0x8232
readonly R16I: number; // 0x8233
readonly R16UI: number; // 0x8234
readonly R32I: number; // 0x8235
readonly R32UI: number; // 0x8236
readonly RG8I: number; // 0x8237
readonly RG8UI: number; // 0x8238
readonly RG16I: number; // 0x8239
readonly RG16UI: number; // 0x823A
readonly RG32I: number; // 0x823B
readonly RG32UI: number; // 0x823C
readonly VERTEX_ARRAY_BINDING: number; // 0x85B5
readonly R8_SNORM: number; // 0x8F94
readonly RG8_SNORM: number; // 0x8F95
readonly RGB8_SNORM: number; // 0x8F96
readonly RGBA8_SNORM: number; // 0x8F97
readonly SIGNED_NORMALIZED: number; // 0x8F9C
readonly COPY_READ_BUFFER: number; // 0x8F36
readonly COPY_WRITE_BUFFER: number; // 0x8F37
readonly COPY_READ_BUFFER_BINDING: number; // 0x8F36 /* Same as COPY_READ_BUFFER */
readonly COPY_WRITE_BUFFER_BINDING: number; // 0x8F37 /* Same as COPY_WRITE_BUFFER */
readonly UNIFORM_BUFFER: number; // 0x8A11
readonly UNIFORM_BUFFER_BINDING: number; // 0x8A28
readonly UNIFORM_BUFFER_START: number; // 0x8A29
readonly UNIFORM_BUFFER_SIZE: number; // 0x8A2A
readonly MAX_VERTEX_UNIFORM_BLOCKS: number; // 0x8A2B
readonly MAX_FRAGMENT_UNIFORM_BLOCKS: number; // 0x8A2D
readonly MAX_COMBINED_UNIFORM_BLOCKS: number; // 0x8A2E
readonly MAX_UNIFORM_BUFFER_BINDINGS: number; // 0x8A2F
readonly MAX_UNIFORM_BLOCK_SIZE: number; // 0x8A30
readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: number; // 0x8A31
readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: number; // 0x8A33
readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: number; // 0x8A34
readonly ACTIVE_UNIFORM_BLOCKS: number; // 0x8A36
readonly UNIFORM_TYPE: number; // 0x8A37
readonly UNIFORM_SIZE: number; // 0x8A38
readonly UNIFORM_BLOCK_INDEX: number; // 0x8A3A
readonly UNIFORM_OFFSET: number; // 0x8A3B
readonly UNIFORM_ARRAY_STRIDE: number; // 0x8A3C
readonly UNIFORM_MATRIX_STRIDE: number; // 0x8A3D
readonly UNIFORM_IS_ROW_MAJOR: number; // 0x8A3E
readonly UNIFORM_BLOCK_BINDING: number; // 0x8A3F
readonly UNIFORM_BLOCK_DATA_SIZE: number; // 0x8A40
readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: number; // 0x8A42
readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: number; // 0x8A43
readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: number; // 0x8A44
readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: number; // 0x8A46
readonly INVALID_INDEX: number; // 0xFFFFFFFF
readonly MAX_VERTEX_OUTPUT_COMPONENTS: number; // 0x9122
readonly MAX_FRAGMENT_INPUT_COMPONENTS: number; // 0x9125
readonly MAX_SERVER_WAIT_TIMEOUT: number; // 0x9111
readonly OBJECT_TYPE: number; // 0x9112
readonly SYNC_CONDITION: number; // 0x9113
readonly SYNC_STATUS: number; // 0x9114
readonly SYNC_FLAGS: number; // 0x9115
readonly SYNC_FENCE: number; // 0x9116
readonly SYNC_GPU_COMMANDS_COMPLETE: number; // 0x9117
readonly UNSIGNALED: number; // 0x9118
readonly SIGNALED: number; // 0x9119
readonly ALREADY_SIGNALED: number; // 0x911A
readonly TIMEOUT_EXPIRED: number; // 0x911B
readonly CONDITION_SATISFIED: number; // 0x911C
readonly WAIT_FAILED: number; // 0x911D
readonly SYNC_FLUSH_COMMANDS_BIT: number; // 0x00000001
readonly VERTEX_ATTRIB_ARRAY_DIVISOR: number; // 0x88FE
readonly ANY_SAMPLES_PASSED: number; // 0x8C2F
readonly ANY_SAMPLES_PASSED_CONSERVATIVE: number; // 0x8D6A
readonly SAMPLER_BINDING: number; // 0x8919
readonly RGB10_A2UI: number; // 0x906F
readonly INT_2_10_10_10_REV: number; // 0x8D9F
readonly TRANSFORM_FEEDBACK: number; // 0x8E22
readonly TRANSFORM_FEEDBACK_PAUSED: number; // 0x8E23
readonly TRANSFORM_FEEDBACK_ACTIVE: number; // 0x8E24
readonly TRANSFORM_FEEDBACK_BINDING: number; // 0x8E25
readonly TEXTURE_IMMUTABLE_FORMAT: number; // 0x912F
readonly MAX_ELEMENT_INDEX: number; // 0x8D6B
readonly TEXTURE_IMMUTABLE_LEVELS: number; // 0x82DF
readonly TIMEOUT_IGNORED: number; // -1
/* WebGL-specific enums */
readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: number; // 0x9247
};
interface WebGLQuery extends WebGLObject {
}
declare var WebGLQuery: {
prototype: WebGLQuery;
new (): WebGLQuery;
};
interface WebGLSampler extends WebGLObject {
}
declare var WebGLSampler: {
prototype: WebGLSampler;
new (): WebGLSampler;
};
interface WebGLSync extends WebGLObject {
}
declare var WebGLSync: {
prototype: WebGLSync;
new (): WebGLSync;
};
interface WebGLTransformFeedback extends WebGLObject {
}
declare var WebGLTransformFeedback: {
prototype: WebGLTransformFeedback;
new (): WebGLTransformFeedback;
};
interface WebGLVertexArrayObject extends WebGLObject {
}
declare var WebGLVertexArrayObject: {
prototype: WebGLVertexArrayObject;
new (): WebGLVertexArrayObject;
};