WebGL的全稱為Web Graphic Library(網(wǎng)頁(yè)圖形庫(kù)),主要用于交互式渲染2D圖形和3D圖形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenGL ES,可以在HTML5的canvas元素對(duì)象中使用,無(wú)需使用插件,支持跨平臺(tái)。WebGL程序是由JavaScript代碼組成的,其中使用的API可以利用用戶設(shè)備提供的GPU硬件完成圖形渲染和加速。基本概念如下。
一、著色器
可以理解為運(yùn)行在顯卡中的指令和數(shù)據(jù)。在WebGL中,著色器是用OpenGL ES著色語(yǔ)言(GLSL)編寫的。
完整的著色器包括頂點(diǎn)著色器和片元著色器。頂點(diǎn)著色器和片元著色器的交互則涉及到圖片光柵化。
頂點(diǎn)著色器:最基本的任務(wù)是接收三維空間中點(diǎn)的坐標(biāo),將其處理為二維空間中的坐標(biāo)并輸出。
片元著色器:最基本的任務(wù)是對(duì)需要處理的屏幕上的每個(gè)像素輸出一個(gè)顏色值。
圖片光柵化:將頂點(diǎn)著色器輸出的二維空間中的點(diǎn)坐標(biāo),轉(zhuǎn)化為需要處理的像素并傳遞給片元著色器的過(guò)程。
二、緩沖區(qū)
駐存于內(nèi)存中的JavaScript對(duì)象,存儲(chǔ)著即將推送到著色器中的attribute對(duì)象。
三、著色器程序
將緩沖區(qū)中的數(shù)據(jù)推送到著色器中還需涉及“著色器程序”,一個(gè)負(fù)責(zé)關(guān)聯(lián)著色器和緩沖區(qū)的JavaScript對(duì)象。一個(gè)WebGLProgram 對(duì)象由兩個(gè)編譯過(guò)后的 WebGLShader 組成,即頂點(diǎn)著色器和片段著色器(均由 GLSL 語(yǔ)言所寫)。
四、鴻蒙開(kāi)發(fā)技術(shù)已更新[qr23.cn/AKFP8k
]參考前往。
五、運(yùn)作機(jī)制
或者添加mau123789是v直接拿去鴻蒙NEXT技術(shù)文檔
圖1 WebGL運(yùn)作機(jī)制
應(yīng)用前端HTML5繪制界面組件。
Native API完成前端JavaScript與C++代碼交互。
JavaScript engine為圖形框架,為WebGL模塊提供繪制對(duì)象Surface。
WebGL模塊對(duì)外暴露OpenGL ES的GPU繪制接口。
中間接口層EGL(Embedded Graphics Library)完成不同平臺(tái)的適配。
審核編輯 黃宇
-
gpu
+關(guān)注
關(guān)注
28文章
4930瀏覽量
130993 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2143瀏覽量
32640 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
191瀏覽量
4950
發(fā)布評(píng)論請(qǐng)先 登錄
鴻蒙OS元服務(wù)開(kāi)發(fā)案例:【WebGL網(wǎng)頁(yè)圖形庫(kù)開(kāi)發(fā)著色器繪制彩色三角形】
鴻蒙原生應(yīng)用/元服務(wù)實(shí)戰(zhàn)-Web隱私聲明
鴻蒙開(kāi)發(fā)【WebGL】簡(jiǎn)單了解
鴻蒙原生應(yīng)用元服務(wù)開(kāi)發(fā)-WebGL網(wǎng)頁(yè)圖形庫(kù)開(kāi)發(fā)概述
鴻蒙原生應(yīng)用元服務(wù)開(kāi)發(fā)-WebGL網(wǎng)頁(yè)圖形庫(kù)開(kāi)發(fā)接口說(shuō)明
鴻蒙原生應(yīng)用元服務(wù)開(kāi)發(fā)-WebGL網(wǎng)頁(yè)圖形庫(kù)開(kāi)發(fā)無(wú)著色器繪制2D圖形
HarmonyOS NEXT應(yīng)用元服務(wù)開(kāi)發(fā)Intents Kit(意圖框架服務(wù))本地搜索方案概述
鴻蒙原生開(kāi)發(fā)手記:01-元服務(wù)開(kāi)發(fā)
鴻蒙原生開(kāi)發(fā)手記:03-元服務(wù)開(kāi)發(fā)全流程(開(kāi)發(fā)元服務(wù),只需要看這一篇文章)
鴻蒙應(yīng)用元服務(wù)開(kāi)發(fā)-Account Kit概述
鴻蒙應(yīng)用元服務(wù)開(kāi)發(fā)-Account Kit獲取華為賬號(hào)用戶信息概述
鴻蒙原生應(yīng)用/元服務(wù)開(kāi)發(fā)-開(kāi)發(fā)者如何進(jìn)行真機(jī)測(cè)試
鴻蒙OS元服務(wù)開(kāi)發(fā)說(shuō)明:【WebGL網(wǎng)頁(yè)圖形庫(kù)開(kāi)發(fā)接口】

鴻蒙開(kāi)發(fā)接口圖形圖像:【WebGL2】

評(píng)論