相关问题
HarmonyOS Circle的阴影是正方形
728浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用鸿蒙OS绘制一个带虚线环的圆?
845浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中绘制一个圆形?
1323浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中创建一个WebGL2上下文?
1285浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建WebGL缓冲区用于绘制图形?
1259浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何模拟一个appCrash?
1062浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建一个带有父组件的绘制组件,实现类似SVG的效果?
878浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用鸿蒙Web组件主动发起一个下载任务?
830浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用Remote Communication发送一个put网络请求?
775浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建和启动一个ServiceAbility?
1321浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何定制一个ArkUI的ActionSheet?
1507浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用Remote Communication发送一个post网络请求?c
781浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何自定义一个气泡?
1064浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建一个动态涟漪效果动画?
1130浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在WebGL2中使用多维数组类型?
936浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建一个基础的HAP模块?
1425浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何取消一个未执行的Task?
966浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎么创建一个HSP模块?
1341浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT中使用ArkUI创建一个轮播图组件?
1310浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建一个自定义弹窗(CustomDialog)?
1657浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建一个继承AttributeModifier的ImageModifier类?
1099浏览 • 1回复 待解决
#鸿蒙通关秘籍#一个组件上如何挂载多个bindSheet弹窗?
1189浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用NodeContainer实现手写绘制功能
1051浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙工程中创建一个ArkTS卡片?
1366浏览 • 1回复 待解决
在WebGL中绘制正方形需按创建缓冲和关联着色器的步骤,继而调用
drawArrays()
绘制图形:javascript function drawScene(gl, programInfo, buffers) { gl.clearColor(0.0, 0.0, 0.0, 1.0); gl.clearDepth(1.0); gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
const fieldOfView = (45 * Math.PI) / 180; const aspect = gl.canvas.clientWidth / gl.canvas.clientHeight; const zNear = 0.1; const zFar = 100.0; const projectionMatrix = mat4.create();
mat4.perspective(projectionMatrix, fieldOfView, aspect, zNear, zFar);
const modelViewMatrix = mat4.create(); mat4.translate(modelViewMatrix, modelViewMatrix, [-0.0, 0.0, -6.0]);
gl.useProgram(programInfo.program);
gl.uniformMatrix4fv( programInfo.uniformLocations.projectionMatrix, false, projectionMatrix ); gl.uniformMatrix4fv( programInfo.uniformLocations.modelViewMatrix, false, modelViewMatrix );
const offset = 0; const vertexCount = 4; gl.drawArrays(gl.TRIANGLE_STRIP, offset, vertexCount); }
通过设置摄像机透视矩阵并且初始化正方形的顶点位置,最终通过
drawArrays()
实现渲染。