You need to sign in or sign up before continuing.
未验证 提交 37c4eda6 编写于 作者: O openharmony_ci 提交者: Gitee

!24155 master:webgl下线

Merge pull request !24155 from 葛亚芳/master
......@@ -229,9 +229,6 @@
- [@ohos.screen (屏幕)](js-apis-screen.md)
- [@ohos.screenshot (屏幕截图)](js-apis-screenshot.md)
- [@ohos.window (窗口)](js-apis-window.md)
- webgl
- [webgl (WebGL)](js-apis-webgl.md)
- [webgl2 (WebGL2)](js-apis-webgl2.md)
- 媒体
- [@ohos.app.ability.MediaControlExtensionAbility (播控扩展能力)](js-apis-app-ability-MediaControlExtensionAbility.md)
......
# WebGL
WebGL提供图形绘制的能力,包括对当前绘制图形的位置、颜色等进行处理。
WebGL标准图形API,对应OpenGL ES 2.0特性集。更多信息请参考[WebGL™标准](https://www.khronos.org/registry/webgl/specs/latest/1.0/)
> **说明:**
>
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> WebGL遵循OpenGL协议,不支持多线程调用。
>
> 目前该功能仅支持使用兼容JS的类Web开发范式开发。
## 调用方式
hml内创建canvas,示例如下:
```html
<!--xxx.hml-->
<div class="container">
<canvas ref="canvas1" style="width : 400px; height : 200px; background-color : lightyellow;"></canvas>
<button class="btn-button" onclick="BtnDraw2D">BtnDraw2D</button>
</div>
```
js内获取canvas实例,示例如下:
```js
// 获取canvas组件实例
const el = this.$refs.canvas1;
// 从canvas组件实例获取WebGL上下文
const gl = el.getContext('webgl');
// 调用WebGL API
gl.clearColor(0.0, 0.0, 0.0, 1.0);
```
## Type
**系统能力:** 以下各项对应的系统能力均为 SystemCapability.Graphic.Graphic2D.WebGL。
**表1** Type
| 名称 | 类型 |
| -------- | -------- |
| GLenum | number |
| GLboolean | boolean |
| GLbitfield | number |
| GLbyte | number |
| GLshort | number |
| GLint | number |
| GLsizei | number |
| GLintptr | number |
| GLsizeiptr | number |
| GLubyte | number |
| GLushort | number |
| GLuint | number |
| GLfloat | number |
| GLclampf | number |
| TexImageSource | ImageData |
| Float32List | array |
| Int32List | array |
| WebGLPowerPreference | string |
## Interface
**系统能力:** 以下各项对应的系统能力均为 SystemCapability.Graphic.Graphic2D.WebGL。
**表2** Interface
| 名称 |
| -------- |
| [WebGLContextAttributes](#webglcontextattributes) |
| WebGLBuffer |
| WebGLFrameBuffer |
| WebGLProgram |
| WebGLRenderbuffer |
| WebGLShader |
| WebGLTexture |
| WebGLUniformLocation |
| [WebGLActiveInfo](#webglactiveinfo) |
| [WebGLShaderPrecisionFormat](#webglshaderprecisionformat) |
| [WebGLRenderingContextBase](#webglrenderingcontextbase) |
| [WebGLRenderingContextOverloads](#webglrenderingcontextoverloads) |
## WebGLContextAttributes
WebGLContextAttributes
| 名称 | 参数类型 | 必填 |
| -------- | -------- | -------- |
| alpha | boolean | 否 |
| depth | boolean | 否 |
| stencil | boolean | 否 |
| antialias | boolean | 否 |
| premultipliedAlpha | boolean | 否 |
| preserveDrawingBuffer | boolean | 否 |
| powerPreference | WebGLPowerPreference | 否 |
| failIfMajorPerformanceCaveat | boolean | 否 |
| desynchronized | boolean | 否 |
## WebGLActiveInfo
WebGLActiveInfo
| 名称 | 参数类型 | 必填 |
| -------- | -------- | -------- |
| size | GLint | 是 |
| type | GLenum | 是 |
| name | string | 是 |
## WebGLShaderPrecisionFormat
WebGLShaderPrecisionFormat
| 名称 | 参数类型 | 必填 |
| -------- | -------- | -------- |
| rangeMin | GLint | 是 |
| rangeMax | GLint | 是 |
| precision | GLint | 是 |
## WebGLRenderingContextBase
WebGLRenderingContextBase
### 属性
| 名称 | 参数类型 | 必填 |
| -------- | -------- | -------- |
| DEPTH_BUFFER_BIT | GLenum | 是 |
| STENCIL_BUFFER_BIT | GLenum | 是 |
| COLOR_BUFFER_BIT | GLenum | 是 |
| POINTS | GLenum | 是 |
| LINES | GLenum | 是 |
| LINE_LOOP | GLenum | 是 |
| LINE_STRIP | GLenum | 是 |
| TRIANGLES | GLenum | 是 |
| TRIANGLE_STRIP | GLenum | 是 |
| TRIANGLE_FAN | GLenum | 是 |
| ZERO | GLenum | 是 |
| ONE | GLenum | 是 |
| SRC_COLOR | GLenum | 是 |
| ONE_MINUS_SRC_COLOR | GLenum | 是 |
| SRC_ALPHA | GLenum | 是 |
| ONE_MINUS_SRC_ALPHA | GLenum | 是 |
| DST_ALPHA | GLenum | 是 |
| ONE_MINUS_DST_ALPHA | GLenum | 是 |
| DST_COLOR | GLenum | 是 |
| ONE_MINUS_DST_COLOR | GLenum | 是 |
| SRC_ALPHA_SATURATE | GLenum | 是 |
| FUNC_ADD | GLenum | 是 |
| BLEND_EQUATION | GLenum | 是 |
| BLEND_EQUATION_RGB | GLenum | 是 |
| BLEND_EQUATION_ALPHA | GLenum | 是 |
| FUNC_SUBTRACT | GLenum | 是 |
| FUNC_REVERSE_SUBTRACT | GLenum | 是 |
| BLEND_DST_RGB | GLenum | 是 |
| BLEND_SRC_RGB | GLenum | 是 |
| BLEND_DST_ALPHA | GLenum | 是 |
| BLEND_SRC_ALPHA | GLenum | 是 |
| CONSTANT_COLOR | GLenum | 是 |
| ONE_MINUS_CONSTANT_COLOR | GLenum | 是 |
| CONSTANT_ALPHA | GLenum | 是 |
| ONE_MINUS_CONSTANT_ALPHA | GLenum | 是 |
| BLEND_COLOR | GLenum | 是 |
| ARRAY_BUFFER | GLenum | 是 |
| ELEMENT_ARRAY_BUFFER | GLenum | 是 |
| ARRAY_BUFFER_BINDING | GLenum | 是 |
| ELEMENT_ARRAY_BUFFER_BINDING | GLenum | 是 |
| STREAM_DRAW | GLenum | 是 |
| STATIC_DRAW | GLenum | 是 |
| DYNAMIC_DRAW | GLenum | 是 |
| BUFFER_SIZE | GLenum | 是 |
| BUFFER_USAGE | GLenum | 是 |
| CURRENT_VERTEX_ATTRIB | GLenum | 是 |
| FRONT | GLenum | 是 |
| BACK | GLenum | 是 |
| FRONT_AND_BACK | GLenum | 是 |
| CULL_FACE | GLenum | 是 |
| BLEND | GLenum | 是 |
| DITHER | GLenum | 是 |
| STENCIL_TEST | GLenum | 是 |
| DEPTH_TEST | GLenum | 是 |
| SCISSOR_TEST | GLenum | 是 |
| POLYGON_OFFSET_FILL | GLenum | 是 |
| SAMPLE_ALPHA_TO_COVERAGE | GLenum | 是 |
| SAMPLE_COVERAGE | GLenum | 是 |
| NO_ERROR | GLenum | 是 |
| INVALID_ENUM | GLenum | 是 |
| INVALID_VALUE | GLenum | 是 |
| INVALID_OPERATION | GLenum | 是 |
| OUT_OF_MEMORY | GLenum | 是 |
| CW | GLenum | 是 |
| CCW | GLenum | 是 |
| LINE_WIDTH | GLenum | 是 |
| ALIASED_POINT_SIZE_RANGE | GLenum | 是 |
| ALIASED_LINE_WIDTH_RANGE | GLenum | 是 |
| CULL_FACE_MODE | GLenum | 是 |
| FRONT_FACE | GLenum | 是 |
| DEPTH_RANGE | GLenum | 是 |
| DEPTH_WRITEMASK | GLenum | 是 |
| DEPTH_CLEAR_VALUE | GLenum | 是 |
| DEPTH_FUNC | GLenum | 是 |
| STENCIL_CLEAR_VALUE | GLenum | 是 |
| STENCIL_FUNC | GLenum | 是 |
| STENCIL_FAIL | GLenum | 是 |
| STENCIL_PASS_DEPTH_FAIL | GLenum | 是 |
| STENCIL_PASS_DEPTH_PASS | GLenum | 是 |
| STENCIL_REF | GLenum | 是 |
| STENCIL_VALUE_MASK | GLenum | 是 |
| STENCIL_WRITEMASK | GLenum | 是 |
| STENCIL_BACK_FUNC | GLenum | 是 |
| STENCIL_BACK_FAIL | GLenum | 是 |
| STENCIL_BACK_PASS_DEPTH_FAIL | GLenum | 是 |
| STENCIL_BACK_PASS_DEPTH_PASS | GLenum | 是 |
| STENCIL_BACK_REF | GLenum | 是 |
| STENCIL_BACK_VALUE_MASK | GLenum | 是 |
| STENCIL_BACK_WRITEMASK | GLenum | 是 |
| VIEWPORT | GLenum | 是 |
| SCISSOR_BOX | GLenum | 是 |
| COLOR_CLEAR_VALUE | GLenum | 是 |
| COLOR_WRITEMASK | GLenum | 是 |
| UNPACK_ALIGNMENT | GLenum | 是 |
| PACK_ALIGNMENT | GLenum | 是 |
| MAX_TEXTURE_SIZE | GLenum | 是 |
| MAX_VIEWPORT_DIMS | GLenum | 是 |
| SUBPIXEL_BITS | GLenum | 是 |
| RED_BITS | GLenum | 是 |
| GREEN_BITS | GLenum | 是 |
| BLUE_BITS | GLenum | 是 |
| ALPHA_BITS | GLenum | 是 |
| DEPTH_BITS | GLenum | 是 |
| STENCIL_BITS | GLenum | 是 |
| POLYGON_OFFSET_UNITS | GLenum | 是 |
| POLYGON_OFFSET_FACTOR | GLenum | 是 |
| TEXTURE_BINDING_2D | GLenum | 是 |
| SAMPLE_BUFFERS | GLenum | 是 |
| SAMPLES | GLenum | 是 |
| SAMPLE_COVERAGE_VALUE | GLenum | 是 |
| SAMPLE_COVERAGE_INVERT | GLenum | 是 |
| COMPRESSED_TEXTURE_FORMATS | GLenum | 是 |
| DONT_CARE | GLenum | 是 |
| FASTEST | GLenum | 是 |
| NICEST | GLenum | 是 |
| GENERATE_MIPMAP_HINT | GLenum | 是 |
| BYTE | GLenum | 是 |
| UNSIGNED_BYTE | GLenum | 是 |
| SHORT | GLenum | 是 |
| UNSIGNED_SHORT | GLenum | 是 |
| INT | GLenum | 是 |
| UNSIGNED_INT | GLenum | 是 |
| FLOAT | GLenum | 是 |
| DEPTH_COMPONENT | GLenum | 是 |
| ALPHA | GLenum | 是 |
| RGB | GLenum | 是 |
| RGBA | GLenum | 是 |
| LUMINANCE | GLenum | 是 |
| LUMINANCE_ALPHA | GLenum | 是 |
| UNSIGNED_SHORT_4_4_4_4 | GLenum | 是 |
| UNSIGNED_SHORT_5_5_5_1 | GLenum | 是 |
| UNSIGNED_SHORT_5_6_5 | GLenum | 是 |
| FRAGMENT_SHADER | GLenum | 是 |
| VERTEX_SHADER | GLenum | 是 |
| MAX_VERTEX_ATTRIBS | GLenum | 是 |
| MAX_VERTEX_UNIFORM_VECTORS | GLenum | 是 |
| MAX_VARYING_VECTORS | GLenum | 是 |
| MAX_COMBINED_TEXTURE_IMAGE_UNITS | GLenum | 是 |
| MAX_VERTEX_TEXTURE_IMAGE_UNITS | GLenum | 是 |
| MAX_TEXTURE_IMAGE_UNITS | GLenum | 是 |
| MAX_FRAGMENT_UNIFORM_VECTORS | GLenum | 是 |
| SHADER_TYPE | GLenum | 是 |
| DELETE_STATUS | GLenum | 是 |
| LINK_STATUS | GLenum | 是 |
| VALIDATE_STATUS | GLenum | 是 |
| ATTACHED_SHADERS | GLenum | 是 |
| ACTIVE_UNIFORMS | GLenum | 是 |
| ACTIVE_ATTRIBUTES | GLenum | 是 |
| SHADING_LANGUAGE_VERSION | GLenum | 是 |
| CURRENT_PROGRAM | GLenum | 是 |
| NEVER | GLenum | 是 |
| LESS | GLenum | 是 |
| EQUAL | GLenum | 是 |
| LEQUAL | GLenum | 是 |
| GREATER | GLenum | 是 |
| NOTEQUAL | GLenum | 是 |
| GEQUAL | GLenum | 是 |
| ALWAYS | GLenum | 是 |
| KEEP | GLenum | 是 |
| REPLACE | GLenum | 是 |
| INCR | GLenum | 是 |
| DECR | GLenum | 是 |
| INVERT | GLenum | 是 |
| INCR_WRAP | GLenum | 是 |
| DECR_WRAP | GLenum | 是 |
| VENDOR | GLenum | 是 |
| RENDERER | GLenum | 是 |
| VERSION | GLenum | 是 |
| NEAREST | GLenum | 是 |
| LINEAR | GLenum | 是 |
| NEAREST_MIPMAP_NEAREST | GLenum | 是 |
| LINEAR_MIPMAP_NEAREST | GLenum | 是 |
| NEAREST_MIPMAP_LINEAR | GLenum | 是 |
| LINEAR_MIPMAP_LINEAR | GLenum | 是 |
| TEXTURE_MIN_FILTER | GLenum | 是 |
| TEXTURE_WRAP_S | GLenum | 是 |
| TEXTURE_WRAP_T | GLenum | 是 |
| TEXTURE_2D | GLenum | 是 |
| TEXTURE | GLenum | 是 |
| TEXTURE_CUBE_MAP | GLenum | 是 |
| TEXTURE_BINDING_CUBE_MAP | GLenum | 是 |
| TEXTURE_CUBE_MAP_POSITIVE_X | GLenum | 是 |
| TEXTURE_CUBE_MAP_NEGATIVE_X | GLenum | 是 |
| TEXTURE_CUBE_MAP_POSITIVE_Y | GLenum | 是 |
| TEXTURE_CUBE_MAP_NEGATIVE_Y | GLenum | 是 |
| TEXTURE_CUBE_MAP_POSITIVE_Z | GLenum | 是 |
| TEXTURE_CUBE_MAP_NEGATIVE_Z | GLenum | 是 |
| MAX_CUBE_MAP_TEXTURE_SIZE | GLenum | 是 |
| TEXTURE0 | GLenum | 是 |
| TEXTURE1 | GLenum | 是 |
| TEXTURE2 | GLenum | 是 |
| TEXTURE3 | GLenum | 是 |
| TEXTURE4 | GLenum | 是 |
| TEXTURE5 | GLenum | 是 |
| TEXTURE6 | GLenum | 是 |
| TEXTURE7 | GLenum | 是 |
| TEXTURE8 | GLenum | 是 |
| TEXTURE9 | GLenum | 是 |
| TEXTURE10 | GLenum | 是 |
| TEXTURE11 | GLenum | 是 |
| TEXTURE12 | GLenum | 是 |
| TEXTURE13 | GLenum | 是 |
| TEXTURE14 | GLenum | 是 |
| TEXTURE15 | GLenum | 是 |
| TEXTURE16 | GLenum | 是 |
| TEXTURE17 | GLenum | 是 |
| TEXTURE18 | GLenum | 是 |
| TEXTURE19 | GLenum | 是 |
| TEXTURE20 | GLenum | 是 |
| TEXTURE21 | GLenum | 是 |
| TEXTURE22 | GLenum | 是 |
| TEXTURE23 | GLenum | 是 |
| TEXTURE24 | GLenum | 是 |
| TEXTURE25 | GLenum | 是 |
| TEXTURE26 | GLenum | 是 |
| TEXTURE27 | GLenum | 是 |
| TEXTURE28 | GLenum | 是 |
| TEXTURE29 | GLenum | 是 |
| TEXTURE30 | GLenum | 是 |
| TEXTURE31 | GLenum | 是 |
| ACTIVE_TEXTURE | GLenum | 是 |
| REPEAT | GLenum | 是 |
| CLAMP_TO_EDGE | GLenum | 是 |
| MIRRORED_REPEAT | GLenum | 是 |
| FLOAT_VEC2 | GLenum | 是 |
| FLOAT_VEC3 | GLenum | 是 |
| FLOAT_VEC4 | GLenum | 是 |
| INT_VEC2 | GLenum | 是 |
| INT_VEC3 | GLenum | 是 |
| INT_VEC4 | GLenum | 是 |
| BOOL | GLenum | 是 |
| BOOL_VEC2 | GLenum | 是 |
| BOOL_VEC3 | GLenum | 是 |
| BOOL_VEC4 | GLenum | 是 |
| FLOAT_MAT2 | GLenum | 是 |
| FLOAT_MAT3 | GLenum | 是 |
| FLOAT_MAT4 | GLenum | 是 |
| SAMPLER_2D | GLenum | 是 |
| SAMPLER_CUBE | GLenum | 是 |
| VERTEX_ATTRIB_ARRAY_ENABLED | GLenum | 是 |
| VERTEX_ATTRIB_ARRAY_SIZE | GLenum | 是 |
| VERTEX_ATTRIB_ARRAY_STRIDE | GLenum | 是 |
| VERTEX_ATTRIB_ARRAY_TYPE | GLenum | 是 |
| VERTEX_ATTRIB_ARRAY_NORMALIZED | GLenum | 是 |
| VERTEX_ATTRIB_ARRAY_POINTER | GLenum | 是 |
| VERTEX_ATTRIB_ARRAY_BUFFER_BINDING | GLenum | 是 |
| IMPLEMENTATION_COLOR_READ_TYPE | GLenum | 是 |
| IMPLEMENTATION_COLOR_READ_FORMAT | GLenum | 是 |
| COMPILE_STATUS | GLenum | 是 |
| LOW_FLOAT | GLenum | 是 |
| MEDIUM_FLOAT | GLenum | 是 |
| HIGH_FLOAT | GLenum | 是 |
| LOW_INT | GLenum | 是 |
| MEDIUM_INT | GLenum | 是 |
| HIGH_INT | GLenum | 是 |
| FRAMEBUFFER | GLenum | 是 |
| RENDERBUFFER | GLenum | 是 |
| RGBA4 | GLenum | 是 |
| RGB5_A1 | GLenum | 是 |
| RGB565 | GLenum | 是 |
| DEPTH_COMPONENT16 | GLenum | 是 |
| STENCIL_INDEX8 | GLenum | 是 |
| DEPTH_STENCIL | GLenum | 是 |
| RENDERBUFFER_WIDTH | GLenum | 是 |
| RENDERBUFFER_HEIGHT | GLenum | 是 |
| RENDERBUFFER_INTERNAL_FORMAT | GLenum | 是 |
| RENDERBUFFER_RED_SIZE | GLenum | 是 |
| RENDERBUFFER_GREEN_SIZE | GLenum | 是 |
| RENDERBUFFER_BLUE_SIZE | GLenum | 是 |
| RENDERBUFFER_ALPHA_SIZE | GLenum | 是 |
| RENDERBUFFER_DEPTH_SIZE | GLenum | 是 |
| RENDERBUFFER_STENCIL_SIZE | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE | GLenum | 是 |
| COLOR_ATTACHMENT0 | GLenum | 是 |
| DEPTH_ATTACHMENT | GLenum | 是 |
| STENCIL_ATTACHMENT | GLenum | 是 |
| DEPTH_STENCIL_ATTACHMENT | GLenum | 是 |
| NONE | GLenum | 是 |
| FRAMEBUFFER_COMPLETE | GLenum | 是 |
| FRAMEBUFFER_INCOMPLETE_ATTACHMENT | GLenum | 是 |
| FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT | GLenum | 是 |
| FRAMEBUFFER_INCOMPLETE_DIMENSIONS | GLenum | 是 |
| FRAMEBUFFER_UNSUPPORTED | GLenum | 是 |
| FRAMEBUFFER_BINDING | GLenum | 是 |
| RENDERBUFFER_BINDING | GLenum | 是 |
| MAX_RENDERBUFFER_SIZE | GLenum | 是 |
| INVALID_FRAMEBUFFER_OPERATION | GLenum | 是 |
| UNPACK_FLIP_Y_WEBGL | GLenum | 是 |
| UNPACK_PREMULTIPLY_ALPHA_WEBGL | GLenum | 是 |
| CONTEXT_LOST_WEBGL | GLenum | 是 |
| UNPACK_COLORSPACE_CONVERSION_WEBGL | GLenum | 是 |
| BROWSER_DEFAULT_WEBGL | GLenum | 是 |
| canvas | HTMLCanvasElement \| OffscreenCanvas | 是 |
| drawingBufferWidth | GLsizei | 是 |
| drawingBufferHeight | GLsizei | 是 |
### 方法
| 方法 | 返回值类型 |
| -------- | -------- |
| getContextAttributes() | WebGLContextAttributes \| null |
| isContextLost() | boolean |
| getSupportedExtensions() | string[] \| null |
| getExtension(name: string) | any |
| activeTexture(texture: GLenum) | void |
| attachShader(program: WebGLProgram, shader: WebGLShader) | void |
| bindAttribLocation(program: WebGLProgram, index: GLuint, name: string) | void |
| bindBuffer(target: GLenum, buffer: WebGLBuffer \| null) | void |
| bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer \| null) | void |
| bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void |
| bindTexture(target: GLenum, texture: WebGLTexture \| null) | void |
| blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void |
| blendEquation(mode: GLenum) | void |
| blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) | void |
| blendFunc(sfactor: GLenum, dfactor: GLenum) | void |
| blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) | void |
| checkFramebufferStatus(target: GLenum) | GLenum |
| clear(mask: GLbitfield) | void |
| clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) | void |
| clearDepth(depth: GLclampf) | void |
| clearStencil(s: GLint) | void |
| colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) | void |
| compileShader(shader: WebGLShader) | void |
| copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) | void |
| copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
| createBuffer() | WebGLBuffer \| null |
| createFramebuffer() | WebGLFramebuffer \| null |
| createProgram() | WebGLProgram \| null |
| createRenderbuffer() | WebGLRenderbuffer \| null |
| createShader(type: GLenum) | WebGLShader \| null |
| createTexture() | WebGLTexture \| null |
| cullFace(mode: GLenum) | void |
| deleteBuffer(buffer: WebGLBuffer \| null) | void |
| deleteFramebuffer(framebuffer: WebGLFramebuffer \| null) | void |
| deleteProgram(program: WebGLProgram \| null) | void |
| deleteRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | void |
| deleteShader(shader: WebGLShader \| null) | void |
| deleteTexture(texture: WebGLTexture \| null) | void |
| depthFunc(func: GLenum) | void |
| depthMask(flag: GLboolean) | void |
| depthRange(zNear: GLclampf, zFar: GLclampf) | void |
| detachShader(program: WebGLProgram, shader: WebGLShader) | void |
| disable(cap: GLenum) | void |
| disableVertexAttribArray(index: GLuint) | void |
| drawArrays(mode: GLenum, first: GLint, count: GLsizei) | void |
| drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) | void |
| enable(cap: GLenum) | void |
| enableVertexAttribArray(index: GLuint) | void |
| finish() | void |
| flush() | void |
| framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer \| null) | void |
| framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture \| null, level: GLint) | void |
| frontFace(mode: GLenum) | void |
| generateMipmap(target: GLenum) | void |
| getActiveAttrib(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null |
| getActiveUniform(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null |
| getAttachedShaders(program: WebGLProgram) | WebGLShader[] \| null |
| getAttribLocation(program: WebGLProgram, name: string) | GLint |
| getBufferParameter(target: GLenum, pname: GLenum) | any |
| getParameter(pname: GLenum) | any |
| getError() | GLenum |
| getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum) | any |
| getProgramParameter(program: WebGLProgram, pname: GLenum) | any |
| getProgramInfoLog(program: WebGLProgram) | string \| null |
| getRenderbufferParameter(target: GLenum, pname: GLenum) | any |
| getShaderParameter(shader: WebGLShader, pname: GLenum) | any |
| getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum) | WebGLShaderPrecisionFormat \| null |
| getShaderInfoLog(shader: WebGLShader) | string \| null |
| getShaderSource(shader: WebGLShader) | string \| null |
| getTexParameter(target: GLenum, pname: GLenum) | any |
| getUniform(program: WebGLProgram, location: WebGLUniformLocation) | any |
| getUniformLocation(program: WebGLProgram, name: string) | WebGLUniformLocation \| null |
| getVertexAttrib(index: GLuint, pname: GLenum) | any |
| getVertexAttribOffset(index: GLuint, pname: GLenum) | GLintptr |
| hint(target: GLenum, mode: GLenum) | void |
| isBuffer(buffer: WebGLBuffer \| null) | GLboolean |
| isEnabled(cap: GLenum) | GLboolean |
| isFramebuffer(framebuffer: WebGLFramebuffer \| null) | GLboolean |
| isProgram(program: WebGLProgram \| null) | GLboolean |
| isRenderbuffer(renderbuffer: WebGLRenderbuffer \| null) | GLboolean |
| isShader(shader: WebGLShader \| null) | GLboolean |
| isTexture(texture: WebGLTexture \| null) | GLboolean |
| lineWidth(width: GLfloat) | void |
| linkProgram(program: WebGLProgram) | void |
| pixelStorei(pname: GLenum, param: GLint \| GLboolean) | void |
| polygonOffset(factor: GLfloat, units: GLfloat) | void |
| renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) | void |
| sampleCoverage(value: GLclampf, invert: GLboolean) | void |
| scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
| shaderSource(shader: WebGLShader, source: string) | void |
| stencilFunc(func: GLenum, ref: GLint, mask: GLuint) | void |
| stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) | void |
| stencilMask(mask: GLuint) | void |
| stencilMaskSeparate(face: GLenum, mask: GLuint) | void |
| stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) | void |
| stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) | void |
| texParameterf(target: GLenum, pname: GLenum, param: GLfloat) | void |
| texParameteri(target: GLenum, pname: GLenum, param: GLint) | void |
| uniform1f(location: WebGLUniformLocation \| null, x: GLfloat) | void |
| uniform2f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat) | void |
| uniform3f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat) | void |
| uniform4f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void |
| uniform1i(location: WebGLUniformLocation \| null, x: GLint) | void |
| uniform2i(location: WebGLUniformLocation \| null, x: GLint, y: GLint) | void |
| uniform3i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint) | void |
| uniform4i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint, w: GLint) | void |
| useProgram(program: WebGLProgram \| null) | void |
| validateProgram(program: WebGLProgram) | void |
| vertexAttrib1f(index: GLuint, x: GLfloat) | void |
| vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) | void |
| vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) | void |
| vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) | void |
| vertexAttrib1fv(index: GLuint, values: Float32List) | void |
| vertexAttrib2fv(index: GLuint, values: Float32List) | void |
| vertexAttrib3fv(index: GLuint, values: Float32List) | void |
| vertexAttrib4fv(index: GLuint, values: Float32List) | void |
| vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) | void |
| viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
## WebGLRenderingContextOverloads
WebGLRenderingContextOverloads
| 方法 | 返回值类型 |
| -------- | -------- |
| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void |
| bufferData(target: GLenum, data: BufferSource \| null, usage: GLenum) | void |
| bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource) | void |
| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) | void |
| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) | void |
| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
| uniform1fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
| uniform2fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
| uniform3fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
| uniform4fv(location: WebGLUniformLocation \| null, v: Float32List) | void |
| uniform1iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
| uniform2iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
| uniform3iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
| uniform4iv(location: WebGLUniformLocation \| null, v: Int32List) | void |
| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void |
| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void |
| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List) | void |
# WebGL2
WebGL2支持图形的绘制,包括对当前绘制图形的位置、颜色等进行处理,其中相对WebGL来说对渲染管道和着色语言进行了增强。
WebGL标准图形API,对应OpenGL ES 3.0特性集。更多信息请参考[WebGL™标准](https://www.khronos.org/registry/webgl/specs/latest/2.0/)
> **说明:**
>
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> WebGL2遵循OpenGL协议,不支持多线程调用。
>
> 目前该功能仅支持使用兼容JS的类Web开发范式开发。
## 调用方式
hml内创建canvas,示例如下:
```html
<!--xxx.hml-->
<div class="container">
<canvas ref="canvas1" style="width : 400px; height : 200px; background-color : lightyellow;"></canvas>
<button class="btn-button" onclick="BtnDraw2D">BtnDraw2D</button>
</div>
```
js内获取canvas实例,示例如下:
```js
// 获取canvas组件实例
const el = this.$refs.canvas1;
// 从canvas组件实例获取WebGL上下文
const gl = el.getContext('webgl2');
// 调用WebGL API
gl.clearColor(0.0, 0.0, 0.0, 1.0);
```
## Type
**系统能力:** 以下各项对应的系统能力均为 SystemCapability.Graphic.Graphic2D.WebGL2。
**表1** Type
| 名称 | 类型 |
| -------- | -------- |
| GLenum | number |
| GLint64 | number |
| GLuint64 | number |
| Uint32List | array |
## Interface
**系统能力:** 以下各项对应的系统能力均为 SystemCapability.Graphic.Graphic2D.WebGL2。
**表2** Interface
| 名称 |
| -------- |
| [WebGL2RenderingContextBase](#webgl2renderingcontextbase) |
| [WebGL2RenderingContextOverloads](#webgl2renderingcontextoverloads) |
| WebGLQuery |
| WebGLSampler |
| WebGLSync |
| WebGLTransformFeedback |
| WebGLVertexArrayObject |
## WebGL2RenderingContextBase
WebGL2RenderingContextBase
### 属性
| 名称 | 参数类型 | 必填 |
| -------- | -------- | -------- |
| READ_BUFFER | GLenum | 是 |
| UNPACK_ROW_LENGTH | GLenum | 是 |
| UNPACK_SKIP_ROWS | GLenum | 是 |
| UNPACK_SKIP_PIXELS | GLenum | 是 |
| PACK_ROW_LENGTH | GLenum | 是 |
| PACK_SKIP_ROWS | GLenum | 是 |
| PACK_SKIP_PIXELS | GLenum | 是 |
| COLOR | GLenum | 是 |
| DEPTH | GLenum | 是 |
| STENCIL | GLenum | 是 |
| RED | GLenum | 是 |
| RGB8 | GLenum | 是 |
| RGBA8 | GLenum | 是 |
| RGB10_A2 | GLenum | 是 |
| TEXTURE_BINDING_3D | GLenum | 是 |
| UNPACK_SKIP_IMAGES | GLenum | 是 |
| UNPACK_IMAGE_HEIGHT | GLenum | 是 |
| TEXTURE_3D | GLenum | 是 |
| TEXTURE_WRAP_R | GLenum | 是 |
| MAX_3D_TEXTURE_SIZE | GLenum | 是 |
| UNSIGNED_INT_2_10_10_10_REV | GLenum | 是 |
| MAX_ELEMENTS_VERTICES | GLenum | 是 |
| MAX_ELEMENTS_INDICES | GLenum | 是 |
| TEXTURE_MIN_LOD | GLenum | 是 |
| TEXTURE_MAX_LOD | GLenum | 是 |
| TEXTURE_BASE_LEVEL | GLenum | 是 |
| TEXTURE_MAX_LEVEL | GLenum | 是 |
| MIN | GLenum | 是 |
| MAX | GLenum | 是 |
| DEPTH_COMPONENT24 | GLenum | 是 |
| MAX_TEXTURE_LOD_BIAS | GLenum | 是 |
| TEXTURE_COMPARE_MODE | GLenum | 是 |
| TEXTURE_COMPARE_FUNC | GLenum | 是 |
| CURRENT_QUERY | GLenum | 是 |
| QUERY_RESULT | GLenum | 是 |
| QUERY_RESULT_AVAILABLE | GLenum | 是 |
| STREAM_READ | GLenum | 是 |
| STREAM_COPY | GLenum | 是 |
| STATIC_READ | GLenum | 是 |
| STATIC_COPY | GLenum | 是 |
| DYNAMIC_READ | GLenum | 是 |
| DYNAMIC_COPY | GLenum | 是 |
| MAX_DRAW_BUFFERS | GLenum | 是 |
| DRAW_BUFFER0 | GLenum | 是 |
| DRAW_BUFFER1 | GLenum | 是 |
| DRAW_BUFFER2 | GLenum | 是 |
| DRAW_BUFFER3 | GLenum | 是 |
| DRAW_BUFFER4 | GLenum | 是 |
| DRAW_BUFFER5 | GLenum | 是 |
| DRAW_BUFFER6 | GLenum | 是 |
| DRAW_BUFFER7 | GLenum | 是 |
| DRAW_BUFFER8 | GLenum | 是 |
| DRAW_BUFFER9 | GLenum | 是 |
| DRAW_BUFFER10 | GLenum | 是 |
| DRAW_BUFFER11 | GLenum | 是 |
| DRAW_BUFFER12 | GLenum | 是 |
| DRAW_BUFFER13 | GLenum | 是 |
| DRAW_BUFFER14 | GLenum | 是 |
| DRAW_BUFFER15 | GLenum | 是 |
| MAX_FRAGMENT_UNIFORM_COMPONENTS | GLenum | 是 |
| MAX_VERTEX_UNIFORM_COMPONENTS | GLenum | 是 |
| SAMPLER_3D | GLenum | 是 |
| SAMPLER_2D_SHADOW | GLenum | 是 |
| FRAGMENT_SHADER_DERIVATIVE_HINT | GLenum | 是 |
| PIXEL_PACK_BUFFER | GLenum | 是 |
| PIXEL_UNPACK_BUFFER | GLenum | 是 |
| PIXEL_PACK_BUFFER_BINDING | GLenum | 是 |
| PIXEL_UNPACK_BUFFER_BINDING | GLenum | 是 |
| FLOAT_MAT2x3 | GLenum | 是 |
| FLOAT_MAT2x4 | GLenum | 是 |
| FLOAT_MAT3x2 | GLenum | 是 |
| FLOAT_MAT3x4 | GLenum | 是 |
| FLOAT_MAT4x2 | GLenum | 是 |
| FLOAT_MAT4x3 | GLenum | 是 |
| SRGB | GLenum | 是 |
| SRGB8 | GLenum | 是 |
| SRGB8_ALPHA8 | GLenum | 是 |
| COMPARE_REF_TO_TEXTURE | GLenum | 是 |
| RGBA32F | GLenum | 是 |
| RGB32F | GLenum | 是 |
| RGBA16F | GLenum | 是 |
| RGB16F | GLenum | 是 |
| VERTEX_ATTRIB_ARRAY_INTEGER | GLenum | 是 |
| MAX_ARRAY_TEXTURE_LAYERS | GLenum | 是 |
| MIN_PROGRAM_TEXEL_OFFSET | GLenum | 是 |
| MAX_PROGRAM_TEXEL_OFFSET | GLenum | 是 |
| MAX_VARYING_COMPONENTS | GLenum | 是 |
| TEXTURE_2D_ARRAY | GLenum | 是 |
| TEXTURE_BINDING_2D_ARRAY | GLenum | 是 |
| R11F_G11F_B10F | GLenum | 是 |
| UNSIGNED_INT_10F_11F_11F_REV | GLenum | 是 |
| RGB9_E5 | GLenum | 是 |
| UNSIGNED_INT_5_9_9_9_REV | GLenum | 是 |
| TRANSFORM_FEEDBACK_BUFFER_MODE | GLenum | 是 |
| MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS | GLenum | 是 |
| TRANSFORM_FEEDBACK_VARYINGS | GLenum | 是 |
| TRANSFORM_FEEDBACK_BUFFER_START | GLenum | 是 |
| TRANSFORM_FEEDBACK_BUFFER_SIZE | GLenum | 是 |
| TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN | GLenum | 是 |
| RASTERIZER_DISCARD | GLenum | 是 |
| MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS | GLenum | 是 |
| MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS | GLenum | 是 |
| INTERLEAVED_ATTRIBS | GLenum | 是 |
| SEPARATE_ATTRIBS | GLenum | 是 |
| TRANSFORM_FEEDBACK_BUFFER | GLenum | 是 |
| TRANSFORM_FEEDBACK_BUFFER_BINDING | GLenum | 是 |
| RGBA32UI | GLenum | 是 |
| RGB32UI | GLenum | 是 |
| RGBA16UI | GLenum | 是 |
| RGB16UI | GLenum | 是 |
| RGBA8UI | GLenum | 是 |
| RGB8UI | GLenum | 是 |
| RGBA32I | GLenum | 是 |
| RGB32I | GLenum | 是 |
| RGBA16I | GLenum | 是 |
| RGB16I | GLenum | 是 |
| RGBA8I | GLenum | 是 |
| RGB8I | GLenum | 是 |
| RED_INTEGER | GLenum | 是 |
| RGB_INTEGER | GLenum | 是 |
| RGBA_INTEGER | GLenum | 是 |
| SAMPLER_2D_ARRAY | GLenum | 是 |
| SAMPLER_2D_ARRAY_SHADOW | GLenum | 是 |
| SAMPLER_CUBE_SHADOW | GLenum | 是 |
| UNSIGNED_INT_VEC2 | GLenum | 是 |
| UNSIGNED_INT_VEC3 | GLenum | 是 |
| UNSIGNED_INT_VEC4 | GLenum | 是 |
| INT_SAMPLER_2D | GLenum | 是 |
| INT_SAMPLER_3D | GLenum | 是 |
| INT_SAMPLER_CUBE | GLenum | 是 |
| INT_SAMPLER_2D_ARRAY | GLenum | 是 |
| UNSIGNED_INT_SAMPLER_2D | GLenum | 是 |
| UNSIGNED_INT_SAMPLER_3D | GLenum | 是 |
| UNSIGNED_INT_SAMPLER_CUBE | GLenum | 是 |
| UNSIGNED_INT_SAMPLER_2D_ARRAY | GLenum | 是 |
| DEPTH_COMPONENT32F | GLenum | 是 |
| DEPTH32F_STENCIL8 | GLenum | 是 |
| FLOAT_32_UNSIGNED_INT_24_8_REV | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_RED_SIZE | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_GREEN_SIZE | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_BLUE_SIZE | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE | GLenum | 是 |
| FRAMEBUFFER_DEFAULT | GLenum | 是 |
| UNSIGNED_INT_24_8 | GLenum | 是 |
| DEPTH24_STENCIL8 | GLenum | 是 |
| UNSIGNED_NORMALIZED | GLenum | 是 |
| DRAW_FRAMEBUFFER_BINDING | GLenum | 是 |
| READ_FRAMEBUFFER | GLenum | 是 |
| DRAW_FRAMEBUFFER | GLenum | 是 |
| READ_FRAMEBUFFER_BINDING | GLenum | 是 |
| RENDERBUFFER_SAMPLES | GLenum | 是 |
| FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER | GLenum | 是 |
| MAX_COLOR_ATTACHMENTS | GLenum | 是 |
| COLOR_ATTACHMENT1 | GLenum | 是 |
| COLOR_ATTACHMENT2 | GLenum | 是 |
| COLOR_ATTACHMENT3 | GLenum | 是 |
| COLOR_ATTACHMENT4 | GLenum | 是 |
| COLOR_ATTACHMENT5 | GLenum | 是 |
| COLOR_ATTACHMENT6 | GLenum | 是 |
| COLOR_ATTACHMENT7 | GLenum | 是 |
| COLOR_ATTACHMENT8 | GLenum | 是 |
| COLOR_ATTACHMENT9 | GLenum | 是 |
| COLOR_ATTACHMENT10 | GLenum | 是 |
| COLOR_ATTACHMENT11 | GLenum | 是 |
| COLOR_ATTACHMENT12 | GLenum | 是 |
| COLOR_ATTACHMENT13 | GLenum | 是 |
| COLOR_ATTACHMENT14 | GLenum | 是 |
| COLOR_ATTACHMENT15 | GLenum | 是 |
| FRAMEBUFFER_INCOMPLETE_MULTISAMPLE | GLenum | 是 |
| MAX_SAMPLES | GLenum | 是 |
| HALF_FLOAT | GLenum | 是 |
| RG | GLenum | 是 |
| RG_INTEGER | GLenum | 是 |
| R8 | GLenum | 是 |
| RG8 | GLenum | 是 |
| R16F | GLenum | 是 |
| R32F | GLenum | 是 |
| RG16F | GLenum | 是 |
| RG32F | GLenum | 是 |
| R8I | GLenum | 是 |
| R8UI | GLenum | 是 |
| R16I | GLenum | 是 |
| R16UI | GLenum | 是 |
| R32I | GLenum | 是 |
| R32UI | GLenum | 是 |
| RG8I | GLenum | 是 |
| RG8UI | GLenum | 是 |
| RG16I | GLenum | 是 |
| RG16UI | GLenum | 是 |
| RG32I | GLenum | 是 |
| RG32UI | GLenum | 是 |
| VERTEX_ARRAY_BINDING | GLenum | 是 |
| R8_SNORM | GLenum | 是 |
| RG8_SNORM | GLenum | 是 |
| RGB8_SNORM | GLenum | 是 |
| SIGNED_NORMALIZED | GLenum | 是 |
| COPY_READ_BUFFER | GLenum | 是 |
| COPY_WRITE_BUFFER | GLenum | 是 |
| COPY_READ_BUFFER_BINDING | GLenum | 是 |
| COPY_WRITE_BUFFER_BINDING | GLenum | 是 |
| UNIFORM_BUFFER | GLenum | 是 |
| UNIFORM_BUFFER_BINDING | GLenum | 是 |
| UNIFORM_BUFFER_START | GLenum | 是 |
| UNIFORM_BUFFER_SIZE | GLenum | 是 |
| MAX_VERTEX_UNIFORM_BLOCKS | GLenum | 是 |
| MAX_FRAGMENT_UNIFORM_BLOCKS | GLenum | 是 |
| MAX_COMBINED_UNIFORM_BLOCKS | GLenum | 是 |
| MAX_UNIFORM_BUFFER_BINDINGS | GLenum | 是 |
| MAX_UNIFORM_BLOCK_SIZE | GLenum | 是 |
| MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS | GLenum | 是 |
| MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS | GLenum | 是 |
| UNIFORM_BUFFER_OFFSET_ALIGNMENT | GLenum | 是 |
| ACTIVE_UNIFORM_BLOCKS | GLenum | 是 |
| UNIFORM_TYPE | GLenum | 是 |
| UNIFORM_SIZE | GLenum | 是 |
| UNIFORM_BLOCK_INDEX | GLenum | 是 |
| UNIFORM_OFFSET | GLenum | 是 |
| UNIFORM_ARRAY_STRIDE | GLenum | 是 |
| UNIFORM_MATRIX_STRIDE | GLenum | 是 |
| UNIFORM_IS_ROW_MAJOR | GLenum | 是 |
| UNIFORM_BLOCK_BINDING | GLenum | 是 |
| UNIFORM_BLOCK_DATA_SIZE | GLenum | 是 |
| UNIFORM_BLOCK_ACTIVE_UNIFORMS | GLenum | 是 |
| UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES | GLenum | 是 |
| UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER | GLenum | 是 |
| UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER | GLenum | 是 |
| INVALID_INDEX | GLenum | 是 |
| MAX_VERTEX_OUTPUT_COMPONENTS | GLenum | 是 |
| MAX_FRAGMENT_INPUT_COMPONENTS | GLenum | 是 |
| MAX_SERVER_WAIT_TIMEOUT | GLenum | 是 |
| OBJECT_TYPE | GLenum | 是 |
| SYNC_CONDITION | GLenum | 是 |
| SYNC_STATUS | GLenum | 是 |
| SYNC_FLAGS | GLenum | 是 |
| SYNC_FENCE | GLenum | 是 |
| SYNC_GPU_COMMANDS_COMPLETE | GLenum | 是 |
| UNSIGNALED | GLenum | 是 |
| SIGNALED | GLenum | 是 |
| ALREADY_SIGNALED | GLenum | 是 |
| TIMEOUT_EXPIRED | GLenum | 是 |
| CONDITION_SATISFIED | GLenum | 是 |
| WAIT_FAILED | GLenum | 是 |
| SYNC_FLUSH_COMMANDS_BIT | GLenum | 是 |
| VERTEX_ATTRIB_ARRAY_DIVISOR | GLenum | 是 |
| ANY_SAMPLES_PASSED | GLenum | 是 |
| ANY_SAMPLES_PASSED_CONSERVATIVE | GLenum | 是 |
| SAMPLER_BINDING | GLenum | 是 |
| RGB10_A2UI | GLenum | 是 |
| INT_2_10_10_10_REV | GLenum | 是 |
| TRANSFORM_FEEDBACK | GLenum | 是 |
| TRANSFORM_FEEDBACK_PAUSED | GLenum | 是 |
| TRANSFORM_FEEDBACK_ACTIVE | GLenum | 是 |
| TRANSFORM_FEEDBACK_BINDING | GLenum | 是 |
| TEXTURE_IMMUTABLE_FORMAT | GLenum | 是 |
| MAX_ELEMENT_INDEX | GLenum | 是 |
| TEXTURE_IMMUTABLE_LEVELS | GLenum | 是 |
| TIMEOUT_IGNORED | GLint64 | 是 |
| MAX_CLIENT_WAIT_TIMEOUT_WEBGL | GLenum | 是 |
### 方法
| 方法 | 返回值类型 |
| -------- | -------- |
| copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) | void |
| getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: GLuint, length?: GLuint) | void |
| blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum) | void |
| framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture \| null, level: GLint, layer: GLint) | void |
| invalidateFramebuffer(target: GLenum, attachments: GLenum[]) | void |
| invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
| readBuffer(src: GLenum) | void |
| getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum) | any |
| renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void |
| texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) | void |
| texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei) | void |
| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void |
| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null) | void |
| texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void |
| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void |
| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void |
| texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null, srcOffset?: GLuint) | void |
| copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) | void |
| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void |
| compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void |
| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void |
| compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void |
| getFragDataLocation(program: WebGLProgram, name: string) | GLint |
| uniform1ui(location: WebGLUniformLocation \| null, v0: GLuint) | void |
| uniform2ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint) | void |
| uniform3ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint) | void |
| uniform4ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) | void |
| uniform1uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform2uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform3uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform4uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniformMatrix3x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniformMatrix4x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniformMatrix2x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniformMatrix4x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniformMatrix2x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniformMatrix3x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) | void |
| vertexAttribI4iv(index: GLuint, values: Int32List) | void |
| vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) | void |
| vertexAttribI4uiv(index: GLuint, values: Uint32List) | void |
| vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr) | void |
| vertexAttribDivisor(index: GLuint, divisor: GLuint) | void |
| drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) | void |
| drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei) | void |
| drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr) | void |
| drawBuffers(buffers: GLenum[]) | void |
| clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: GLuint) | void |
| clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: GLuint) | void |
| clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint) | void |
| clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) | void |
| createQuery() | WebGLQuery \| null |
| deleteQuery(query: WebGLQuery \| null) | void |
| isQuery(query: WebGLQuery \| null) | GLboolean |
| beginQuery(target: GLenum, query: WebGLQuery) | void |
| endQuery(target: GLenum) | void |
| getQuery(target: GLenum, pname: GLenum) | WebGLQuery \| null |
| getQueryParameter(query: WebGLQuery, pname: GLenum) | any |
| createSampler() | WebGLSampler \| null |
| deleteSampler(sampler: WebGLSampler \| null) | void |
| isSampler(sampler: WebGLSampler \| null) | GLboolean |
| bindSampler(unit: GLuint, sampler: WebGLSampler \| null) | void |
| samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint) | void |
| samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat) | void; |
| getSamplerParameter(sampler: WebGLSampler, pname: GLenum) | any |
| fenceSync(condition: GLenum, flags: GLbitfield) | WebGLSync \| null |
| isSync(sync: WebGLSync \| null) | GLboolean |
| deleteSync(sync: WebGLSync \| null) | void |
| clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64) | GLenum |
| waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64) | void |
| getSyncParameter(sync: WebGLSync, pname: GLenum) | any |
| createTransformFeedback() | WebGLTransformFeedback \| null |
| deleteTransformFeedback(tf: WebGLTransformFeedback \| null) | void |
| isTransformFeedback(tf: WebGLTransformFeedback \| null) | GLboolean |
| bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback \| null) | void |
| beginTransformFeedback(primitiveMode: GLenum) | void |
| endTransformFeedback() | void |
| transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum) | void |
| getTransformFeedbackVarying(program: WebGLProgram, index: GLuint) | WebGLActiveInfo \| null |
| pauseTransformFeedback() | void |
| resumeTransformFeedback() | void |
| bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null) | void |
| bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null, offset: GLintptr, size: GLsizeiptr) | void |
| getIndexedParameter(target: GLenum, index: GLuint) | any |
| getUniformIndices(program: WebGLProgram, uniformNames: string[]) | GLuint[] \| null |
| getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum) | any |
| getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string) | GLuint |
| getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum) | any |
| getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint) | string \| null |
| uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) | void |
| createVertexArray() | WebGLVertexArrayObject \| null |
| deleteVertexArray(vertexArray: WebGLVertexArrayObject \| null) | void |
| isVertexArray(vertexArray: WebGLVertexArrayObject \| null) | GLboolean |
| bindVertexArray(array: WebGLVertexArrayObject \| null) | void |
## WebGL2RenderingContextOverloads
WebGL2RenderingContextOverloads
| 方法 | 返回值类型 |
| -------- | -------- |
| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void |
| bufferData(target: GLenum, srcData: BufferSource \| null, usage: GLenum) | void |
| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: BufferSource) | void |
| bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length?: GLuint) | void |
| bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint) | void |
| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
| texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null) | void |
| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) | void |
| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource) | void |
| texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void |
| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) | void |
| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource) | void |
| texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) | void |
| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) | void |
| compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void |
| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) | void |
| compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint) | void |
| uniform1fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform2fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform3fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform4fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform1iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform2iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform3iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniform4iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) | void |
| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView \| null) | void |
| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr) | void |
| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint) | void |
......@@ -739,7 +739,6 @@
- [anm工具](tools/anm-tool.md)
- [restool工具](tools/restool.md)
- [LLDB调试器使用指导](tools/lldb-tool.md)
- [suap工具](tools/suap-tool.md)
- 示例教程
- [开发案例](https://gitee.com/openharmony/docs/blob/master/zh-cn/third-party-cases/Readme-CN.md)
- [示例代码](https://gitee.com/openharmony/applications_app_samples/blob/master/README_zh.md)
......@@ -972,9 +971,6 @@
- [@ohos.screen (屏幕)](reference/apis/js-apis-screen.md)
- [@ohos.screenshot (屏幕截图)](reference/apis/js-apis-screenshot.md)
- [@ohos.window (窗口)](reference/apis/js-apis-window.md)
- webgl
- [webgl (WebGL)](reference/apis/js-apis-webgl.md)
- [webgl2 (WebGL2)](reference/apis/js-apis-webgl2.md)
- 媒体
- [@ohos.app.ability.MediaControlExtensionAbility (播控扩展能力)](reference/apis/js-apis-app-ability-MediaControlExtensionAbility.md)
- [@ohos.multimedia.audio (音频管理)](reference/apis/js-apis-audio.md)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册