官术网_书友最值得收藏!

2.1 WebGL 2.0概述

隨著OpenGL ES版本的發展,WebGL的版本也由原先的WebGL 1.0升級為WebGL 2.0。WebGL 2.0是一種3D繪圖標準,這種繪圖技術標準允許把JavaScript和OpenGL ES 3.0結合在一起。通過增加OpenGL ES 3.0的一個JavaScript綁定,WebGL 2.0可以為HTML5 Canvas提供硬件3D加速渲染,這樣Web開發人員就可以借助系統顯卡在瀏覽器里更流暢地展示3D場景和模型了,還能創建復雜的導航和數據視覺化。

WebGL 2.0標準已出現在Mozilla Firefox、Apple Safari及開發者預覽版Google Chrome等瀏覽器中,這項技術支持Web開發人員借助系統顯示芯片在瀏覽器中展示各種3D模型和場景。隨著HTML5的興起,WebGL 2.0的前景不可估量。

2.1.1 WebGL 2.0簡介

WebGL 2.0和3D圖形規范OpenGL、通用計算規范OpenCL都來自Khronos Group,同樣免費開放。WebGL 2.0標準工作組的成員包括AMD、愛立信、Google、Mozilla、英偉達以及Opera等,這些成員與Khronos公司通力合作,創建了一種多平臺環境可用的WebGL 2.0標準。

WebGL 2.0完美地解決了現有的Web交互式三維動畫的3個問題。

? 通過HTML腳本本身實現Web交互式三維動畫的制作,無須任何特定瀏覽器插件的支持。

? 利用底層圖形硬件的加速功能進行3D圖形渲染,效率很高。

? 通過統一、標準、跨平臺的OpenGL ES接口來實現,免去了開發人員多次學習不同編程接口的麻煩。

說明

同樣可以用于網頁3D渲染的技術還有Adobe Flash Player 11、微軟Silverlight 3.0等,但它們都是私有、不透明的。因此,作者認為采用開放、免費策略的WebGL 2.0在當下這個時代將更有發展前途。

WebGL目前有兩個版本的標準,具體情況如下。

? WebGL 1.0。其提供的是JavaScript與OpenGL ES 2.0的綁定,目前除了微軟的IE之外,大部分瀏覽器都能很好地支持它。

? WebGL 2.0。其提供的是JavaScript與OpenGL ES 3.0的綁定,目前已經發展完善,除了微軟的IE之外,大部分瀏覽器都能很好地支持它。

說明

從上述內容可以看出,隨著WebGL 2.0的完善,它開始逐漸取代WebGL 1.0,因此本章也是基于OpenGL ES 3.0來介紹WebGL 2.0的。好在OpenGL ES 3.0與OpenGL ES 2.0是兼容的,大部分知識可以直接使用,只是著色語言的一些語法細節有變化,讀者不用擔心。

隨著HTML5的興起,大量優秀的網頁涌現出來。作為HTML5官方的Web 3D解決方案,WebGL 2.0立刻受到無數開發人員的追捧。由于其以網頁形式進行展示,所以可以不受平臺的限制,這也省去了在各種平臺上移植的步驟。

隨著微信平臺兼容性的快速發展,進一步降低WebGL 2.0的推廣成本。微信平臺中,只需要單擊項目所在鏈接即可運行,操作步驟十分簡便。也省去了傳統游戲安裝客戶端的麻煩,同時保證了項目代碼不被泄露。相信在不久的將來,WebGL 2.0將會凸顯出更大的優勢和能力。

2.1.2 WebGL 2.0效果展示

2.1.1節介紹了WebGL 2.0的基本知識,相信讀者已經對其有了一定的了解。隨著HTML5標準的不斷完善,為HTML 5 Canvas提供硬件3D加速渲染的WebGL 2.0已經被越來越多的開發人員所接受。市面上采用WebGL 2.0的網絡游戲如雨后春筍般涌現出來。下面的幾幅圖(見圖2-1、圖2-2)就是作者看到的使用WebGL 2.0技術制作的精美網頁截圖。

圖2-1 紋理貼圖立方體

圖2-2 行星動畫

從圖2-1、圖2-2中可以看出,使用WebGL 2.0技術渲染出的3D場景與直接使用OpenGL ES技術在移動設備上開發出的場景效果基本是一致的。讀者通過對前面章節的學習,再結合本章內容便可在Web端開發出與移動端一樣絢麗流暢的3D場景。

主站蜘蛛池模板: 玛沁县| 会同县| 自治县| 公主岭市| 桂平市| 漯河市| 明星| 德兴市| 兴城市| 海南省| 温州市| 蒲城县| 韩城市| 昌乐县| 沈阳市| 贵南县| 永靖县| 宽甸| 离岛区| 开化县| 忻城县| 延长县| 乌拉特后旗| 仙居县| 崇仁县| 嫩江县| 托克托县| 西和县| 土默特左旗| 和硕县| 临湘市| 长顺县| 简阳市| 洪洞县| 南昌县| 青浦区| 鄂托克旗| 凤阳县| 化州市| 大悟县| 盐边县|