WebGL入門之基於WebGL的3D視覺化引擎介紹

Sovit資料視覺化研究猿發表於2022-11-29

定義

WebGL(Web Graphics Library)是一個JavaScript API,用於在任何相容的Web瀏覽器中渲染高效能互動式3D和2D圖形,而無需使用外掛。WebGL透過引入一個非常符合OpenGL ES 2.0的API來實現這一點,該API可以在HTML 元素中使用。這種一致性使 API 可以利用使用者裝置提供的硬體圖形加速。WebGL完全整合到瀏覽器的所有Web標準中,允許GPU加速使用影像處理和效果作為網頁畫布的一部分。WebGL元素可以與其他HTML元素嵌入,並與頁面的其他部分合成。


WebGL入門之基於WebGL的3D視覺化引擎介紹


WebGL是一個跨平臺的開放Web標準,用於基於OpenGL ES的低階3D圖形API,透過HTML5 Canvas元素向ECMAScript公開。熟悉OpenGL ES 2.0的開發人員使用GLSL將WebGL識別為基於Shader的API,其構造在語義上與底層OpenGL es API的構造相似。它非常接近OpenGL ES規範,對開發人員對記憶體管理語言(如JavaScript)的期望做出了一些讓步。WebGL 1.0 公開了 OpenGL ES 2.0 功能集;WebGL 2.0 公開了 OpenGL ES 3.0 API。

設計

WebGL 1.0基於OpenGL ES 2.0.為3D圖形提供了API。[5] 它使用 HTML5 canvas 元素,並使用文件物件模型 (DOM) 介面進行訪問。


WebGL 2.0基於OpenGL ES 3.0.保證了WebGL 1.0的許多可選擴充套件的可用性,並公開了新的API。


自動記憶體管理作為 JavaScript 語言的一部分提供。與OpenGL ES 2.0一樣,WebGL沒有OpenGL 1.0中引入並在OpenGL 3.0中棄用的固定函式API。此功能可以改為由使用者透過在 JavaScript 中提供著色器程式碼和配置資料繫結來提供。


WebGL入門之基於WebGL的3D視覺化引擎介紹


WebGL中的著色器直接在GLSL中表示,並作為文字字串傳遞給WebGL API。WebGL 實現將這些著色器指令編譯為 GPU 程式碼。此程式碼針對透過 API 傳送的每個頂點以及柵格化到螢幕的每個畫素執行。

歷史

WebGL是從Vladimir Vukićević在Mozilla開始的Canvas 3D實驗演變而來的。Vukićević在2006年首次展示了Canvas 3D原型。到2007年底,Mozilla和Opera都已經完成了自己的獨立實現。


2009年初,非營利性技術聯盟Khronos Group成立了WebGL工作組,最初來自Apple,Google,Mozilla,Opera等。WebGL規範的1.0版本於2011年3月釋出。截至2012年3月,工作組主席是肯·羅素。


WebGL的早期應用包括Zygote Body。2012年11月,歐特克宣佈將大部分應用程式移植到執行在本地WebGL客戶端上的雲中。這些應用程式包括Fusion 360和AutoCAD 360.WebGL 2規範的開發始於2013年,最終於2017年1月完成。本規範基於 OpenGL ES 3.0.第一個實現是在Firefox 51.Chrome 56和Opera 43中。

應用

Sovit3D 視覺化開發平臺採用B/S架構,基於WebGL繪圖技術標準,提供基於純 HTML5(Canvas/WebGL)的標準 Web 技術,可方便的在瀏覽器上進行瀏覽和除錯,滿足了工業物聯網跨平臺雲端化部署實施的需求,從元件庫到 2D、3D 組態工具,再到行業向量圖示和三維模型模板資源庫,構成了一站式的資料視覺化解決方案,可快速實現現代化的、智慧化的、跨平臺的圖形展示效果及互動體驗。為Web視覺化提供了豐富的展現形式和視覺效果,幫助軟體開發公司、解決方案提供商輕鬆搭建3D視覺化場景。


WebGL入門之基於WebGL的3D視覺化引擎介紹


WebGL入門之基於WebGL的3D視覺化引擎介紹


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014953/viewspace-2925733/,如需轉載,請註明出處,否則將追究法律責任。

相關文章