鸿蒙开发接口图形图像:【WebGL】

 WebGL

WebGL提供图形绘制的能力,包括对当前绘制图形的位置、颜色等进行处理。

WebGL标准图形API,对应OpenGL ES 2.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('webgl');
// 调用WebGL API
gl.clearColor(0.0, 0.0, 0.0, 1.0);

Type

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

表1 Type

名称类型
GLenumnumber
GLbooleanboolean
GLbitfieldnumber
GLbytenumber
GLshortnumber
GLintnumber
GLsizeinumber
GLintptrnumber
GLsizeiptrnumber
GLubytenumber
GLushortnumber
GLuintnumber
GLfloatnumber
GLclampfnumber
TexImageSourceImageData
Float32Listarray
Int32Listarray
WebGLPowerPreferencestring

Interface

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

表2 Interface

名称
[WebGLContextAttributes]
WebGLBuffer
WebGLFrameBuffer
WebGLProgram
WebGLRenderbuffer
WebGLShader
WebGLTexture
WebGLUniformLocation
[WebGLActiveInfo]
[WebGLShaderPrecisionFormat]
[WebGLRenderingContextBase]
[WebGLRenderingContextOverloads]

WebGLContextAttributes

WebGLContextAttributes

名称参数类型必填
alphaboolean否
depthboolean否
stencilboolean否
antialiasboolean否
premultipliedAlphaboolean否
preserveDrawingBufferboolean否
powerPreferenceWebGLPowerPreference否
failIfMajorPerformanceCaveatboolean否
desynchronizedboolean否

WebGLActiveInfo

WebGLActiveInfo

名称参数类型必填
sizeGLint是
typeGLenum是
namestring是

WebGLShaderPrecisionFormat

WebGLShaderPrecisionFormat

名称参数类型必填
rangeMinGLint是
rangeMaxGLint是
precisionGLint是

WebGLRenderingContextBase

WebGLRenderingContextBase

属性

名称参数类型必填
DEPTH_BUFFER_BITGLenum是
STENCIL_BUFFER_BITGLenum是
COLOR_BUFFER_BITGLenum是
POINTSGLenum是
LINESGLenum是
LINE_LOOPGLenum是
LINE_STRIPGLenum是
TRIANGLESGLenum是
TRIANGLE_STRIPGLenum是
TRIANGLE_FANGLenum是
ZEROGLenum是
ONEGLenum是
SRC_COLORGLenum是
ONE_MINUS_SRC_COLORGLenum是
SRC_ALPHAGLenum是
ONE_MINUS_SRC_ALPHAGLenum是
DST_ALPHAGLenum是
ONE_MINUS_DST_ALPHAGLenum是
DST_COLORGLenum是
ONE_MINUS_DST_COLORGLenum是
SRC_ALPHA_SATURATEGLenum是
FUNC_ADDGLenum是
BLEND_EQUATIONGLenum是
BLEND_EQUATION_RGBGLenum是
BLEND_EQUATION_ALPHAGLenum是
FUNC_SUBTRACTGLenum是
FUNC_REVERSE_SUBTRACTGLenum是
BLEND_DST_RGBGLenum是
BLEND_SRC_RGBGLenum是
BLEND_DST_ALPHAGLenum是
BLEND_SRC_ALPHAGLenum是
CONSTANT_COLORGLenum是
ONE_MINUS_CONSTANT_COLORGLenum是
CONSTANT_ALPHAGLenum是
ONE_MINUS_CONSTANT_ALPHAGLenum是
BLEND_COLORGLenum是
ARRAY_BUFFERGLenum是
ELEMENT_ARRAY_BUFFERGLenum是
ARRAY_BUFFER_BINDINGGLenum是
ELEMENT_ARRAY_BUFFER_BINDINGGLenum是
STREAM_DRAWGLenum是
STATIC_DRAWGLenum是
DYNAMIC_DRAWGLenum是
BUFFER_SIZEGLenum是
BUFFER_USAGEGLenum是
CURRENT_VERTEX_ATTRIBGLenum是
FRONTGLenum是
BACKGLenum是
FRONT_AND_BACKGLenum是
CULL_FACEGLenum是
BLENDGLenum是
DITHERGLenum是
STENCIL_TESTGLenum是
DEPTH_TESTGLenum是
SCISSOR_TESTGLenum是
POLYGON_OFFSET_FILLGLenum是
SAMPLE_ALPHA_TO_COVERAGEGLenum是
SAMPLE_COVERAGEGLenum是
NO_ERRORGLenum是
INVALID_ENUMGLenum是
INVALID_VALUEGLenum是
INVALID_OPERATIONGLenum是
OUT_OF_MEMORYGLenum是
CWGLenum是
CCWGLenum是
LINE_WIDTHGLenum是
ALIASED_POINT_SIZE_RANGEGLenum是
ALIASED_LINE_WIDTH_RANGEGLenum是
CULL_FACE_MODEGLenum是
FRONT_FACEGLenum是
DEPTH_RANGEGLenum是
DEPTH_WRITEMASKGLenum是
DEPTH_CLEAR_VALUEGLenum是
DEPTH_FUNCGLenum是
STENCIL_CLEAR_VALUEGLenum是
STENCIL_FUNCGLenum是
STENCIL_FAILGLenum是
STENCIL_PASS_DEPTH_FAILGLenum是
STENCIL_PASS_DEPTH_PASSGLenum是
STENCIL_REFGLenum是
STENCIL_VALUE_MASKGLenum是
STENCIL_WRITEMASKGLenum是
STENCIL_BACK_FUNCGLenum是
STENCIL_BACK_FAILGLenum是
STENCIL_BACK_PASS_DEPTH_FAILGLenum是
STENCIL_BACK_PASS_DEPTH_PASSGLenum是
STENCIL_BACK_REFGLenum是
STENCIL_BACK_VALUE_MASKGLenum是
STENCIL_BACK_WRITEMASKGLenum是
VIEWPORTGLenum是
SCISSOR_BOXGLenum是
COLOR_CLEAR_VALUEGLenum是
COLOR_WRITEMASKGLenum是
UNPACK_ALIGNMENTGLenum是
PACK_ALIGNMENTGLenum是
MAX_TEXTURE_SIZEGLenum是
MAX_VIEWPORT_DIMSGLenum是
SUBPIXEL_BITSGLenum是
RED_BITSGLenum是
GREEN_BITSGLenum是
BLUE_BITSGLenum是
ALPHA_BITSGLenum是
DEPTH_BITSGLenum是
STENCIL_BITSGLenum是
POLYGON_OFFSET_UNITSGLenum是
POLYGON_OFFSET_FACTORGLenum是
TEXTURE_BINDING_2DGLenum是
SAMPLE_BUFFERSGLenum是
SAMPLESGLenum是
SAMPLE_COVERAGE_VALUEGLenum是
SAMPLE_COVERAGE_INVERTGLenum是
COMPRESSED_TEXTURE_FORMATSGLenum是
DONT_CAREGLenum是
FASTESTGLenum是
NICESTGLenum是
GENERATE_MIPMAP_HINTGLenum是
BYTEGLenum是
UNSIGNED_BYTEGLenum是
SHORTGLenum是
UNSIGNED_SHORTGLenum是
INTGLenum是
UNSIGNED_INTGLenum是
FLOATGLenum是
DEPTH_COMPONENTGLenum是
ALPHAGLenum是
RGBGLenum是
RGBAGLenum是
LUMINANCEGLenum是
LUMINANCE_ALPHAGLenum是
UNSIGNED_SHORT_4_4_4_4GLenum是
UNSIGNED_SHORT_5_5_5_1GLenum是
UNSIGNED_SHORT_5_6_5GLenum是
FRAGMENT_SHADERGLenum是
VERTEX_SHADERGLenum是
MAX_VERTEX_ATTRIBSGLenum是
MAX_VERTEX_UNIFORM_VECTORSGLenum是
MAX_VARYING_VECTORSGLenum是
MAX_COMBINED_TEXTURE_IMAGE_UNITSGLenum是
MAX_VERTEX_TEXTURE_IMAGE_UNITSGLenum是
MAX_TEXTURE_IMAGE_UNITSGLenum是
MAX_FRAGMENT_UNIFORM_VECTORSGLenum是
SHADER_TYPEGLenum是
DELETE_STATUSGLenum是
LINK_STATUSGLenum是
VALIDATE_STATUSGLenum是
ATTACHED_SHADERSGLenum是
ACTIVE_UNIFORMSGLenum是
ACTIVE_ATTRIBUTESGLenum是
SHADING_LANGUAGE_VERSIONGLenum是
CURRENT_PROGRAMGLenum是
NEVERGLenum是
LESSGLenum是
EQUALGLenum是
LEQUALGLenum是
GREATERGLenum是
NOTEQUALGLenum是
GEQUALGLenum是
ALWAYSGLenum是
KEEPGLenum是
REPLACEGLenum是
INCRGLenum是
DECRGLenum是
INVERTGLenum是
INCR_WRAPGLenum是
DECR_WRAPGLenum是
VENDORGLenum是
RENDERERGLenum是
VERSIONGLenum是
NEARESTGLenum是
LINEARGLenum是
NEAREST_MIPMAP_NEARESTGLenum是
LINEAR_MIPMAP_NEARESTGLenum是
NEAREST_MIPMAP_LINEARGLenum是
LINEAR_MIPMAP_LINEARGLenum是
TEXTURE_MIN_FILTERGLenum是
TEXTURE_WRAP_SGLenum是
TEXTURE_WRAP_TGLenum是
TEXTURE_2DGLenum是
TEXTUREGLenum是
TEXTURE_CUBE_MAPGLenum是
TEXTURE_BINDING_CUBE_MAPGLenum是
TEXTURE_CUBE_MAP_POSITIVE_XGLenum是
TEXTURE_CUBE_MAP_NEGATIVE_XGLenum是
TEXTURE_CUBE_MAP_POSITIVE_YGLenum是
TEXTURE_CUBE_MAP_NEGATIVE_YGLenum是
TEXTURE_CUBE_MAP_POSITIVE_ZGLenum是
TEXTURE_CUBE_MAP_NEGATIVE_ZGLenum是
MAX_CUBE_MAP_TEXTURE_SIZEGLenum是
TEXTURE0GLenum是
TEXTURE1GLenum是
TEXTURE2GLenum是
TEXTURE3GLenum是
TEXTURE4GLenum是
TEXTURE5GLenum是
TEXTURE6GLenum是
TEXTURE7GLenum是
TEXTURE8GLenum是
TEXTURE9GLenum是
TEXTURE10GLenum是
TEXTURE11GLenum是
TEXTURE12GLenum是
TEXTURE13GLenum是
TEXTURE14GLenum是
TEXTURE15GLenum是
TEXTURE16GLenum是
TEXTURE17GLenum是
TEXTURE18GLenum是
TEXTURE19GLenum是
TEXTURE20GLenum是
TEXTURE21GLenum是
TEXTURE22GLenum是
TEXTURE23GLenum是
TEXTURE24GLenum是
TEXTURE25GLenum是
TEXTURE26GLenum是
TEXTURE27GLenum是
TEXTURE28GLenum是
TEXTURE29GLenum是
TEXTURE30GLenum是
TEXTURE31GLenum是
ACTIVE_TEXTUREGLenum是
REPEATGLenum是
CLAMP_TO_EDGEGLenum是
MIRRORED_REPEATGLenum是
FLOAT_VEC2GLenum是
FLOAT_VEC3GLenum是
FLOAT_VEC4GLenum是
INT_VEC2GLenum是
INT_VEC3GLenum是
INT_VEC4GLenum是
BOOLGLenum是
BOOL_VEC2GLenum是
BOOL_VEC3GLenum是
BOOL_VEC4GLenum是
FLOAT_MAT2GLenum是
FLOAT_MAT3GLenum是
FLOAT_MAT4GLenum是
SAMPLER_2DGLenum是
SAMPLER_CUBEGLenum是
VERTEX_ATTRIB_ARRAY_ENABLEDGLenum是
VERTEX_ATTRIB_ARRAY_SIZEGLenum是
VERTEX_ATTRIB_ARRAY_STRIDEGLenum是
VERTEX_ATTRIB_ARRAY_TYPEGLenum是
VERTEX_ATTRIB_ARRAY_NORMALIZEDGLenum是
VERTEX_ATTRIB_ARRAY_POINTERGLenum是
VERTEX_ATTRIB_ARRAY_BUFFER_BINDINGGLenum是
IMPLEMENTATION_COLOR_READ_TYPEGLenum是
IMPLEMENTATION_COLOR_READ_FORMATGLenum是
COMPILE_STATUSGLenum是
LOW_FLOATGLenum是
MEDIUM_FLOATGLenum是
HIGH_FLOATGLenum是
LOW_INTGLenum是
MEDIUM_INTGLenum是
HIGH_INTGLenum是
FRAMEBUFFERGLenum是
RENDERBUFFERGLenum是
RGBA4GLenum是
RGB5_A1GLenum是
RGB565GLenum是
DEPTH_COMPONENT16GLenum是
STENCIL_INDEX8GLenum是
DEPTH_STENCILGLenum是
RENDERBUFFER_WIDTHGLenum是
RENDERBUFFER_HEIGHTGLenum是
RENDERBUFFER_INTERNAL_FORMATGLenum是
RENDERBUFFER_RED_SIZEGLenum是
RENDERBUFFER_GREEN_SIZEGLenum是
RENDERBUFFER_BLUE_SIZEGLenum是
RENDERBUFFER_ALPHA_SIZEGLenum是
RENDERBUFFER_DEPTH_SIZEGLenum是
RENDERBUFFER_STENCIL_SIZEGLenum是
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPEGLenum是
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVELGLenum是
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACEGLenum是
COLOR_ATTACHMENT0GLenum是
DEPTH_ATTACHMENTGLenum是
STENCIL_ATTACHMENTGLenum是
DEPTH_STENCIL_ATTACHMENTGLenum是
NONEGLenum是
FRAMEBUFFER_COMPLETEGLenum是
FRAMEBUFFER_INCOMPLETE_ATTACHMENTGLenum是
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENTGLenum是
FRAMEBUFFER_INCOMPLETE_DIMENSIONSGLenum是
FRAMEBUFFER_UNSUPPORTEDGLenum是
FRAMEBUFFER_BINDINGGLenum是
RENDERBUFFER_BINDINGGLenum是
MAX_RENDERBUFFER_SIZEGLenum是
INVALID_FRAMEBUFFER_OPERATIONGLenum是
UNPACK_FLIP_Y_WEBGLGLenum是
UNPACK_PREMULTIPLY_ALPHA_WEBGLGLenum是
CONTEXT_LOST_WEBGLGLenum是
UNPACK_COLORSPACE_CONVERSION_WEBGLGLenum是
BROWSER_DEFAULT_WEBGLGLenum是
canvasHTMLCanvasElementOffscreenCanvas是
drawingBufferWidthGLsizei是
drawingBufferHeightGLsizei是

方法

方法返回值类型
getContextAttributes()WebGLContextAttributesnull
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: WebGLBuffernull)void
bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffernull)void
bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffernull)void
bindTexture(target: GLenum, texture: WebGLTexturenull)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()WebGLBuffernull
createFramebuffer()WebGLFramebuffernull
createProgram()WebGLProgramnull
createRenderbuffer()WebGLRenderbuffernull
createShader(type: GLenum)WebGLShadernull
createTexture()WebGLTexturenull
cullFace(mode: GLenum)void
deleteBuffer(buffer: WebGLBuffernull)void
deleteFramebuffer(framebuffer: WebGLFramebuffernull)void
deleteProgram(program: WebGLProgramnull)void
deleteRenderbuffer(renderbuffer: WebGLRenderbuffernull)void
deleteShader(shader: WebGLShadernull)void
deleteTexture(texture: WebGLTexturenull)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: WebGLRenderbuffernull)void
framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexturenull, level: GLint)void
frontFace(mode: GLenum)void
generateMipmap(target: GLenum)void
getActiveAttrib(program: WebGLProgram, index: GLuint)WebGLActiveInfonull
getActiveUniform(program: WebGLProgram, index: GLuint)WebGLActiveInfonull
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)stringnull
getRenderbufferParameter(target: GLenum, pname: GLenum)any
getShaderParameter(shader: WebGLShader, pname: GLenum)any
getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum)WebGLShaderPrecisionFormatnull
getShaderInfoLog(shader: WebGLShader)stringnull
getShaderSource(shader: WebGLShader)stringnull
getTexParameter(target: GLenum, pname: GLenum)any
getUniform(program: WebGLProgram, location: WebGLUniformLocation)any
getUniformLocation(program: WebGLProgram, name: string)WebGLUniformLocationnull
getVertexAttrib(index: GLuint, pname: GLenum)any
getVertexAttribOffset(index: GLuint, pname: GLenum)GLintptr
hint(target: GLenum, mode: GLenum)void
isBuffer(buffer: WebGLBuffernull)GLboolean
isEnabled(cap: GLenum)GLboolean
isFramebuffer(framebuffer: WebGLFramebuffernull)GLboolean
isProgram(program: WebGLProgramnull)GLboolean
isRenderbuffer(renderbuffer: WebGLRenderbuffernull)GLboolean
isShader(shader: WebGLShadernull)GLboolean
isTexture(texture: WebGLTexturenull)GLboolean
lineWidth(width: GLfloat)void
linkProgram(program: WebGLProgram)void
pixelStorei(pname: GLenum, param: GLintGLboolean)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: WebGLUniformLocationnull, x: GLfloat)void
uniform2f(location: WebGLUniformLocationnull, x: GLfloat, y: GLfloat)void
uniform3f(location: WebGLUniformLocationnull, x: GLfloat, y: GLfloat, z: GLfloat)void
uniform4f(location: WebGLUniformLocationnull, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat)void
uniform1i(location: WebGLUniformLocationnull, x: GLint)void
uniform2i(location: WebGLUniformLocationnull, x: GLint, y: GLint)void
uniform3i(location: WebGLUniformLocationnull, x: GLint, y: GLint, z: GLint)void
uniform4i(location: WebGLUniformLocationnull, x: GLint, y: GLint, z: GLint, w: GLint)void
useProgram(program: WebGLProgramnull)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

鸿蒙文档.png

方法 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿返回值类型
bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum)void
bufferData(target: GLenum, data: BufferSourcenull, 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: ArrayBufferViewnull)void;
texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferViewnull)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: ArrayBufferViewnull)void
texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource)void
uniform1fv(location: WebGLUniformLocationnull, v: Float32List)void
uniform2fv(location: WebGLUniformLocationnull, v: Float32List)void
uniform3fv(location: WebGLUniformLocationnull, v: Float32List)void
uniform4fv(location: WebGLUniformLocationnull, v: Float32List)void
uniform1iv(location: WebGLUniformLocationnull, v: Int32List)void
uniform2iv(location: WebGLUniformLocationnull, v: Int32List)void
uniform3iv(location: WebGLUniformLocationnull, v: Int32List)void
uniform4iv(location: WebGLUniformLocationnull, v: Int32List)void
uniformMatrix2fv(location: WebGLUniformLocationnull, transpose: GLboolean, value: Float32List)void
uniformMatrix3fv(location: WebGLUniformLocationnull, transpose: GLboolean, value: Float32List)void
uniformMatrix4fv(location: WebGLUniformLocationnull, transpose: GLboolean, value: Float32List)void

鸿蒙Next核心技术分享

1、鸿蒙基础知识←《鸿蒙NEXT星河版开发学习文档》

2、鸿蒙ArkUI←《鸿蒙NEXT星河版开发学习文档》

3、鸿蒙进阶技术←《鸿蒙NEXT星河版开发学习文档》

 4、鸿蒙就业高级技能←《鸿蒙NEXT星河版开发学习文档》 

 5、鸿蒙多媒体技术←《鸿蒙NEXT星河版开发学习文档》 

6、鸿蒙南向驱动开发←《鸿蒙NEXT星河版开发学习文档》  

7、鸿蒙南向内核设备开发←《鸿蒙NEXT星河版开发学习文档》  

 8、鸿蒙系统裁剪与移植←《鸿蒙NEXT星河版开发学习文档》  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/pingmian/19034.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++编程(15)——list的模拟实现

欢迎来到博主的专栏——c编程 博主ID&#xff1a;代码小豪 文章目录 前言list的数据结构list的默认构造尾插与尾删iterator插入和删除构造、析构、赋值copy构造initializer_list构造operator 析构函数 前言 受限于博主当前的技术水平&#xff0c;暂时还不能模拟实现出STL当中用…

C语言从头学13——流程控制(二)

接着学习流程控制&#xff0c;并继续上一篇的编号。 4、while 语句 while语句用于循环结构&#xff0c;满足条件时&#xff0c;不断执行循环体&#xff0c;直到条件不满足时退出。如果 一直满足循环条件无法结束循环&#xff0c;会陷入死循环&#xff0c;这是应当避免的…

E. Binary Deque[双指针好思维题]

Binary Deque 题面翻译 有多组数据。 每组数据给出 n n n 个数&#xff0c;每个数为 0 0 0 或 1 1 1 。你可以选择从两边删数&#xff0c;求至少删几个数才可以使剩下的数总和为 s s s 。 如果不能达到 s s s &#xff0c;则输出 − 1 -1 −1 。 题目描述 Slavic h…

ABAP 在增强中COMMIT

前言 呃&#xff0c;又是很磨人的需求&#xff0c;正常情况下是不允许在增强中COMMIT的&#xff0c;会影响源程序本身的逻辑&#xff0c;但是这个需求就得这么干… 就是在交货单增强里面要再调用一次交货单BAPI&#xff0c;通过SO的交货单自动创建STO的交货单&#xff0c;如果…

pod install 报错 ‘SDK does not contain ‘libarclite‘ at the path...‘

报错内容&#xff1a; SDK does not contain ‘libarclite’ at the path ‘/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a’; 这是报错已经很明确告诉我们&#xff0c;Xcode默认的工具链中缺少一个工具…

使用AXI MIG/Proc Sys Reset

使用AXI MIG/Proc Sys Reset 重要&#xff01;仅当您的设计中包含AXI MIG时&#xff0c;才执行以下步骤。 AXI-MIG的连接接口 1.选择在/mig_7series_0/S_AXI上运行连接自动化。 2.选择/micblaze_0&#xff08;缓存&#xff09;或/micblaze _0&#xff08;Periph&#xff09;选项…

【Spring】AOP——通知(Advice)

1、通知&#xff08;Advice&#xff09; 1.1简介 在AOP中&#xff0c;通知&#xff08;Advice&#xff09;是切面&#xff08;Aspect&#xff09;中的一部分&#xff0c;用于定义在连接点&#xff08;Joinpoint&#xff09;处应该执行的操作。通知类型可以在AOP框架中配置和使…

在Android中解析XML文件并在RecyclerView中显示

1. 引言 最近工作有解析外部xml文件在App中显示的需求&#xff0c;特来写篇文章记录一下&#xff0c;方便下次使用。 2. 准备工作 首先&#xff0c;在项目的AndroidManifest.xml文件中添加读取外部存储的权限声明。 <uses-permission android:name"android.permiss…

Java程序设计

一 Java基础知识 1 Java语言概述 1.1 发展历史 1.2 Java应用领域 Web开发&#xff1a;电子商务网站、内部管理系统、社交网络、门户网站移动开发&#xff1a;Android开发桌面开发&#xff1a;办公软件、游戏、工具软件企业应用开发&#xff1a;客户关系管理、企业资源计划、…

3DEXPERIENCE DELMIA Role: RVN - Robotics Virtual Commissioning Analyst

Discipline: Robotics Role: RVN - Robotics Virtual Commissioning Analyst 通过准确地模拟连接到PLC程序的机器人、设备和传感器&#xff0c;在制造虚拟孪生上执行虚拟调试情景 为任何机器人角色的多周期情景创建传感器&#xff0c;生成和变换零件启用 PLC 程序的虚拟验证和…

visio中画乘法器加法器符号

情景&#xff1a;在进行rtl设计时&#xff0c;需要画出简单的电路实现图&#xff0c;需要用到加法器&#xff0c;乘法器的符号。 位置&#xff1a;在visio的更多形状中&#xff0c;找到如下图的位置&#xff0c;进行添加&#xff0c;即可 最终效果&#xff1a; 可以满足我们日…

python监控windows服务器的进程和服务

需求&#xff1a;软件公司提供的软件服务在服务器上会莫名其妙的挂掉&#xff0c;他们采用的方法也只有重启服务器&#xff0c;重启时间太久了&#xff0c;所以想弄一个监测进程和服务的程序&#xff0c;监测到挂了就重启进程或者服务 import psutil import time import sub…

0基础认识C语言(理论+实操 2)

小伙伴们大家好&#xff0c;今天也要撸起袖子加油干&#xff01;万事开头难&#xff0c;越学到后面越轻松~ 话不多说&#xff0c;开始正题~ 前提回顾&#xff1a; 接上次博客&#xff0c;我们学到了转义字符&#xff0c;最后留下两个转义字符不知道大家有没有动手尝试了一遍&a…

fast-lio2代码学习

主要是记录学习和使用过程&#xff0c;参照文章 FAST-LIO2代码解析(一)_fast lio2 源码解析-CSDN博客 Ubuntu 18.04使用Livox mid 360 测试 FAST_LIO - 知乎 5.30 把ros系统的框架写成博客。 5.31号开始学习fastlio系统&#xff0c;预计两周之内学习完成 两周之后购置一个…

【5.基础知识和程序编译及调试】

一、GCC概述&#xff1a;是GUN推出的多平台编译器&#xff0c;可将C/C源程序编译成可执行文件。编译流程分为以下四个步骤&#xff1a; 1、预处理 2、编译 3、汇编 4、链接 注&#xff1a;编译器根据程序的扩展名来分辨编写源程序所用的语言。根据不同的后缀名对他们进行相…

鸿蒙时间滑动选择器弹窗

例子&#xff1a; Button(打开弹窗).fontSize(14).width(106).height(32).padding({ left: 0, right: 0 }).fontColor(#999).onClick(()>{DatePickerDialog.show({selected:new Date(),onDateAccept:(value)>{AlertDialog.show({ message:JSON.stringify(value) })}})}) …

AI界的“拼夕夕”登场,为上万张GPU寻找新使命

在AI领域&#xff0c;一个全新的竞争者已经悄然登场。 AI行业果真有着近乎颠覆性的魅力&#xff01; 此次事件之后&#xff0c;AI界也许会迎来新一轮的血雨腥风&#xff01; AI的潮流到底会怎样流转&#xff0c;天知道。 幻方量化&#xff0c;这家以量化投资闻名的公司&…

SSD图、用例描述

用例描述 描述一个用例 所选UC(用例名称) 主要参与者 user 风险承担者和有关参与者 管理员及使用这个用例的相关人员 前置条件 用户已经完成的工作前提 后置条件 从事该工作之后的内容 基本工作流 划线上面的内容(与绘制SSD图有关) 扩展场景/可选场景 (可选工作流)可能出…

独孤思维:付费就是割韭菜,千万别上当

01 很多人觉得付费是坑&#xff0c;是割韭菜。 其实大多数情况&#xff0c;你所付费的&#xff0c;是购买了别人的经验。 让你能够少走很多弯路&#xff0c;让你能够节约大量时间和精力&#xff0c;购买别人的成功路径。 打一个粗俗的比方。 很多人都说&#xff0c;买的资料&am…

react使用react-quill富文本编辑器自定义上传图片,添加handlers后编辑器不显示问题

Quill介绍 Quill 是一款 API 驱动、功能强大的现代富文本编辑器。它具有易于拓展、各平台表现一致性等优点。Quill 官方 1.0 版本于 2016 年 9 月发布&#xff0c;目前在 Github 上有41.8k Star。 官网地址&#xff1a;Quill - Your powerful rich text editor github仓库地…