• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# WebGL
2
3The **WebGL** module provides the graphics drawing capability, such as processing the graphics position and color.
4
5This module provides WebGL APIs that correspond to the OpenGL ES 2.0 feature set. For more information, see [WebGLâ„¢](https://www.khronos.org/registry/webgl/specs/latest/1.0/).
6
7>  **NOTE**
8>
9> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
10>
11> WebGL complies with the OpenGL protocol and does not support multi-thread calling.
12>
13> This module can be used only in the JavaScript-compatible web-like development paradigm.
14
15
16## Invoking Method
17
18Create a **\<canvas>** component in the HML file. The following is an example:
19
20
21```html
22<!--xxx.hml-->
23<div class="container">
24    <canvas ref="canvas1" style="width : 400px; height : 200px; background-color : lightyellow;"></canvas>
25    <button class="btn-button" onclick="BtnDraw2D">BtnDraw2D</button>
26</div>
27```
28
29Obtain the **\<canvas>** component instance in the JS file. The following is an example:
30
31
32```js
33// Obtain the <canvas> component instance.
34const el = this.$refs.canvas1;
35// Obtain the WebGL context from the <canvas> component instance.
36const gl = el.getContext('webgl');
37// Call the WebGL API.
38gl.clearColor(0.0, 0.0, 0.0, 1.0);
39```
40
41
42## Type
43
44**System capability**: SystemCapability.Graphic.Graphic2D.WebGL
45
46**Table 1** Type
47
48| Name| Type|
49| -------- | -------- |
50| GLenum | number |
51| GLboolean | boolean |
52| GLbitfield | number |
53| GLbyte | number |
54| GLshort | number |
55| GLint | number |
56| GLsizei | number |
57| GLintptr | number |
58| GLsizeiptr | number |
59| GLubyte | number |
60| GLushort | number |
61| GLuint | number |
62| GLfloat | number |
63| GLclampf | number |
64| TexImageSource | ImageData |
65| Float32List | array |
66| Int32List | array |
67| WebGLPowerPreference | string |
68
69
70## APIs
71
72**System capability**: SystemCapability.Graphic.Graphic2D.WebGL
73
74**Table 2** APIs
75
76| Name|
77| -------- |
78| [WebGLContextAttributes](#webglcontextattributes) |
79| WebGLBuffer |
80| WebGLFrameBuffer |
81| WebGLProgram |
82| WebGLRenderbuffer |
83| WebGLShader |
84| WebGLTexture |
85| WebGLUniformLocation |
86| [WebGLActiveInfo](#webglactiveinfo) |
87| [WebGLShaderPrecisionFormat](#webglshaderprecisionformat) |
88| [WebGLRenderingContextBase](#webglrenderingcontextbase) |
89| [WebGLRenderingContextOverloads](#webglrenderingcontextoverloads) |
90
91
92## WebGLContextAttributes
93
94WebGLContextAttributes
95
96
97  | Name| Type| Mandatory|
98| -------- | -------- | -------- |
99| alpha | boolean | No|
100| depth | boolean | No|
101| stencil | boolean | No|
102| antialias | boolean | No|
103| premultipliedAlpha | boolean | No|
104| preserveDrawingBuffer | boolean | No|
105| powerPreference | WebGLPowerPreference | No|
106| failIfMajorPerformanceCaveat | boolean | No|
107| desynchronized | boolean | No|
108
109
110## WebGLActiveInfo
111
112WebGLActiveInfo
113
114  | Name| Type| Mandatory|
115| -------- | -------- | -------- |
116| size | GLint | Yes|
117| type | GLenum | Yes|
118| name | string | Yes|
119
120
121## WebGLShaderPrecisionFormat
122
123WebGLShaderPrecisionFormat
124
125  | Name| Type| Mandatory|
126| -------- | -------- | -------- |
127| rangeMin | GLint | Yes|
128| rangeMax | GLint | Yes|
129| precision | GLint | Yes|
130
131
132## WebGLRenderingContextBase
133
134WebGLRenderingContextBase
135
136
137### Attributes
138
139  | Name| Type| Mandatory|
140| -------- | -------- | -------- |
141| DEPTH_BUFFER_BIT | GLenum | Yes|
142| STENCIL_BUFFER_BIT | GLenum | Yes|
143| COLOR_BUFFER_BIT | GLenum | Yes|
144| POINTS | GLenum | Yes|
145| LINES | GLenum | Yes|
146| LINE_LOOP | GLenum | Yes|
147| LINE_STRIP | GLenum | Yes|
148| TRIANGLES | GLenum | Yes|
149| TRIANGLE_STRIP | GLenum | Yes|
150| TRIANGLE_FAN | GLenum | Yes|
151| ZERO | GLenum | Yes|
152| ONE | GLenum | Yes|
153| SRC_COLOR | GLenum | Yes|
154| ONE_MINUS_SRC_COLOR | GLenum | Yes|
155| SRC_ALPHA | GLenum | Yes|
156| ONE_MINUS_SRC_ALPHA | GLenum | Yes|
157| DST_ALPHA | GLenum | Yes|
158| ONE_MINUS_DST_ALPHA | GLenum | Yes|
159| DST_COLOR | GLenum | Yes|
160| ONE_MINUS_DST_COLOR | GLenum | Yes|
161| SRC_ALPHA_SATURATE | GLenum | Yes|
162| FUNC_ADD | GLenum | Yes|
163| BLEND_EQUATION | GLenum | Yes|
164| BLEND_EQUATION_RGB | GLenum | Yes|
165| BLEND_EQUATION_ALPHA | GLenum | Yes|
166| FUNC_SUBTRACT | GLenum | Yes|
167| FUNC_REVERSE_SUBTRACT | GLenum | Yes|
168| BLEND_DST_RGB | GLenum | Yes|
169| BLEND_SRC_RGB | GLenum | Yes|
170| BLEND_DST_ALPHA | GLenum | Yes|
171| BLEND_SRC_ALPHA | GLenum | Yes|
172| CONSTANT_COLOR | GLenum | Yes|
173| ONE_MINUS_CONSTANT_COLOR | GLenum | Yes|
174| CONSTANT_ALPHA | GLenum | Yes|
175| ONE_MINUS_CONSTANT_ALPHA | GLenum | Yes|
176| BLEND_COLOR | GLenum | Yes|
177| ARRAY_BUFFER | GLenum | Yes|
178| ELEMENT_ARRAY_BUFFER | GLenum | Yes|
179| ARRAY_BUFFER_BINDING | GLenum | Yes|
180| ELEMENT_ARRAY_BUFFER_BINDING | GLenum | Yes|
181| STREAM_DRAW | GLenum | Yes|
182| STATIC_DRAW | GLenum | Yes|
183| DYNAMIC_DRAW | GLenum | Yes|
184| BUFFER_SIZE | GLenum | Yes|
185| BUFFER_USAGE | GLenum | Yes|
186| CURRENT_VERTEX_ATTRIB | GLenum | Yes|
187| FRONT | GLenum | Yes|
188| BACK | GLenum | Yes|
189| FRONT_AND_BACK | GLenum | Yes|
190| CULL_FACE | GLenum | Yes|
191| BLEND | GLenum | Yes|
192| DITHER | GLenum | Yes|
193| STENCIL_TEST | GLenum | Yes|
194| DEPTH_TEST | GLenum | Yes|
195| SCISSOR_TEST | GLenum | Yes|
196| POLYGON_OFFSET_FILL | GLenum | Yes|
197| SAMPLE_ALPHA_TO_COVERAGE | GLenum | Yes|
198| SAMPLE_COVERAGE | GLenum | Yes|
199| NO_ERROR | GLenum | Yes|
200| INVALID_ENUM | GLenum | Yes|
201| INVALID_VALUE | GLenum | Yes|
202| INVALID_OPERATION | GLenum | Yes|
203| OUT_OF_MEMORY | GLenum | Yes|
204| CW | GLenum | Yes|
205| CCW | GLenum | Yes|
206| LINE_WIDTH | GLenum | Yes|
207| ALIASED_POINT_SIZE_RANGE | GLenum | Yes|
208| ALIASED_LINE_WIDTH_RANGE | GLenum | Yes|
209| CULL_FACE_MODE | GLenum | Yes|
210| FRONT_FACE | GLenum | Yes|
211| DEPTH_RANGE | GLenum | Yes|
212| DEPTH_WRITEMASK | GLenum | Yes|
213| DEPTH_CLEAR_VALUE | GLenum | Yes|
214| DEPTH_FUNC | GLenum | Yes|
215| STENCIL_CLEAR_VALUE | GLenum | Yes|
216| STENCIL_FUNC | GLenum | Yes|
217| STENCIL_FAIL | GLenum | Yes|
218| STENCIL_PASS_DEPTH_FAIL | GLenum | Yes|
219| STENCIL_PASS_DEPTH_PASS | GLenum | Yes|
220| STENCIL_REF | GLenum | Yes|
221| STENCIL_VALUE_MASK | GLenum | Yes|
222| STENCIL_WRITEMASK | GLenum | Yes|
223| STENCIL_BACK_FUNC | GLenum | Yes|
224| STENCIL_BACK_FAIL | GLenum | Yes|
225| STENCIL_BACK_PASS_DEPTH_FAIL | GLenum | Yes|
226| STENCIL_BACK_PASS_DEPTH_PASS | GLenum | Yes|
227| STENCIL_BACK_REF | GLenum | Yes|
228| STENCIL_BACK_VALUE_MASK | GLenum | Yes|
229| STENCIL_BACK_WRITEMASK | GLenum | Yes|
230| VIEWPORT | GLenum | Yes|
231| SCISSOR_BOX | GLenum | Yes|
232| COLOR_CLEAR_VALUE | GLenum | Yes|
233| COLOR_WRITEMASK | GLenum | Yes|
234| UNPACK_ALIGNMENT | GLenum | Yes|
235| PACK_ALIGNMENT | GLenum | Yes|
236| MAX_TEXTURE_SIZE | GLenum | Yes|
237| MAX_VIEWPORT_DIMS | GLenum | Yes|
238| SUBPIXEL_BITS | GLenum | Yes|
239| RED_BITS | GLenum | Yes|
240| GREEN_BITS | GLenum | Yes|
241| BLUE_BITS | GLenum | Yes|
242| ALPHA_BITS | GLenum | Yes|
243| DEPTH_BITS | GLenum | Yes|
244| STENCIL_BITS | GLenum | Yes|
245| POLYGON_OFFSET_UNITS | GLenum | Yes|
246| POLYGON_OFFSET_FACTOR | GLenum | Yes|
247| TEXTURE_BINDING_2D | GLenum | Yes|
248| SAMPLE_BUFFERS | GLenum | Yes|
249| SAMPLES | GLenum | Yes|
250| SAMPLE_COVERAGE_VALUE | GLenum | Yes|
251| SAMPLE_COVERAGE_INVERT | GLenum | Yes|
252| COMPRESSED_TEXTURE_FORMATS | GLenum | Yes|
253| DONT_CARE | GLenum | Yes|
254| FASTEST | GLenum | Yes|
255| NICEST | GLenum | Yes|
256| GENERATE_MIPMAP_HINT | GLenum | Yes|
257| BYTE | GLenum | Yes|
258| UNSIGNED_BYTE | GLenum | Yes|
259| SHORT | GLenum | Yes|
260| UNSIGNED_SHORT | GLenum | Yes|
261| INT | GLenum | Yes|
262| UNSIGNED_INT | GLenum | Yes|
263| FLOAT | GLenum | Yes|
264| DEPTH_COMPONENT | GLenum | Yes|
265| ALPHA | GLenum | Yes|
266| RGB | GLenum | Yes|
267| RGBA | GLenum | Yes|
268| LUMINANCE | GLenum | Yes|
269| LUMINANCE_ALPHA | GLenum | Yes|
270| UNSIGNED_SHORT_4_4_4_4 | GLenum | Yes|
271| UNSIGNED_SHORT_5_5_5_1 | GLenum | Yes|
272| UNSIGNED_SHORT_5_6_5 | GLenum | Yes|
273| FRAGMENT_SHADER | GLenum | Yes|
274| VERTEX_SHADER | GLenum | Yes|
275| MAX_VERTEX_ATTRIBS | GLenum | Yes|
276| MAX_VERTEX_UNIFORM_VECTORS | GLenum | Yes|
277| MAX_VARYING_VECTORS | GLenum | Yes|
278| MAX_COMBINED_TEXTURE_IMAGE_UNITS | GLenum | Yes|
279| MAX_VERTEX_TEXTURE_IMAGE_UNITS | GLenum | Yes|
280| MAX_TEXTURE_IMAGE_UNITS | GLenum | Yes|
281| MAX_FRAGMENT_UNIFORM_VECTORS | GLenum | Yes|
282| SHADER_TYPE | GLenum | Yes|
283| DELETE_STATUS | GLenum | Yes|
284| LINK_STATUS | GLenum | Yes|
285| VALIDATE_STATUS | GLenum | Yes|
286| ATTACHED_SHADERS | GLenum | Yes|
287| ACTIVE_UNIFORMS | GLenum | Yes|
288| ACTIVE_ATTRIBUTES | GLenum | Yes|
289| SHADING_LANGUAGE_VERSION | GLenum | Yes|
290| CURRENT_PROGRAM | GLenum | Yes|
291| NEVER | GLenum | Yes|
292| LESS | GLenum | Yes|
293| EQUAL | GLenum | Yes|
294| LEQUAL | GLenum | Yes|
295| GREATER | GLenum | Yes|
296| NOTEQUAL | GLenum | Yes|
297| GEQUAL | GLenum | Yes|
298| ALWAYS | GLenum | Yes|
299| KEEP | GLenum | Yes|
300| REPLACE | GLenum | Yes|
301| INCR | GLenum | Yes|
302| DECR | GLenum | Yes|
303| INVERT | GLenum | Yes|
304| INCR_WRAP | GLenum | Yes|
305| DECR_WRAP | GLenum | Yes|
306| VENDOR | GLenum | Yes|
307| RENDERER | GLenum | Yes|
308| VERSION | GLenum | Yes|
309| NEAREST | GLenum | Yes|
310| LINEAR | GLenum | Yes|
311| NEAREST_MIPMAP_NEAREST | GLenum | Yes|
312| LINEAR_MIPMAP_NEAREST | GLenum | Yes|
313| NEAREST_MIPMAP_LINEAR | GLenum | Yes|
314| LINEAR_MIPMAP_LINEAR | GLenum | Yes|
315| TEXTURE_MIN_FILTER | GLenum | Yes|
316| TEXTURE_WRAP_S | GLenum | Yes|
317| TEXTURE_WRAP_T | GLenum | Yes|
318| TEXTURE_2D | GLenum | Yes|
319| TEXTURE | GLenum | Yes|
320| TEXTURE_CUBE_MAP | GLenum | Yes|
321| TEXTURE_BINDING_CUBE_MAP | GLenum | Yes|
322| TEXTURE_CUBE_MAP_POSITIVE_X | GLenum | Yes|
323| TEXTURE_CUBE_MAP_NEGATIVE_X | GLenum | Yes|
324| TEXTURE_CUBE_MAP_POSITIVE_Y | GLenum | Yes|
325| TEXTURE_CUBE_MAP_NEGATIVE_Y | GLenum | Yes|
326| TEXTURE_CUBE_MAP_POSITIVE_Z | GLenum | Yes|
327| TEXTURE_CUBE_MAP_NEGATIVE_Z | GLenum | Yes|
328| MAX_CUBE_MAP_TEXTURE_SIZE | GLenum | Yes|
329| TEXTURE0 | GLenum | Yes|
330| TEXTURE1 | GLenum | Yes|
331| TEXTURE2 | GLenum | Yes|
332| TEXTURE3 | GLenum | Yes|
333| TEXTURE4 | GLenum | Yes|
334| TEXTURE5 | GLenum | Yes|
335| TEXTURE6 | GLenum | Yes|
336| TEXTURE7 | GLenum | Yes|
337| TEXTURE8 | GLenum | Yes|
338| TEXTURE9 | GLenum | Yes|
339| TEXTURE10 | GLenum | Yes|
340| TEXTURE11 | GLenum | Yes|
341| TEXTURE12 | GLenum | Yes|
342| TEXTURE13 | GLenum | Yes|
343| TEXTURE14 | GLenum | Yes|
344| TEXTURE15 | GLenum | Yes|
345| TEXTURE16 | GLenum | Yes|
346| TEXTURE17 | GLenum | Yes|
347| TEXTURE18 | GLenum | Yes|
348| TEXTURE19 | GLenum | Yes|
349| TEXTURE20 | GLenum | Yes|
350| TEXTURE21 | GLenum | Yes|
351| TEXTURE22 | GLenum | Yes|
352| TEXTURE23 | GLenum | Yes|
353| TEXTURE24 | GLenum | Yes|
354| TEXTURE25 | GLenum | Yes|
355| TEXTURE26 | GLenum | Yes|
356| TEXTURE27 | GLenum | Yes|
357| TEXTURE28 | GLenum | Yes|
358| TEXTURE29 | GLenum | Yes|
359| TEXTURE30 | GLenum | Yes|
360| TEXTURE31 | GLenum | Yes|
361| ACTIVE_TEXTURE | GLenum | Yes|
362| REPEAT | GLenum | Yes|
363| CLAMP_TO_EDGE | GLenum | Yes|
364| MIRRORED_REPEAT | GLenum | Yes|
365| FLOAT_VEC2 | GLenum | Yes|
366| FLOAT_VEC3 | GLenum | Yes|
367| FLOAT_VEC4 | GLenum | Yes|
368| INT_VEC2 | GLenum | Yes|
369| INT_VEC3 | GLenum | Yes|
370| INT_VEC4 | GLenum | Yes|
371| BOOL | GLenum | Yes|
372| BOOL_VEC2 | GLenum | Yes|
373| BOOL_VEC3 | GLenum | Yes|
374| BOOL_VEC4 | GLenum | Yes|
375| FLOAT_MAT2 | GLenum | Yes|
376| FLOAT_MAT3 | GLenum | Yes|
377| FLOAT_MAT4 | GLenum | Yes|
378| SAMPLER_2D | GLenum | Yes|
379| SAMPLER_CUBE | GLenum | Yes|
380| VERTEX_ATTRIB_ARRAY_ENABLED | GLenum | Yes|
381| VERTEX_ATTRIB_ARRAY_SIZE | GLenum | Yes|
382| VERTEX_ATTRIB_ARRAY_STRIDE | GLenum | Yes|
383| VERTEX_ATTRIB_ARRAY_TYPE | GLenum | Yes|
384| VERTEX_ATTRIB_ARRAY_NORMALIZED | GLenum | Yes|
385| VERTEX_ATTRIB_ARRAY_POINTER | GLenum | Yes|
386| VERTEX_ATTRIB_ARRAY_BUFFER_BINDING | GLenum | Yes|
387| IMPLEMENTATION_COLOR_READ_TYPE | GLenum | Yes|
388| IMPLEMENTATION_COLOR_READ_FORMAT | GLenum | Yes|
389| COMPILE_STATUS | GLenum | Yes|
390| LOW_FLOAT | GLenum | Yes|
391| MEDIUM_FLOAT | GLenum | Yes|
392| HIGH_FLOAT | GLenum | Yes|
393| LOW_INT | GLenum | Yes|
394| MEDIUM_INT | GLenum | Yes|
395| HIGH_INT | GLenum | Yes|
396| FRAMEBUFFER | GLenum | Yes|
397| RENDERBUFFER | GLenum | Yes|
398| RGBA4 | GLenum | Yes|
399| RGB5_A1 | GLenum | Yes|
400| RGB565 | GLenum | Yes|
401| DEPTH_COMPONENT16 | GLenum | Yes|
402| STENCIL_INDEX8 | GLenum | Yes|
403| DEPTH_STENCIL | GLenum | Yes|
404| RENDERBUFFER_WIDTH | GLenum | Yes|
405| RENDERBUFFER_HEIGHT | GLenum | Yes|
406| RENDERBUFFER_INTERNAL_FORMAT | GLenum | Yes|
407| RENDERBUFFER_RED_SIZE | GLenum | Yes|
408| RENDERBUFFER_GREEN_SIZE | GLenum | Yes|
409| RENDERBUFFER_BLUE_SIZE | GLenum | Yes|
410| RENDERBUFFER_ALPHA_SIZE | GLenum | Yes|
411| RENDERBUFFER_DEPTH_SIZE | GLenum | Yes|
412| RENDERBUFFER_STENCIL_SIZE | GLenum | Yes|
413| FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE | GLenum | Yes|
414| FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL | GLenum | Yes|
415| FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE | GLenum | Yes|
416| COLOR_ATTACHMENT0 | GLenum | Yes|
417| DEPTH_ATTACHMENT | GLenum | Yes|
418| STENCIL_ATTACHMENT | GLenum | Yes|
419| DEPTH_STENCIL_ATTACHMENT | GLenum | Yes|
420| NONE | GLenum | Yes|
421| FRAMEBUFFER_COMPLETE | GLenum | Yes|
422| FRAMEBUFFER_INCOMPLETE_ATTACHMENT | GLenum | Yes|
423| FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT | GLenum | Yes|
424| FRAMEBUFFER_INCOMPLETE_DIMENSIONS | GLenum | Yes|
425| FRAMEBUFFER_UNSUPPORTED | GLenum | Yes|
426| FRAMEBUFFER_BINDING | GLenum | Yes|
427| RENDERBUFFER_BINDING | GLenum | Yes|
428| MAX_RENDERBUFFER_SIZE | GLenum | Yes|
429| INVALID_FRAMEBUFFER_OPERATION | GLenum | Yes|
430| UNPACK_FLIP_Y_WEBGL | GLenum | Yes|
431| UNPACK_PREMULTIPLY_ALPHA_WEBGL | GLenum | Yes|
432| CONTEXT_LOST_WEBGL | GLenum | Yes|
433| UNPACK_COLORSPACE_CONVERSION_WEBGL | GLenum | Yes|
434| BROWSER_DEFAULT_WEBGL | GLenum | Yes|
435| canvas | HTMLCanvasElement \| OffscreenCanvas | Yes|
436| drawingBufferWidth | GLsizei | Yes|
437| drawingBufferHeight | GLsizei | Yes|
438
439
440### Methods
441
442  | Method| Return Value Type|
443| -------- | -------- |
444| getContextAttributes() | WebGLContextAttributes \| null |
445| isContextLost() | boolean |
446| getSupportedExtensions() | string[] \| null |
447| getExtension(name: string) | any |
448| activeTexture(texture: GLenum) | void |
449| attachShader(program: WebGLProgram, shader: WebGLShader) | void |
450| bindAttribLocation(program: WebGLProgram, index: GLuint, name: string) | void |
451| bindBuffer(target: GLenum, buffer: WebGLBuffer \| null) | void |
452| bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer \| null) | void |
453| bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void |
454| bindTexture(target: GLenum, texture: WebGLTexture \| null) | void |
455| blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void |
456| blendEquation(mode: GLenum) | void |
457| blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) | void |
458| blendFunc(sfactor: GLenum, dfactor: GLenum) | void |
459| blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) | void |
460| checkFramebufferStatus(target: GLenum) | GLenum |
461| clear(mask: GLbitfield) | void |
462| clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void |
463| clearDepth(depth: GLclampf) | void |
464| clearStencil(s: GLint) | void |
465| colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) | void |
466| compileShader(shader: WebGLShader) | void |
467| copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) | void |
468| copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
469| createBuffer() | WebGLBuffer \| null |
470| createFramebuffer() | WebGLFramebuffer \| null |
471| createProgram() | WebGLProgram \| null |
472| createRenderbuffer() | WebGLRenderbuffer \| null |
473| createShader(type: GLenum) | WebGLShader \| null |
474| createTexture() | WebGLTexture \| null |
475| cullFace(mode: GLenum) | void |
476| deleteBuffer(buffer: WebGLBuffer \| null) | void |
477| deleteFramebuffer(framebuffer: WebGLFramebuffer \| null) | void |
478| deleteProgram(program: WebGLProgram \| null) | void |
479| deleteRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | void |
480| deleteShader(shader: WebGLShader \| null) | void |
481| deleteTexture(texture: WebGLTexture \| null) | void |
482| depthFunc(func: GLenum) | void |
483| depthMask(flag: GLboolean) | void |
484| depthRange(zNear: GLclampf, zFar: GLclampf) | void |
485| detachShader(program: WebGLProgram, shader: WebGLShader) | void |
486| disable(cap: GLenum) | void |
487| disableVertexAttribArray(index: GLuint) | void |
488| drawArrays(mode: GLenum, first: GLint, count: GLsizei) | void |
489| drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) | void |
490| enable(cap: GLenum) | void |
491| enableVertexAttribArray(index: GLuint) | void |
492| finish() | void |
493| flush() | void |
494| framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void |
495| framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture \| null, level: GLint) | void |
496| frontFace(mode: GLenum) | void |
497| generateMipmap(target: GLenum) | void |
498| getActiveAttrib(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null |
499| getActiveUniform(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null |
500| getAttachedShaders(program: WebGLProgram) | WebGLShader[] \| null |
501| getAttribLocation(program: WebGLProgram, name: string) | GLint |
502| getBufferParameter(target: GLenum, pname: GLenum) | any |
503| getParameter(pname: GLenum) | any |
504| getError() | GLenum |
505| getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum) | any |
506| getProgramParameter(program: WebGLProgram, pname: GLenum) | any |
507| getProgramInfoLog(program: WebGLProgram) | string \| null |
508| getRenderbufferParameter(target: GLenum, pname: GLenum) | any |
509| getShaderParameter(shader: WebGLShader, pname: GLenum) | any |
510| getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum) | WebGLShaderPrecisionFormat \| null |
511| getShaderInfoLog(shader: WebGLShader) | string \| null |
512| getShaderSource(shader: WebGLShader) | string \| null |
513| getTexParameter(target: GLenum, pname: GLenum) | any |
514| getUniform(program: WebGLProgram, location: WebGLUniformLocation) | any |
515| getUniformLocation(program: WebGLProgram, name: string) | WebGLUniformLocation \| null |
516| getVertexAttrib(index: GLuint, pname: GLenum) | any |
517| getVertexAttribOffset(index: GLuint, pname: GLenum) | GLintptr |
518| hint(target: GLenum, mode: GLenum) | void |
519| isBuffer(buffer: WebGLBuffer \| null) | GLboolean |
520| isEnabled(cap: GLenum) | GLboolean |
521| isFramebuffer(framebuffer: WebGLFramebuffer \| null) | GLboolean |
522| isProgram(program: WebGLProgram \| null) | GLboolean |
523| isRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | GLboolean |
524| isShader(shader: WebGLShader \| null) | GLboolean |
525| isTexture(texture: WebGLTexture \| null) | GLboolean |
526| lineWidth(width: GLfloat) | void |
527| linkProgram(program: WebGLProgram) | void |
528| pixelStorei(pname: GLenum, param: GLint \| GLboolean) | void |
529| polygonOffset(factor: GLfloat, units: GLfloat) | void |
530| renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) | void |
531| sampleCoverage(value: GLclampf, invert: GLboolean) | void |
532| scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
533| shaderSource(shader: WebGLShader, source: string) | void |
534| stencilFunc(func: GLenum, ref: GLint, mask: GLuint) | void |
535| stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) | void |
536| stencilMask(mask: GLuint) | void |
537| stencilMaskSeparate(face: GLenum, mask: GLuint) | void |
538| stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) | void |
539| stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) | void |
540| texParameterf(target: GLenum, pname: GLenum, param: GLfloat) | void |
541| texParameteri(target: GLenum, pname: GLenum, param: GLint) | void |
542| uniform1f(location: WebGLUniformLocation \| null, x: GLfloat) | void |
543| uniform2f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat) | void |
544| uniform3f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat) | void |
545| uniform4f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void |
546| uniform1i(location: WebGLUniformLocation \| null, x: GLint) | void |
547| uniform2i(location: WebGLUniformLocation \| null, x: GLint, y: GLint) | void |
548| uniform3i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint) | void |
549| uniform4i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint, w: GLint) | void |
550| useProgram(program: WebGLProgram \| null) | void |
551| validateProgram(program: WebGLProgram) | void |
552| vertexAttrib1f(index: GLuint, x: GLfloat) | void |
553| vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) | void |
554| vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) | void |
555| vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void |
556| vertexAttrib1fv(index: GLuint, values: Float32List) | void |
557| vertexAttrib2fv(index: GLuint, values: Float32List) | void |
558| vertexAttrib3fv(index: GLuint, values: Float32List) | void |
559| vertexAttrib4fv(index: GLuint, values: Float32List) | void |
560| vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) | void |
561| viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
562
563
564## WebGLRenderingContextOverloads
565
566WebGLRenderingContextOverloads
567
568  | Method| Return Value Type|
569| -------- | -------- |
570| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void |
571| bufferData(target: GLenum, data: BufferSource \| null, usage: GLenum) | void |
572| bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource) | void |
573| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) | void |
574| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) | void |
575| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
576| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
577| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
578| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
579| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
580| uniform1fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
581| uniform2fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
582| uniform3fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
583| uniform4fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
584| uniform1iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
585| uniform2iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
586| uniform3iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
587| uniform4iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
588| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void |
589| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void |
590| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void |
591