WebGL

3D繪圖標準

WebGL是一種3D繪圖標準,這種繪圖技術標準允許把JavaScript和OpenGL ES 2.0結合在一起,通過增加OpenGL ES 2.0的一個JavaScript綁定,WebGL可以為HTML5 Canvas提供硬體3D加速渲染,這樣Web開發人員就可以藉助系統顯卡來在瀏覽器里更流暢地展示3D場景和模型了,還能創建複雜的導航和數據視覺化。顯然,WebGL技術標準免去了開發網頁專用渲染插件的麻煩,可被用於創建具有複雜3D結構的網站頁面,甚至可以用來設計3D網頁遊戲等等。

設計


WebGL 1.0基於OpenGL ES 2.0,並提供了3D圖形的API。它使用HTML5Canvas並允許利用文檔對象模型介面。WebGL 2.0基於OpenGL ES 3.0,確保了提供許多選擇性的WebGL 1.0擴展,並引入新的API。可利用部分Javascript實現自動存儲器管理。

歷史


WebGL起源於Mozilla員工弗拉基米爾·弗基西維奇的一項稱為Canvas 3D實驗項目。2006年,弗基西維奇首次展示了Canvas 3D的原型。2007年底在Firefox和Opera被實現。
在2009年初,非營利技術聯盟Khronos Group啟動了WebGL的工作組,最初的工作成員包括Apple、Google、Mozilla、Opera等。2011年3月發布WebGL 1.0規範。截至2012年3月,工作組的主席由肯·羅素(Ken Russell,全名“Kenneth Bradley Russell”)擔任。
WebGL的早期應用包括Zygote Body。
WebGL 2規範的發展始於2013年,並於2017年1月完成。該規範基於OpenGL ES 3.0。首度實現在Firefox 51、Chrome 56和Opera 43中。

開發狀況


WebGL和3D圖形規範OpenGL、通用計算規範OpenCL一樣來自Khronos Group,而且免費開放,並於2010年上半年完成並 公開發布。Adobe Flash Player 11、微軟Silverlight 3.0也都已經支持GPU加速,但它們都是私有的、不透明的。WebGL標準工作組的成員包括AMD愛立信谷歌,Mozilla,Nvidia以及Opera等,這些成員會與Khronos公司通力合作,創建一種多平台環境可用的WebGL標準,預計WebGL標準會在2011年上半年首度公開發布,該標準將完全免費對外提供。

作用


WebGL完美地解決了現有的Web互動式三維動畫的兩個問題:第一,它通過 HTML腳本本身實現Web互動式三維動畫的製作,無需任何 瀏覽器插件支持;第二,它利用底層的圖形 硬體加速功能進行的圖形渲染,是通過統一的、標準的、跨平台的OpenGL介面實現的。

情況


WebGL
WebGL
WebGL標準已出現在Mozilla Firefox、Apple Safari及 開發者預覽版Google Chrome等 瀏覽器中,這項技術支持Web開發人員藉助系統顯示晶元在瀏覽器中展示各種3D模型和場景,未來有望推出3D網頁遊戲及複雜3D結構的網站頁面。
據國外媒體報道,在2013年,一段 諾基亞N900手機使用移動版Firefox 軟體演示WebGL標準的視頻在網上流傳,引起了許多手機用戶的關注。
從視頻中可以看到在展示網頁中的3D模型及使用觸控屏操作的過程非常流暢,這表示WebGL標準已經支持 手機瀏覽器應用。在2013年之前,手機 用戶上網瀏覽多媒體網頁仍受手機硬體、瀏覽器以及 網速等方面限制導致體驗不佳,如果WebGL標準能在手機上普及應用,將使手機網路服務得到快速地發展。
2011年3月,多媒體技術標準化組織Khronos在美國洛杉磯舉辦的遊戲開發大會上發布WebGL標準規範 R 1.0,支持WebGL的 瀏覽器不藉助任何 插件便可提供 硬體圖形加速從而提供高質量的3D體驗。 WebGL標準已經獲得了業界大佬們的支持: Apple (Mac OS Safari nightly builds),Google (Chrome9.0), Mozilla (Firefox4.0 beta)和Opera (preview build)。
2012年4月,Google搜索悄然上線了一個新的功能,那就是在搜索框里輸入一個曲線方程,那麼Google就會在搜索頁里為你畫出這個曲線!這也是WebGL第一次被應用在Google的搜索引擎中,使用者可以在搜索框里輸入任意一個二元方程,Google都會將此方程繪製出來,並且是顯示在全3D的空間中,另外還可以自由調整和編輯曲線以及方程。
如果想要臨時查看一個方程的曲線,而周圍又沒有專業 軟體的時候,你可以應急使用一下Google的這個貼心新功能!不過要注意的是,這個功能只能運行在支持WebGL 瀏覽器中,例如Chrome和Firefox,而不是IE
2013年4月1日,國外開發者Francois Remy在泄露版Windows Blue附帶的Internet Explorer 11中發現,WebGL介面已經封裝完成,但功能上還未能開放支持。在這之後,另一名開發者Rafael Rivera繼續深入挖掘,竟然發現了在此版本的Internet Explorer 11中開啟WebGL支持的方法。這正是四年盤踞龍虎鬥,微軟終將入大流!歡迎IE 11加入WebGL大家庭!