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