1/* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/** 17 * WebGL 2.0 18 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 19 * @since 7 20 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 21 */ 22 23import * as webgl from "./webgl"; 24 25type GLint64 = number; 26/** 27 * WebGL 2.0 28 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 29 * @since 7 30 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 31 */ 32type GLuint64 = number; 33/** 34 * WebGL 2.0 35 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 36 * @since 7 37 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 38 */ 39interface WebGLQuery { 40} 41/** 42 * WebGL 2.0 43 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 44 * @since 7 45 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 46 */ 47interface WebGLSampler { 48} 49/** 50 * WebGL 2.0 51 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 52 * @since 7 53 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 54 */ 55interface WebGLSync { 56} 57/** 58 * WebGL 2.0 59 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 60 * @since 7 61 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 62 */ 63interface WebGLTransformFeedback { 64} 65/** 66 * WebGL 2.0 67 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 68 * @since 7 69 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 70 */ 71interface WebGLVertexArrayObject { 72} 73/** 74 * WebGL 2.0 75 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 76 * @since 7 77 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 78 */ 79type Uint32List = Uint32Array | webgl.GLuint[]; 80/** 81 * WebGL 2.0 82 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 83 * @since 7 84 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 85 */ 86interface WebGL2RenderingContextBase { 87 readonly READ_BUFFER: webgl.GLenum; 88 readonly UNPACK_ROW_LENGTH: webgl.GLenum; 89 readonly UNPACK_SKIP_ROWS: webgl.GLenum; 90 readonly UNPACK_SKIP_PIXELS: webgl.GLenum; 91 readonly PACK_ROW_LENGTH: webgl.GLenum; 92 readonly PACK_SKIP_ROWS: webgl.GLenum; 93 readonly PACK_SKIP_PIXELS: webgl.GLenum; 94 readonly COLOR: webgl.GLenum; 95 readonly DEPTH: webgl.GLenum; 96 readonly STENCIL: webgl.GLenum; 97 readonly RED: webgl.GLenum; 98 readonly RGB8: webgl.GLenum; 99 readonly RGBA8: webgl.GLenum; 100 readonly RGB10_A2: webgl.GLenum; 101 readonly TEXTURE_BINDING_3D: webgl.GLenum; 102 readonly UNPACK_SKIP_IMAGES: webgl.GLenum; 103 readonly UNPACK_IMAGE_HEIGHT: webgl.GLenum; 104 readonly TEXTURE_3D: webgl.GLenum; 105 readonly TEXTURE_WRAP_R: webgl.GLenum; 106 readonly MAX_3D_TEXTURE_SIZE: webgl.GLenum; 107 readonly UNSIGNED_INT_2_10_10_10_REV: webgl.GLenum; 108 readonly MAX_ELEMENTS_VERTICES: webgl.GLenum; 109 readonly MAX_ELEMENTS_INDICES: webgl.GLenum; 110 readonly TEXTURE_MIN_LOD: webgl.GLenum; 111 readonly TEXTURE_MAX_LOD: webgl.GLenum; 112 readonly TEXTURE_BASE_LEVEL: webgl.GLenum; 113 readonly TEXTURE_MAX_LEVEL: webgl.GLenum; 114 readonly MIN: webgl.GLenum; 115 readonly MAX: webgl.GLenum; 116 readonly DEPTH_COMPONENT24: webgl.GLenum; 117 readonly MAX_TEXTURE_LOD_BIAS: webgl.GLenum; 118 readonly TEXTURE_COMPARE_MODE: webgl.GLenum; 119 readonly TEXTURE_COMPARE_FUNC: webgl.GLenum; 120 readonly CURRENT_QUERY: webgl.GLenum; 121 readonly QUERY_RESULT: webgl.GLenum; 122 readonly QUERY_RESULT_AVAILABLE: webgl.GLenum; 123 readonly STREAM_READ: webgl.GLenum; 124 readonly STREAM_COPY: webgl.GLenum; 125 readonly STATIC_READ: webgl.GLenum; 126 readonly STATIC_COPY: webgl.GLenum; 127 readonly DYNAMIC_READ: webgl.GLenum; 128 readonly DYNAMIC_COPY: webgl.GLenum; 129 readonly MAX_DRAW_BUFFERS: webgl.GLenum; 130 readonly DRAW_BUFFER0: webgl.GLenum; 131 readonly DRAW_BUFFER1: webgl.GLenum; 132 readonly DRAW_BUFFER2: webgl.GLenum; 133 readonly DRAW_BUFFER3: webgl.GLenum; 134 readonly DRAW_BUFFER4: webgl.GLenum; 135 readonly DRAW_BUFFER5: webgl.GLenum; 136 readonly DRAW_BUFFER6: webgl.GLenum; 137 readonly DRAW_BUFFER7: webgl.GLenum; 138 readonly DRAW_BUFFER8: webgl.GLenum; 139 readonly DRAW_BUFFER9: webgl.GLenum; 140 readonly DRAW_BUFFER10: webgl.GLenum; 141 readonly DRAW_BUFFER11: webgl.GLenum; 142 readonly DRAW_BUFFER12: webgl.GLenum; 143 readonly DRAW_BUFFER13: webgl.GLenum; 144 readonly DRAW_BUFFER14: webgl.GLenum; 145 readonly DRAW_BUFFER15: webgl.GLenum; 146 readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: webgl.GLenum; 147 readonly MAX_VERTEX_UNIFORM_COMPONENTS: webgl.GLenum; 148 readonly SAMPLER_3D: webgl.GLenum; 149 readonly SAMPLER_2D_SHADOW: webgl.GLenum; 150 readonly FRAGMENT_SHADER_DERIVATIVE_HINT: webgl.GLenum; 151 readonly PIXEL_PACK_BUFFER: webgl.GLenum; 152 readonly PIXEL_UNPACK_BUFFER: webgl.GLenum; 153 readonly PIXEL_PACK_BUFFER_BINDING: webgl.GLenum; 154 readonly PIXEL_UNPACK_BUFFER_BINDING: webgl.GLenum; 155 readonly FLOAT_MAT2x3: webgl.GLenum; 156 readonly FLOAT_MAT2x4: webgl.GLenum; 157 readonly FLOAT_MAT3x2: webgl.GLenum; 158 readonly FLOAT_MAT3x4: webgl.GLenum; 159 readonly FLOAT_MAT4x2: webgl.GLenum; 160 readonly FLOAT_MAT4x3: webgl.GLenum; 161 readonly SRGB: webgl.GLenum; 162 readonly SRGB8: webgl.GLenum; 163 readonly SRGB8_ALPHA8: webgl.GLenum; 164 readonly COMPARE_REF_TO_TEXTURE: webgl.GLenum; 165 readonly RGBA32F: webgl.GLenum; 166 readonly RGB32F: webgl.GLenum; 167 readonly RGBA16F: webgl.GLenum; 168 readonly RGB16F: webgl.GLenum; 169 readonly VERTEX_ATTRIB_ARRAY_INTEGER: webgl.GLenum; 170 readonly MAX_ARRAY_TEXTURE_LAYERS: webgl.GLenum; 171 readonly MIN_PROGRAM_TEXEL_OFFSET: webgl.GLenum; 172 readonly MAX_PROGRAM_TEXEL_OFFSET: webgl.GLenum; 173 readonly MAX_VARYING_COMPONENTS: webgl.GLenum; 174 readonly TEXTURE_2D_ARRAY: webgl.GLenum; 175 readonly TEXTURE_BINDING_2D_ARRAY: webgl.GLenum; 176 readonly R11F_G11F_B10F: webgl.GLenum; 177 readonly UNSIGNED_INT_10F_11F_11F_REV: webgl.GLenum; 178 readonly RGB9_E5: webgl.GLenum; 179 readonly UNSIGNED_INT_5_9_9_9_REV: webgl.GLenum; 180 readonly TRANSFORM_FEEDBACK_BUFFER_MODE: webgl.GLenum; 181 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: webgl.GLenum; 182 readonly TRANSFORM_FEEDBACK_VARYINGS: webgl.GLenum; 183 readonly TRANSFORM_FEEDBACK_BUFFER_START: webgl.GLenum; 184 readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: webgl.GLenum; 185 readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: webgl.GLenum; 186 readonly RASTERIZER_DISCARD: webgl.GLenum; 187 readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: webgl.GLenum; 188 readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: webgl.GLenum; 189 readonly INTERLEAVED_ATTRIBS: webgl.GLenum; 190 readonly SEPARATE_ATTRIBS: webgl.GLenum; 191 readonly TRANSFORM_FEEDBACK_BUFFER: webgl.GLenum; 192 readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: webgl.GLenum; 193 readonly RGBA32UI: webgl.GLenum; 194 readonly RGB32UI: webgl.GLenum; 195 readonly RGBA16UI: webgl.GLenum; 196 readonly RGB16UI: webgl.GLenum; 197 readonly RGBA8UI: webgl.GLenum; 198 readonly RGB8UI: webgl.GLenum; 199 readonly RGBA32I: webgl.GLenum; 200 readonly RGB32I: webgl.GLenum; 201 readonly RGBA16I: webgl.GLenum; 202 readonly RGB16I: webgl.GLenum; 203 readonly RGBA8I: webgl.GLenum; 204 readonly RGB8I: webgl.GLenum; 205 readonly RED_INTEGER: webgl.GLenum; 206 readonly RGB_INTEGER: webgl.GLenum; 207 readonly RGBA_INTEGER: webgl.GLenum; 208 readonly SAMPLER_2D_ARRAY: webgl.GLenum; 209 readonly SAMPLER_2D_ARRAY_SHADOW: webgl.GLenum; 210 readonly SAMPLER_CUBE_SHADOW: webgl.GLenum; 211 readonly UNSIGNED_INT_VEC2: webgl.GLenum; 212 readonly UNSIGNED_INT_VEC3: webgl.GLenum; 213 readonly UNSIGNED_INT_VEC4: webgl.GLenum; 214 readonly INT_SAMPLER_2D: webgl.GLenum; 215 readonly INT_SAMPLER_3D: webgl.GLenum; 216 readonly INT_SAMPLER_CUBE: webgl.GLenum; 217 readonly INT_SAMPLER_2D_ARRAY: webgl.GLenum; 218 readonly UNSIGNED_INT_SAMPLER_2D: webgl.GLenum; 219 readonly UNSIGNED_INT_SAMPLER_3D: webgl.GLenum; 220 readonly UNSIGNED_INT_SAMPLER_CUBE: webgl.GLenum; 221 readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: webgl.GLenum; 222 readonly DEPTH_COMPONENT32F: webgl.GLenum; 223 readonly DEPTH32F_STENCIL8: webgl.GLenum; 224 readonly FLOAT_32_UNSIGNED_INT_24_8_REV: webgl.GLenum; 225 readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: webgl.GLenum; 226 readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: webgl.GLenum; 227 readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: webgl.GLenum; 228 readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: webgl.GLenum; 229 readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: webgl.GLenum; 230 readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: webgl.GLenum; 231 readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: webgl.GLenum; 232 readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: webgl.GLenum; 233 readonly FRAMEBUFFER_DEFAULT: webgl.GLenum; 234 readonly UNSIGNED_INT_24_8: webgl.GLenum; 235 readonly DEPTH24_STENCIL8: webgl.GLenum; 236 readonly UNSIGNED_NORMALIZED: webgl.GLenum; 237 readonly DRAW_FRAMEBUFFER_BINDING: webgl.GLenum; 238 readonly READ_FRAMEBUFFER: webgl.GLenum; 239 readonly DRAW_FRAMEBUFFER: webgl.GLenum; 240 readonly READ_FRAMEBUFFER_BINDING: webgl.GLenum; 241 readonly RENDERBUFFER_SAMPLES: webgl.GLenum; 242 readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: webgl.GLenum; 243 readonly MAX_COLOR_ATTACHMENTS: webgl.GLenum; 244 readonly COLOR_ATTACHMENT1: webgl.GLenum; 245 readonly COLOR_ATTACHMENT2: webgl.GLenum; 246 readonly COLOR_ATTACHMENT3: webgl.GLenum; 247 readonly COLOR_ATTACHMENT4: webgl.GLenum; 248 readonly COLOR_ATTACHMENT5: webgl.GLenum; 249 readonly COLOR_ATTACHMENT6: webgl.GLenum; 250 readonly COLOR_ATTACHMENT7: webgl.GLenum; 251 readonly COLOR_ATTACHMENT8: webgl.GLenum; 252 readonly COLOR_ATTACHMENT9: webgl.GLenum; 253 readonly COLOR_ATTACHMENT10: webgl.GLenum; 254 readonly COLOR_ATTACHMENT11: webgl.GLenum; 255 readonly COLOR_ATTACHMENT12: webgl.GLenum; 256 readonly COLOR_ATTACHMENT13: webgl.GLenum; 257 readonly COLOR_ATTACHMENT14: webgl.GLenum; 258 readonly COLOR_ATTACHMENT15: webgl.GLenum; 259 readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: webgl.GLenum; 260 readonly MAX_SAMPLES: webgl.GLenum; 261 readonly HALF_FLOAT: webgl.GLenum; 262 readonly RG: webgl.GLenum; 263 readonly RG_INTEGER: webgl.GLenum; 264 readonly R8: webgl.GLenum; 265 readonly RG8: webgl.GLenum; 266 readonly R16F: webgl.GLenum; 267 readonly R32F: webgl.GLenum; 268 readonly RG16F: webgl.GLenum; 269 readonly RG32F: webgl.GLenum; 270 readonly R8I: webgl.GLenum; 271 readonly R8UI: webgl.GLenum; 272 readonly R16I: webgl.GLenum; 273 readonly R16UI: webgl.GLenum; 274 readonly R32I: webgl.GLenum; 275 readonly R32UI: webgl.GLenum; 276 readonly RG8I: webgl.GLenum; 277 readonly RG8UI: webgl.GLenum; 278 readonly RG16I: webgl.GLenum; 279 readonly RG16UI: webgl.GLenum; 280 readonly RG32I: webgl.GLenum; 281 readonly RG32UI: webgl.GLenum; 282 readonly VERTEX_ARRAY_BINDING: webgl.GLenum; 283 readonly R8_SNORM: webgl.GLenum; 284 readonly RG8_SNORM: webgl.GLenum; 285 readonly RGB8_SNORM: webgl.GLenum; 286 readonly RGBA8_SNORM: webgl.GLenum; 287 readonly SIGNED_NORMALIZED: webgl.GLenum; 288 readonly COPY_READ_BUFFER: webgl.GLenum; 289 readonly COPY_WRITE_BUFFER: webgl.GLenum; 290 readonly COPY_READ_BUFFER_BINDING: webgl.GLenum; 291 readonly COPY_WRITE_BUFFER_BINDING: webgl.GLenum; 292 readonly UNIFORM_BUFFER: webgl.GLenum; 293 readonly UNIFORM_BUFFER_BINDING: webgl.GLenum; 294 readonly UNIFORM_BUFFER_START: webgl.GLenum; 295 readonly UNIFORM_BUFFER_SIZE: webgl.GLenum; 296 readonly MAX_VERTEX_UNIFORM_BLOCKS: webgl.GLenum; 297 readonly MAX_FRAGMENT_UNIFORM_BLOCKS: webgl.GLenum; 298 readonly MAX_COMBINED_UNIFORM_BLOCKS: webgl.GLenum; 299 readonly MAX_UNIFORM_BUFFER_BINDINGS: webgl.GLenum; 300 readonly MAX_UNIFORM_BLOCK_SIZE: webgl.GLenum; 301 readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: webgl.GLenum; 302 readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: webgl.GLenum; 303 readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: webgl.GLenum; 304 readonly ACTIVE_UNIFORM_BLOCKS: webgl.GLenum; 305 readonly UNIFORM_TYPE: webgl.GLenum; 306 readonly UNIFORM_SIZE: webgl.GLenum; 307 readonly UNIFORM_BLOCK_INDEX: webgl.GLenum; 308 readonly UNIFORM_OFFSET: webgl.GLenum; 309 readonly UNIFORM_ARRAY_STRIDE: webgl.GLenum; 310 readonly UNIFORM_MATRIX_STRIDE: webgl.GLenum; 311 readonly UNIFORM_IS_ROW_MAJOR: webgl.GLenum; 312 readonly UNIFORM_BLOCK_BINDING: webgl.GLenum; 313 readonly UNIFORM_BLOCK_DATA_SIZE: webgl.GLenum; 314 readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: webgl.GLenum; 315 readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: webgl.GLenum; 316 readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: webgl.GLenum; 317 readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: webgl.GLenum; 318 readonly INVALID_INDEX: webgl.GLenum; 319 readonly MAX_VERTEX_OUTPUT_COMPONENTS: webgl.GLenum; 320 readonly MAX_FRAGMENT_INPUT_COMPONENTS: webgl.GLenum; 321 readonly MAX_SERVER_WAIT_TIMEOUT: webgl.GLenum; 322 readonly OBJECT_TYPE: webgl.GLenum; 323 readonly SYNC_CONDITION: webgl.GLenum; 324 readonly SYNC_STATUS: webgl.GLenum; 325 readonly SYNC_FLAGS: webgl.GLenum; 326 readonly SYNC_FENCE: webgl.GLenum; 327 readonly SYNC_GPU_COMMANDS_COMPLETE: webgl.GLenum; 328 readonly UNSIGNALED: webgl.GLenum; 329 readonly SIGNALED: webgl.GLenum; 330 readonly ALREADY_SIGNALED: webgl.GLenum; 331 readonly TIMEOUT_EXPIRED: webgl.GLenum; 332 readonly CONDITION_SATISFIED: webgl.GLenum; 333 readonly WAIT_FAILED: webgl.GLenum; 334 readonly SYNC_FLUSH_COMMANDS_BIT: webgl.GLenum; 335 readonly VERTEX_ATTRIB_ARRAY_DIVISOR: webgl.GLenum; 336 readonly ANY_SAMPLES_PASSED: webgl.GLenum; 337 readonly ANY_SAMPLES_PASSED_CONSERVATIVE: webgl.GLenum; 338 readonly SAMPLER_BINDING: webgl.GLenum; 339 readonly RGB10_A2UI: webgl.GLenum; 340 readonly INT_2_10_10_10_REV: webgl.GLenum; 341 readonly TRANSFORM_FEEDBACK: webgl.GLenum; 342 readonly TRANSFORM_FEEDBACK_PAUSED: webgl.GLenum; 343 readonly TRANSFORM_FEEDBACK_ACTIVE: webgl.GLenum; 344 readonly TRANSFORM_FEEDBACK_BINDING: webgl.GLenum; 345 readonly TEXTURE_IMMUTABLE_FORMAT: webgl.GLenum; 346 readonly MAX_ELEMENT_INDEX: webgl.GLenum; 347 readonly TEXTURE_IMMUTABLE_LEVELS: webgl.GLenum; 348 readonly TIMEOUT_IGNORED: GLint64; 349 readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: webgl.GLenum; 350 copyBufferSubData(readTarget: webgl.GLenum, writeTarget: webgl.GLenum, readOffset: webgl.GLintptr, writeOffset: webgl.GLintptr, size: webgl.GLsizeiptr): void; 351 getBufferSubData(target: webgl.GLenum, srcByteOffset: webgl.GLintptr, dstBuffer: ArrayBufferView, dstOffset?: webgl.GLuint, length?: webgl.GLuint): void; 352 blitFramebuffer(srcX0: webgl.GLint, srcY0: webgl.GLint, srcX1: webgl.GLint, srcY1: webgl.GLint, dstX0: webgl.GLint, dstY0: webgl.GLint, dstX1: webgl.GLint, dstY1: webgl.GLint, mask: webgl.GLbitfield, filter: webgl.GLenum): void; 353 framebufferTextureLayer(target: webgl.GLenum, attachment: webgl.GLenum, texture: webgl.WebGLTexture | null, level: webgl.GLint, layer: webgl.GLint): void; 354 invalidateFramebuffer(target: webgl.GLenum, attachments: webgl.GLenum[]): void; 355 invalidateSubFramebuffer(target: webgl.GLenum, attachments: webgl.GLenum[], x: webgl.GLint, y: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei): void; 356 readBuffer(src: webgl.GLenum): void; 357 getInternalformatParameter(target: webgl.GLenum, internalformat: webgl.GLenum, pname: webgl.GLenum): any; 358 renderbufferStorageMultisample(target: webgl.GLenum, samples: webgl.GLsizei, internalformat: webgl.GLenum, width: webgl.GLsizei, height: webgl.GLsizei): void; 359 texStorage2D(target: webgl.GLenum, levels: webgl.GLsizei, internalformat: webgl.GLenum, width: webgl.GLsizei, height: webgl.GLsizei): void; 360 texStorage3D(target: webgl.GLenum, levels: webgl.GLsizei, internalformat: webgl.GLenum, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei): void; 361 texImage3D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, border: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, pboOffset: webgl.GLintptr): void; 362 texImage3D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, border: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, source: webgl.TexImageSource): void; 363 texImage3D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, border: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, srcData: ArrayBufferView | null): void; 364 texImage3D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, border: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, srcData: ArrayBufferView, srcOffset: webgl.GLuint): void; 365 texSubImage3D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, zoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, pboOffset: webgl.GLintptr): void; 366 texSubImage3D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, zoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, source: webgl.TexImageSource): void; 367 texSubImage3D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, zoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, srcData: ArrayBufferView | null, srcOffset?: webgl.GLuint): void; 368 copyTexSubImage3D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, zoffset: webgl.GLint, x: webgl.GLint, y: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei): void; 369 compressedTexImage3D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLenum, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, border: webgl.GLint, imageSize: webgl.GLsizei, offset: webgl.GLintptr): void; 370 compressedTexImage3D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLenum, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, border: webgl.GLint, srcData: ArrayBufferView, srcOffset?: webgl.GLuint, srcLengthOverride?: webgl.GLuint): void; 371 compressedTexSubImage3D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, zoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, format: webgl.GLenum, imageSize: webgl.GLsizei, offset: webgl.GLintptr): void; 372 compressedTexSubImage3D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, zoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, depth: webgl.GLsizei, format: webgl.GLenum, srcData: ArrayBufferView, srcOffset?: webgl.GLuint, srcLengthOverride?: webgl.GLuint): void; 373 getFragDataLocation(program: webgl.WebGLProgram, name: string): webgl.GLint; 374 uniform1ui(location: webgl.WebGLUniformLocation | null, v0: webgl.GLuint): void; 375 uniform2ui(location: webgl.WebGLUniformLocation | null, v0: webgl.GLuint, v1: webgl.GLuint): void; 376 uniform3ui(location: webgl.WebGLUniformLocation | null, v0: webgl.GLuint, v1: webgl.GLuint, v2: webgl.GLuint): void; 377 uniform4ui(location: webgl.WebGLUniformLocation | null, v0: webgl.GLuint, v1: webgl.GLuint, v2: webgl.GLuint, v3: webgl.GLuint): void; 378 uniform1uiv(location: webgl.WebGLUniformLocation | null, data: Uint32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 379 uniform2uiv(location: webgl.WebGLUniformLocation | null, data: Uint32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 380 uniform3uiv(location: webgl.WebGLUniformLocation | null, data: Uint32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 381 uniform4uiv(location: webgl.WebGLUniformLocation | null, data: Uint32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 382 uniformMatrix3x2fv(location: webgl.WebGLUniformLocation | null, transpose: webgl.GLboolean, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 383 uniformMatrix4x2fv(location: webgl.WebGLUniformLocation | null, transpose: webgl.GLboolean, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 384 uniformMatrix2x3fv(location: webgl.WebGLUniformLocation | null, transpose: webgl.GLboolean, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 385 uniformMatrix4x3fv(location: webgl.WebGLUniformLocation | null, transpose: webgl.GLboolean, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 386 uniformMatrix2x4fv(location: webgl.WebGLUniformLocation | null, transpose: webgl.GLboolean, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 387 uniformMatrix3x4fv(location: webgl.WebGLUniformLocation | null, transpose: webgl.GLboolean, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 388 vertexAttribI4i(index: webgl.GLuint, x: webgl.GLint, y: webgl.GLint, z: webgl.GLint, w: webgl.GLint): void; 389 vertexAttribI4iv(index: webgl.GLuint, values: webgl.Int32List): void; 390 vertexAttribI4ui(index: webgl.GLuint, x: webgl.GLuint, y: webgl.GLuint, z: webgl.GLuint, w: webgl.GLuint): void; 391 vertexAttribI4uiv(index: webgl.GLuint, values: Uint32List): void; 392 vertexAttribIPointer(index: webgl.GLuint, size: webgl.GLint, type: webgl.GLenum, stride: webgl.GLsizei, offset: webgl.GLintptr): void; 393 vertexAttribDivisor(index: webgl.GLuint, divisor: webgl.GLuint): void; 394 drawArraysInstanced(mode: webgl.GLenum, first: webgl.GLint, count: webgl.GLsizei, instanceCount: webgl.GLsizei): void; 395 drawElementsInstanced(mode: webgl.GLenum, count: webgl.GLsizei, type: webgl.GLenum, offset: webgl.GLintptr, instanceCount: webgl.GLsizei): void; 396 drawRangeElements(mode: webgl.GLenum, start: webgl.GLuint, end: webgl.GLuint, count: webgl.GLsizei, type: webgl.GLenum, offset: webgl.GLintptr): void; 397 drawBuffers(buffers: webgl.GLenum[]): void; 398 clearBufferfv(buffer: webgl.GLenum, drawbuffer: webgl.GLint, values: webgl.Float32List, srcOffset?: webgl.GLuint): void; 399 clearBufferiv(buffer: webgl.GLenum, drawbuffer: webgl.GLint, values: webgl.Int32List, srcOffset?: webgl.GLuint): void; 400 clearBufferuiv(buffer: webgl.GLenum, drawbuffer: webgl.GLint, values: Uint32List, srcOffset?: webgl.GLuint): void; 401 clearBufferfi(buffer: webgl.GLenum, drawbuffer: webgl.GLint, depth: webgl.GLfloat, stencil: webgl.GLint): void; 402 createQuery(): WebGLQuery | null; 403 deleteQuery(query: WebGLQuery | null): void; 404 isQuery(query: WebGLQuery | null): webgl.GLboolean; 405 beginQuery(target: webgl.GLenum, query: WebGLQuery): void; 406 endQuery(target: webgl.GLenum): void; 407 getQuery(target: webgl.GLenum, pname: webgl.GLenum): WebGLQuery | null; 408 getQueryParameter(query: WebGLQuery, pname: webgl.GLenum): any; 409 createSampler(): WebGLSampler | null; 410 deleteSampler(sampler: WebGLSampler | null): void; 411 isSampler(sampler: WebGLSampler | null): webgl.GLboolean; 412 bindSampler(unit: webgl.GLuint, sampler: WebGLSampler | null): void; 413 samplerParameteri(sampler: WebGLSampler, pname: webgl.GLenum, param: webgl.GLint): void; 414 samplerParameterf(sampler: WebGLSampler, pname: webgl.GLenum, param: webgl.GLfloat): void; 415 getSamplerParameter(sampler: WebGLSampler, pname: webgl.GLenum): any; 416 fenceSync(condition: webgl.GLenum, flags: webgl.GLbitfield): WebGLSync | null; 417 isSync(sync: WebGLSync | null): webgl.GLboolean; 418 deleteSync(sync: WebGLSync | null): void; 419 clientWaitSync(sync: WebGLSync, flags: webgl.GLbitfield, timeout: GLuint64 ): webgl.GLenum; 420 waitSync(sync: WebGLSync, flags: webgl.GLbitfield, timeout: GLint64): void; 421 getSyncParameter(sync: WebGLSync, pname: webgl.GLenum): any; 422 createTransformFeedback(): WebGLTransformFeedback | null; 423 deleteTransformFeedback(tf: WebGLTransformFeedback | null): void; 424 isTransformFeedback(tf: WebGLTransformFeedback | null): webgl.GLboolean; 425 bindTransformFeedback(target: webgl.GLenum, tf: WebGLTransformFeedback | null): void; 426 beginTransformFeedback(primitiveMode: webgl.GLenum): void; 427 endTransformFeedback(): void; 428 transformFeedbackVaryings(program: webgl.WebGLProgram, varyings: string[], bufferMode: webgl.GLenum): void; 429 getTransformFeedbackVarying(program: webgl.WebGLProgram, index: webgl.GLuint): webgl.WebGLActiveInfo | null; 430 pauseTransformFeedback(): void; 431 resumeTransformFeedback(): void; 432 bindBufferBase(target: webgl.GLenum, index: webgl.GLuint, buffer: webgl.WebGLBuffer | null): void; 433 bindBufferRange(target: webgl.GLenum, index: webgl.GLuint, buffer: webgl.WebGLBuffer | null, offset: webgl.GLintptr, size: webgl.GLsizeiptr): void; 434 getIndexedParameter(target: webgl.GLenum, index: webgl.GLuint): any; 435 getUniformIndices(program: webgl.WebGLProgram, uniformNames: string[]): webgl.GLuint[] | null; 436 getActiveUniforms(program: webgl.WebGLProgram, uniformIndices: webgl.GLuint[], pname: webgl.GLenum): any; 437 getUniformBlockIndex(program: webgl.WebGLProgram, uniformBlockName: string): webgl.GLuint; 438 getActiveUniformBlockParameter(program: webgl.WebGLProgram, uniformBlockIndex: webgl.GLuint, pname: webgl.GLenum): any; 439 getActiveUniformBlockName(program: webgl.WebGLProgram, uniformBlockIndex: webgl.GLuint): string | null; 440 uniformBlockBinding(program: webgl.WebGLProgram, uniformBlockIndex: webgl.GLuint, uniformBlockBinding: webgl.GLuint): void; 441 createVertexArray(): WebGLVertexArrayObject | null; 442 deleteVertexArray(vertexArray: WebGLVertexArrayObject | null): void; 443 isVertexArray(vertexArray: WebGLVertexArrayObject | null): webgl.GLboolean; 444 bindVertexArray(array: WebGLVertexArrayObject | null): void; 445} 446/** 447 * WebGL 2.0 448 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 449 * @since 7 450 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 451 */ 452interface WebGL2RenderingContextOverloads { 453 bufferData(target: webgl.GLenum, size: webgl.GLsizeiptr, usage: webgl.GLenum): void; 454 bufferData(target: webgl.GLenum, srcData: BufferSource | null, usage: webgl.GLenum): void; 455 bufferSubData(target: webgl.GLenum, dstByteOffset: webgl.GLintptr, srcData: BufferSource): void; 456 bufferData(target: webgl.GLenum, srcData: ArrayBufferView, usage: webgl.GLenum, srcOffset: webgl.GLuint, length?: webgl.GLuint): void; 457 bufferSubData(target: webgl.GLenum, dstByteOffset: webgl.GLintptr, srcData: ArrayBufferView, srcOffset: webgl.GLuint, length?: webgl.GLuint): void; 458 texImage2D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, border: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, pixels: ArrayBufferView | null): void; 459 texImage2D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, source: webgl.TexImageSource): void; 460 texSubImage2D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, pixels: ArrayBufferView | null): void; 461 texSubImage2D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, source: webgl.TexImageSource): void; 462 texImage2D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, border: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, pboOffset: webgl.GLintptr): void; 463 texImage2D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, border: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, source: webgl.TexImageSource): void; 464 texImage2D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, border: webgl.GLint, format: webgl.GLenum, type: webgl.GLenum, srcData: ArrayBufferView, srcOffset: webgl.GLuint): void; 465 texSubImage2D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, pboOffset: webgl.GLintptr): void; 466 texSubImage2D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, source: webgl.TexImageSource): void; 467 texSubImage2D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, srcData: ArrayBufferView, srcOffset: webgl.GLuint): void; 468 compressedTexImage2D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLenum, width: webgl.GLsizei, height: webgl.GLsizei, border: webgl.GLint, imageSize: webgl.GLsizei, offset: webgl.GLintptr): void; 469 compressedTexImage2D(target: webgl.GLenum, level: webgl.GLint, internalformat: webgl.GLenum, width: webgl.GLsizei, height: webgl.GLsizei, border: webgl.GLint, srcData: ArrayBufferView, srcOffset?: webgl.GLuint, srcLengthOverride?: webgl.GLuint): void; 470 compressedTexSubImage2D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, format: webgl.GLenum, imageSize: webgl.GLsizei, offset: webgl.GLintptr): void; 471 compressedTexSubImage2D(target: webgl.GLenum, level: webgl.GLint, xoffset: webgl.GLint, yoffset: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, format: webgl.GLenum, srcData: ArrayBufferView, srcOffset?: webgl.GLuint, srcLengthOverride?: webgl.GLuint): void; 472 uniform1fv(location: webgl.WebGLUniformLocation | null, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 473 uniform2fv(location: webgl.WebGLUniformLocation | null, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 474 uniform3fv(location: webgl.WebGLUniformLocation | null, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 475 uniform4fv(location: webgl.WebGLUniformLocation | null, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 476 uniform1iv(location: webgl.WebGLUniformLocation | null, data: webgl.Int32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 477 uniform2iv(location: webgl.WebGLUniformLocation | null, data: webgl.Int32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 478 uniform3iv(location: webgl.WebGLUniformLocation | null, data: webgl.Int32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 479 uniform4iv(location: webgl.WebGLUniformLocation | null, data: webgl.Int32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 480 uniformMatrix2fv(location: webgl.WebGLUniformLocation | null, transpose: webgl.GLboolean, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 481 uniformMatrix3fv(location: webgl.WebGLUniformLocation | null, transpose: webgl.GLboolean, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 482 uniformMatrix4fv(location: webgl.WebGLUniformLocation | null, transpose: webgl.GLboolean, data: webgl.Float32List, srcOffset?: webgl.GLuint, srcLength?: webgl.GLuint): void; 483 readPixels(x: webgl.GLint, y: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, dstData: ArrayBufferView | null): void; 484 readPixels(x: webgl.GLint, y: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, offset: webgl.GLintptr): void; 485 readPixels(x: webgl.GLint, y: webgl.GLint, width: webgl.GLsizei, height: webgl.GLsizei, format: webgl.GLenum, type: webgl.GLenum, dstData: ArrayBufferView, dstOffset: webgl.GLuint): void; 486} 487/** 488 * WebGL 2.0 489 * @see https://www.khronos.org/registry/webgl/specs/latest/2.0/ 490 * @since 7 491 * @syscap SystemCapability.Graphic.Graphic2D.WebGL2 492 */ 493export interface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase { 494} 495