codecamp

图形的绘制

WebGL2支持图形的绘制,包括对当前绘制图形的位置、颜色等进行处理,其中相对WebGL来说对渲染管道和着色语言进行了增强。

WebGL标准图形API,对应OpenGL ES 3.0特性集。更多信息请参考WebGL™标准。

说明

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

WebGL2遵循OpenGL协议,不支持多线程调用。

目前该功能仅支持使用兼容JS的类Web开发范式开发。

调用方式

hml内创建canvas,示例如下:

  1. <!--xxx.hml-->
  2. <div class="container">
  3. <canvas ref="canvas1" style="width : 400px; height : 200px; background-color : lightyellow;"></canvas>
  4. <button class="btn-button" onclick="BtnDraw2D">BtnDraw2D</button>
  5. </div>

js内获取canvas实例,示例如下:

  1. // 获取canvas组件实例
  2. const el = this.$refs.canvas1;
  3. // 从canvas组件实例获取WebGL上下文
  4. const gl = el.getContext('webgl2');
  5. // 调用WebGL API
  6. gl.clearColor(0.0, 0.0, 0.0, 1.0);

Type

系统能力: 以下各项对应的系统能力均为 SystemCapability.Graphic.Graphic2D.WebGL2。

表1 Type

名称类型
GLenumnumber
GLint64number
GLuint64number
Uint32Listarray

Interface

系统能力: 以下各项对应的系统能力均为 SystemCapability.Graphic.Graphic2D.WebGL2。

表2 Interface

名称
WebGL2RenderingContextBase
WebGL2RenderingContextOverloads
WebGLQuery
WebGLSampler
WebGLSync
WebGLTransformFeedback
WebGLVertexArrayObject

WebGL2RenderingContextBase

WebGL2RenderingContextBase

属性

名称参数类型必填
READ_BUFFERGLenum是
UNPACK_ROW_LENGTHGLenum是
UNPACK_SKIP_ROWSGLenum是
UNPACK_SKIP_PIXELSGLenum是
PACK_ROW_LENGTHGLenum是
PACK_SKIP_ROWSGLenum是
PACK_SKIP_PIXELSGLenum是
COLORGLenum是
DEPTHGLenum是
STENCILGLenum是
REDGLenum是
RGB8GLenum是
RGBA8GLenum是
RGB10_A2GLenum是
TEXTURE_BINDING_3DGLenum是
UNPACK_SKIP_IMAGESGLenum是
UNPACK_IMAGE_HEIGHTGLenum是
TEXTURE_3DGLenum是
TEXTURE_WRAP_RGLenum是
MAX_3D_TEXTURE_SIZEGLenum是
UNSIGNED_INT_2_10_10_10_REVGLenum是
MAX_ELEMENTS_VERTICESGLenum是
MAX_ELEMENTS_INDICESGLenum是
TEXTURE_MIN_LODGLenum是
TEXTURE_MAX_LODGLenum是
TEXTURE_BASE_LEVELGLenum是
TEXTURE_MAX_LEVELGLenum是
MINGLenum是
MAXGLenum是
DEPTH_COMPONENT24GLenum是
MAX_TEXTURE_LOD_BIASGLenum是
TEXTURE_COMPARE_MODEGLenum是
TEXTURE_COMPARE_FUNCGLenum是
CURRENT_QUERYGLenum是
QUERY_RESULTGLenum是
QUERY_RESULT_AVAILABLEGLenum是
STREAM_READGLenum是
STREAM_COPYGLenum是
STATIC_READGLenum是
STATIC_COPYGLenum是
DYNAMIC_READGLenum是
DYNAMIC_COPYGLenum是
MAX_DRAW_BUFFERSGLenum是
DRAW_BUFFER0GLenum是
DRAW_BUFFER1GLenum是
DRAW_BUFFER2GLenum是
DRAW_BUFFER3GLenum是
DRAW_BUFFER4GLenum是
DRAW_BUFFER5GLenum是
DRAW_BUFFER6GLenum是
DRAW_BUFFER7GLenum是
DRAW_BUFFER8GLenum是
DRAW_BUFFER9GLenum是
DRAW_BUFFER10GLenum是
DRAW_BUFFER11GLenum是
DRAW_BUFFER12GLenum是
DRAW_BUFFER13GLenum是
DRAW_BUFFER14GLenum是
DRAW_BUFFER15GLenum是
MAX_FRAGMENT_UNIFORM_COMPONENTSGLenum是
MAX_VERTEX_UNIFORM_COMPONENTSGLenum是
SAMPLER_3DGLenum是
SAMPLER_2D_SHADOWGLenum是
FRAGMENT_SHADER_DERIVATIVE_HINTGLenum是
PIXEL_PACK_BUFFERGLenum是
PIXEL_UNPACK_BUFFERGLenum是
PIXEL_PACK_BUFFER_BINDINGGLenum是
PIXEL_UNPACK_BUFFER_BINDINGGLenum是
FLOAT_MAT2x3GLenum是
FLOAT_MAT2x4GLenum是
FLOAT_MAT3x2GLenum是
FLOAT_MAT3x4GLenum是
FLOAT_MAT4x2GLenum是
FLOAT_MAT4x3GLenum是
SRGBGLenum是
SRGB8GLenum是
SRGB8_ALPHA8GLenum是
COMPARE_REF_TO_TEXTUREGLenum是
RGBA32FGLenum是
RGB32FGLenum是
RGBA16FGLenum是
RGB16FGLenum是
VERTEX_ATTRIB_ARRAY_INTEGERGLenum是
MAX_ARRAY_TEXTURE_LAYERSGLenum是
MIN_PROGRAM_TEXEL_OFFSETGLenum是
MAX_PROGRAM_TEXEL_OFFSETGLenum是
MAX_VARYING_COMPONENTSGLenum是
TEXTURE_2D_ARRAYGLenum是
TEXTURE_BINDING_2D_ARRAYGLenum是
R11F_G11F_B10FGLenum是
UNSIGNED_INT_10F_11F_11F_REVGLenum是
RGB9_E5GLenum是
UNSIGNED_INT_5_9_9_9_REVGLenum是
TRANSFORM_FEEDBACK_BUFFER_MODEGLenum是
MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTSGLenum是
TRANSFORM_FEEDBACK_VARYINGSGLenum是
TRANSFORM_FEEDBACK_BUFFER_STARTGLenum是
TRANSFORM_FEEDBACK_BUFFER_SIZEGLenum是
TRANSFORM_FEEDBACK_PRIMITIVES_WRITTENGLenum是
RASTERIZER_DISCARDGLenum是
MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTSGLenum是
MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBSGLenum是
INTERLEAVED_ATTRIBSGLenum是
SEPARATE_ATTRIBSGLenum是
TRANSFORM_FEEDBACK_BUFFERGLenum是
TRANSFORM_FEEDBACK_BUFFER_BINDINGGLenum是
RGBA32UIGLenum是
RGB32UIGLenum是
RGBA16UIGLenum是
RGB16UIGLenum是
RGBA8UIGLenum是
RGB8UIGLenum是
RGBA32IGLenum是
RGB32IGLenum是
RGBA16IGLenum是
RGB16IGLenum是
RGBA8IGLenum是
RGB8IGLenum是
RED_INTEGERGLenum是
RGB_INTEGERGLenum是
RGBA_INTEGERGLenum是
SAMPLER_2D_ARRAYGLenum是
SAMPLER_2D_ARRAY_SHADOWGLenum是
SAMPLER_CUBE_SHADOWGLenum是
UNSIGNED_INT_VEC2GLenum是
UNSIGNED_INT_VEC3GLenum是
UNSIGNED_INT_VEC4GLenum是
INT_SAMPLER_2DGLenum是
INT_SAMPLER_3DGLenum是
INT_SAMPLER_CUBEGLenum是
INT_SAMPLER_2D_ARRAYGLenum是
UNSIGNED_INT_SAMPLER_2DGLenum是
UNSIGNED_INT_SAMPLER_3DGLenum是
UNSIGNED_INT_SAMPLER_CUBEGLenum是
UNSIGNED_INT_SAMPLER_2D_ARRAYGLenum是
DEPTH_COMPONENT32FGLenum是
DEPTH32F_STENCIL8GLenum是
FLOAT_32_UNSIGNED_INT_24_8_REVGLenum是
FRAMEBUFFER_ATTACHMENT_COLOR_ENCODINGGLenum是
FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPEGLenum是
FRAMEBUFFER_ATTACHMENT_RED_SIZEGLenum是
FRAMEBUFFER_ATTACHMENT_GREEN_SIZEGLenum是
FRAMEBUFFER_ATTACHMENT_BLUE_SIZEGLenum是
FRAMEBUFFER_ATTACHMENT_ALPHA_SIZEGLenum是
FRAMEBUFFER_ATTACHMENT_DEPTH_SIZEGLenum是
FRAMEBUFFER_ATTACHMENT_STENCIL_SIZEGLenum是
FRAMEBUFFER_DEFAULTGLenum是
UNSIGNED_INT_24_8GLenum是
DEPTH24_STENCIL8GLenum是
UNSIGNED_NORMALIZEDGLenum是
DRAW_FRAMEBUFFER_BINDINGGLenum是
READ_FRAMEBUFFERGLenum是
DRAW_FRAMEBUFFERGLenum是
READ_FRAMEBUFFER_BINDINGGLenum是
RENDERBUFFER_SAMPLESGLenum是
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYERGLenum是
MAX_COLOR_ATTACHMENTSGLenum是
COLOR_ATTACHMENT1GLenum是
COLOR_ATTACHMENT2GLenum是
COLOR_ATTACHMENT3GLenum是
COLOR_ATTACHMENT4GLenum是
COLOR_ATTACHMENT5GLenum是
COLOR_ATTACHMENT6GLenum是
COLOR_ATTACHMENT7GLenum是
COLOR_ATTACHMENT8GLenum是
COLOR_ATTACHMENT9GLenum是
COLOR_ATTACHMENT10GLenum是
COLOR_ATTACHMENT11GLenum是
COLOR_ATTACHMENT12GLenum是
COLOR_ATTACHMENT13GLenum是
COLOR_ATTACHMENT14GLenum是
COLOR_ATTACHMENT15GLenum是
FRAMEBUFFER_INCOMPLETE_MULTISAMPLEGLenum是
MAX_SAMPLESGLenum是
HALF_FLOATGLenum是
RGGLenum是
RG_INTEGERGLenum是
R8GLenum是
RG8GLenum是
R16FGLenum是
R32FGLenum是
RG16FGLenum是
RG32FGLenum是
R8IGLenum是
R8UIGLenum是
R16IGLenum是
R16UIGLenum是
R32IGLenum是
R32UIGLenum是
RG8IGLenum是
RG8UIGLenum是
RG16IGLenum是
RG16UIGLenum是
RG32IGLenum是
RG32UIGLenum是
VERTEX_ARRAY_BINDINGGLenum是
R8_SNORMGLenum是
RG8_SNORMGLenum是
RGB8_SNORMGLenum是
SIGNED_NORMALIZEDGLenum是
COPY_READ_BUFFERGLenum是
COPY_WRITE_BUFFERGLenum是
COPY_READ_BUFFER_BINDINGGLenum是
COPY_WRITE_BUFFER_BINDINGGLenum是
UNIFORM_BUFFERGLenum是
UNIFORM_BUFFER_BINDINGGLenum是
UNIFORM_BUFFER_STARTGLenum是
UNIFORM_BUFFER_SIZEGLenum是
MAX_VERTEX_UNIFORM_BLOCKSGLenum是
MAX_FRAGMENT_UNIFORM_BLOCKSGLenum是
MAX_COMBINED_UNIFORM_BLOCKSGLenum是
MAX_UNIFORM_BUFFER_BINDINGSGLenum是
MAX_UNIFORM_BLOCK_SIZEGLenum是
MAX_COMBINED_VERTEX_UNIFORM_COMPONENTSGLenum是
MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTSGLenum是
UNIFORM_BUFFER_OFFSET_ALIGNMENTGLenum是
ACTIVE_UNIFORM_BLOCKSGLenum是
UNIFORM_TYPEGLenum是
UNIFORM_SIZEGLenum是
UNIFORM_BLOCK_INDEXGLenum是
UNIFORM_OFFSETGLenum是
UNIFORM_ARRAY_STRIDEGLenum是
UNIFORM_MATRIX_STRIDEGLenum是
UNIFORM_IS_ROW_MAJORGLenum是
UNIFORM_BLOCK_BINDINGGLenum是
UNIFORM_BLOCK_DATA_SIZEGLenum是
UNIFORM_BLOCK_ACTIVE_UNIFORMSGLenum是
UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICESGLenum是
UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADERGLenum是
UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADERGLenum是
INVALID_INDEXGLenum是
MAX_VERTEX_OUTPUT_COMPONENTSGLenum是
MAX_FRAGMENT_INPUT_COMPONENTSGLenum是
MAX_SERVER_WAIT_TIMEOUTGLenum是
OBJECT_TYPEGLenum是
SYNC_CONDITIONGLenum是
SYNC_STATUSGLenum是
SYNC_FLAGSGLenum是
SYNC_FENCEGLenum是
SYNC_GPU_COMMANDS_COMPLETEGLenum是
UNSIGNALEDGLenum是
SIGNALEDGLenum是
ALREADY_SIGNALEDGLenum是
TIMEOUT_EXPIREDGLenum是
CONDITION_SATISFIEDGLenum是
WAIT_FAILEDGLenum是
SYNC_FLUSH_COMMANDS_BITGLenum是
VERTEX_ATTRIB_ARRAY_DIVISORGLenum是
ANY_SAMPLES_PASSEDGLenum是
ANY_SAMPLES_PASSED_CONSERVATIVEGLenum是
SAMPLER_BINDINGGLenum是
RGB10_A2UIGLenum是
INT_2_10_10_10_REVGLenum是
TRANSFORM_FEEDBACKGLenum是
TRANSFORM_FEEDBACK_PAUSEDGLenum是
TRANSFORM_FEEDBACK_ACTIVEGLenum是
TRANSFORM_FEEDBACK_BINDINGGLenum是
TEXTURE_IMMUTABLE_FORMATGLenum是
MAX_ELEMENT_INDEXGLenum是
TEXTURE_IMMUTABLE_LEVELSGLenum是
TIMEOUT_IGNOREDGLint64是
MAX_CLIENT_WAIT_TIMEOUT_WEBGLGLenum是

方法

方法返回值类型
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
图形绘制的能力
音频管理
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

媒体组件

像素

枚举

类型

接口

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }