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

news2024/11/15 7:02:10

 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.coloradmin.cn/o/1715169.html

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

相关文章

Django 做migrations时出错,解决方案

在做migrations的时候&#xff0c;偶尔会出现出错。 在已有数据的表中新增字段时&#xff0c;会弹出下面的信息 运行这个命令时 python manage.py makemigrationsTracking file by folder pattern: migrations It is impossible to add a non-nullable field ‘example’ to …

Spring OAuth2:开发者的安全盾牌!(下)

上文我们教了大家如何像海盗一样寻找宝藏&#xff0c;一步步解锁令牌的奥秘&#xff0c;今天将把更加核心的技巧带给大家一起学习&#xff0c;共同进步&#xff01; 文章目录 6. 客户端凭证与密码模式6.1 客户端凭证模式应用适用于后端服务间通信 6.2 密码模式考量直接传递用户…

小短片创作-理论知识(三)

1、抗锯齿 1.相机移动的时候出现锯齿 2.当1个像素在三角形边缘的时候&#xff0c;可能取值为白色&#xff0c;也可能取值为黑色&#xff0c;表现出来就是闪烁&#xff0c;或锯齿 3.如果我们通过超采样将1个像素变成4个像素进行计算&#xff0c;得到的结果就会更准确&#x…

文件IO(二)

文件IO&#xff08;二&#xff09; 标准IO缓冲类型全缓冲行缓冲不缓冲 打开文件fopen 操作文件按字符读写(fgetc fputc)按行读写&#xff08;fgets fputs&#xff09;按块&#xff08;对象&#xff09;读写&#xff08;fread fwrite&#xff09;按格式化读写&#xff08;fscanf…

【考研数学】李艳芳900比李林880难吗?值得做吗?

差不多&#xff0c;只能说基础没搞好刷这两个都很费劲 李艳芳900题把每个章节题目划分为ABC三个难度级别&#xff0c;题目选取的难度较大也比较新颖&#xff0c;计算量也非常接近考研趋势&#xff0c;原创性很高&#xff0c;比较适合过完一轮的同学继续做补充和强化 880算是比…

深度学习:手撕 RNN(2)-RNN 的常见模型架构

本文首次发表于知乎&#xff0c;欢迎关注作者。 上一篇文章我们介绍了一个基本的 RNN 模块。有了 这个 RNN 模块后&#xff0c;就像搭积木一样&#xff0c;以 RNN 为基本单元&#xff0c;根据不同的任务或者需求&#xff0c;可以构建不同的模型架构。本节介绍的所有结构&#…

(函数)判断素数(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//声明素数判断函数&#xff1b; void prime(int number);int main() {//初始化变量值&#xff1b;int number 0;//获取用户输入的数据&#xff1b;printf(&quo…

有趣的css - 列表块加载动效

大家好&#xff0c;我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;今天分享的是用 css 打造一个极简的列表块加载动效。 最新文章通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面渲染效果 整…

渗透测试工具Cobalt strike-2.CS基础使用

三、结合metasploit,反弹shell 在kali中开启使用命令开启metasploit msfconsole ┌──(root㉿oldboy)-[~] └─# msfconsole --- msf6 > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp --- msf6 exploit(multi/handler) > show …

excel表格里怎样不删除0,又不显示0呢?

在单元格里不显示0&#xff0c;大体上有这么几种方法&#xff1a; 1.设置单元格自定义格式 选中数据区域&#xff0c;鼠标右键&#xff0c;点一下设置单元格格式&#xff0c;选中数字&#xff0c;自定义&#xff0c;在右侧的类型栏&#xff0c;设置格式&#xff1a; [0]&quo…

FinRobot:一个由大型语言模型(LLM)支持的新型开源AI Agent平台,支持多个金融专业AI Agent

财务分析一直是解读市场趋势、预测经济结果和提供投资策略的关键。这一领域传统上依赖数据&#xff0c;但随着时间的推移&#xff0c;越来越多地使用人工智能&#xff08;AI&#xff09;和算法方法来处理日益增长的复杂数据。AI在金融领域的作用显著增强&#xff0c;它自动化了…

ch3运输层--计算机网络期末复习(持续更新中)

运输层位于网络层之上 运输层协议提供的某些服务受到网络层协议的限制。比如,时限和带宽保证。 运输层也提供自己的特殊服务。比如,可靠数据传输服务,安全性服务。 网络层:两个主机之间的逻辑通信 运输层:两个进程之间的逻辑通信 网络地址:主机的标识(IP地址) 传输地址: …

3.Linux系统环境搭建

一、虚拟化机&#xff1a;指的是通过虚拟化技术将一台计算机分为多台逻辑计算机。注&#xff1a;虚拟机共用CPU和内存资源。 二、虚拟机用途&#xff1a; 1.搭建学习环境&#xff1a;例如在同一间实验室里&#xff0c;物理机Windows系统&#xff0c;虚拟机可以用Linux系统。 …

【网络运维的重要性】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

大模型低秩适配器LoRA源码解读

一、引言 关于 LoRA 的具体理论原理可以参考&#xff1a;图解大模型微调系列之&#xff1a;大模型低秩适配器 LoRA&#xff08;原理篇&#xff09; 关于 LoRA 的源码解读实操可以参考&#xff1a;图解大模型微调系列之&#xff1a;大模型低秩适配器 LoRA&#xff08;源码解读…

四川汇聚荣聚荣科技有限公司是正规的吗?

在当今社会&#xff0c;随着科技的飞速发展&#xff0c;越来越多的科技公司如雨后春笋般涌现。然而&#xff0c;在这个信息爆炸的时代&#xff0c;如何判断一家公司是否正规成为了许多人关注的焦点。本文将围绕“四川汇聚荣聚荣科技有限公司是否正规”这一问题展开讨论&#xf…

【漏洞复现】大华智能物联综合管理平台 log4j远程代码执行漏洞

0x01 产品简介 大华ICC智能物联综合管理平台对技术组件进行模块化和松耦合&#xff0c;将解决方案分层分级&#xff0c;提高面向智慧物联的数据接入与生态合作能力。 0x02 漏洞概述 大华ICC智能物联综合管理平台/evo-apigw/evo-brm/1.2.0/user/is-exist 接口处存在 l0g4i远程…

Spring Cache自定义缓存key和过期时间

一、自定义全局缓存key和双冒号替换 使用 Redis的客户端 Spring Cache时&#xff0c;会发现生成 key中会多出一个冒号&#xff0c;而且有一个空节点的存在。 查看源码可知&#xff0c;这是因为 Spring Cache默认生成key的策略就是通过两个冒号来拼接。 同时 Spring Cache缓存…

展现市场布局雄心,ATFX再度亮相非洲峰会,开启区域市场新篇章

自2023年全球市场营销战略部署实施以来&#xff0c;ATFX在全球各区域市场取得了丰硕成果&#xff0c;其品牌实力、知名度、影响力均有大幅提升。在这场全球扩张的征程中&#xff0c;非洲市场日益成为集团关注的焦点。自2023年首次踏上这片充满潜力的市场以来&#xff0c;ATFX持…

技术架构设计指南:从需求到实现

技术架构是软件系统的骨架&#xff0c;它决定了系统的性能、可靠性、扩展性等关键特性。本文将介绍技术架构设计的一般步骤和方法。 第一步&#xff1a;需求分析 在设计技术架构之前&#xff0c;首先要对系统需求进行全面深入的分析。这包括功能需求、非功能需求&#xff08;如…