WebGL2
WebGL2支持圖形的繪制,包括對當前繪制圖形的位置、顏色等進行處理,其中相對WebGL來說對渲染管道和著色語言進行了增強。
WebGL標準圖形API,對應OpenGL ES 3.0特性集。
說明:
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
本模塊首批接口從API version 7開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。
調用方式
hml內創建canvas,示例如下:
< !--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實例,示例如下:
// 獲取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] |
| [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) |
| 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) |
| 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) |
| 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) |
| uniform2ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint) |
| uniform3ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint) |
| uniform4ui(location: WebGLUniformLocation | null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) |
| uniform1uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniform2uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniform3uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniform4uiv(location: WebGLUniformLocation | null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| 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 |
| deleteQuery(query: WebGLQuery | null) |
| isQuery(query: WebGLQuery | null) |
| beginQuery(target: GLenum, query: WebGLQuery) | void |
| endQuery(target: GLenum) | void |
| getQuery(target: GLenum, pname: GLenum) | WebGLQuery |
| getQueryParameter(query: WebGLQuery, pname: GLenum) | any |
| createSampler() | WebGLSampler |
| deleteSampler(sampler: WebGLSampler | null) |
| isSampler(sampler: WebGLSampler | null) |
| bindSampler(unit: GLuint, sampler: WebGLSampler | null) |
| 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 |
| isSync(sync: WebGLSync | null) |
| deleteSync(sync: WebGLSync | null) |
| clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64) | GLenum |
| waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64) | void |
| getSyncParameter(sync: WebGLSync, pname: GLenum) | any |
| createTransformFeedback() | WebGLTransformFeedback |
| deleteTransformFeedback(tf: WebGLTransformFeedback | null) |
| isTransformFeedback(tf: WebGLTransformFeedback | null) |
| bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback | null) |
| beginTransformFeedback(primitiveMode: GLenum) | void |
| endTransformFeedback() | void |
| transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum) | void |
| getTransformFeedbackVarying(program: WebGLProgram, index: GLuint) | WebGLActiveInfo |
| pauseTransformFeedback() | void |
| resumeTransformFeedback() | void |
| bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer | null) |
| bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer | null, offset: GLintptr, size: GLsizeiptr) |
| getIndexedParameter(target: GLenum, index: GLuint) | any |
| getUniformIndices(program: WebGLProgram, uniformNames: string[]) | GLuint[] |
| 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 |
| uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) | void |
| createVertexArray() | WebGLVertexArrayObject |
| deleteVertexArray(vertexArray: WebGLVertexArrayObject | null) |
| isVertexArray(vertexArray: WebGLVertexArrayObject | null) |
| bindVertexArray(array: WebGLVertexArrayObject | null) |
WebGL2RenderingContextOverloads
WebGL2RenderingContextOverloads

方法HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 | 返回值類型 |
|---|---|
| bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) | void |
| bufferData(target: GLenum, srcData: BufferSource | null, usage: GLenum) |
| 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) |
| 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) |
| 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) |
| uniform2fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniform3fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniform4fv(location: WebGLUniformLocation | null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniform1iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniform2iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniform3iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniform4iv(location: WebGLUniformLocation | null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint) |
| readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView | null) |
| 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 |
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
接口
+關注
關注
33文章
9520瀏覽量
157027 -
圖形圖像
+關注
關注
0文章
6瀏覽量
1077 -
鴻蒙
+關注
關注
60文章
2963瀏覽量
45894
發布評論請先 登錄
相關推薦
熱點推薦
深入淺出,帶你了解Qualcomm的圖形圖像優化之道
用戶的青睞,為此在2017年8月Qualcomm在深圳、北京、上海舉行了三場“探索移動圖形圖像處理——Qualcomm開發者公開課”,全面向開發者介紹深層次的移動端圖形圖像的優化之道!
發表于 09-07 13:47
?8041次閱讀
鴻蒙開發【WebGL】簡單了解
WebGL的全稱為Web Graphic Library(網頁圖形庫),主要用于交互式渲染2D圖形和3D圖形。目前HarmonyOS中使用的
發表于 02-25 21:56
鴻蒙原生應用元服務開發-WebGL網頁圖形庫開發概述
。
JavaScript engine為圖形框架,為WebGL模塊提供繪制對象Surface。
WebGL模塊對外暴露OpenGL ES的GPU繪制接口。
中間
發表于 03-08 14:24
鴻蒙原生應用元服務開發-WebGL網頁圖形庫開發接口說明
一、場景介紹
WebGL主要幫助開發者在前端開發中完成圖形圖像的相關處理,比如繪制彩色圖形等。目前該功能僅支持使用兼容JS的類Web
發表于 03-11 15:51
圖形圖像處理技術大會搶座中
圖形圖像處理技術大會搶座中全球頂級專家和企業參與。中國電子學會繼云計算大會、物聯網大會、傳感器大會后又一年度盛會。技術交流、方案展示、產品發布---期待您的參與。
發表于 09-16 14:14
北京將召開圖形圖像技術應用交流大會 2013年11月將在北京...
北京將召開圖形圖像技術應用交流大會 2013年11月將在北京舉行圖形圖像技術應用大會,大會將邀請國內圖像圖形處理技術領域的著名專家,就圖形圖像處理技術的應用和最新動態特邀報告。敬請關注
發表于 09-17 15:02
北京將召開圖形圖像技術應用交流大會 2013年11月將在北京...
北京將召開圖形圖像技術應用交流大會2013年11月將在北京舉行圖形圖像技術應用大會,大會將邀請國內圖像圖形處理技術領域的著名專家,就圖形圖像處理技術的應用和最新動態特邀報告。敬請關注中
發表于 09-17 15:06
計算機圖形圖像處理最新應用分析
計算機圖形圖像處理最新應用分析 圖形圖像處理是研究計算機除了圖形圖像的原理、方法和技術的科學。它是計算機科學和應用的重要分支之一,同時隨著計算機技術的發展,圖形圖像技術在土木工程、機械
發表于 09-23 14:56
主要做圖形圖像處理,求助板子選擇!
各位前輩大家好!我主要是做C/C++項目開發的,最近項目需要用到FPGA板子來做圖形圖像處理,困于自己對FPGA還不了解,特來求助大家啊!{:1:}我想要實現的功能是讀取SD卡中的視頻然后將視頻里面
發表于 03-30 20:19
鴻蒙開發圖形圖像——@ohos.effectKit (圖像效果)
圖像效果提供處理圖像的一些基礎能力,包括對當前圖像的亮度調節、模糊化、灰度調節、智能取色等。 該模塊提供以下圖像效果相關的常用功能: Filter:效果類,用于添加指定效果到
鴻蒙開發接口圖形圖像:【WebGL2】
評論