本系列是本人閱讀、學習《WebGL編程指南》的讀書筆記,主要目的是摘錄、總結,以便對所學進行鞏固。
WebGL,是一項用來在網頁上繪制和渲染復雜三維圖形(3D圖形),並允許用戶與之交互的技術。隨着個人計算機和瀏覽器的性能越來越強,我們能夠在Web上創建越來越精美、越來越復雜的3D圖形。http://webglsamples.org/ 這個網址展示了Google發布的一些示例WebGL程序,在驚嘆美輪美奐的效果的同時,我們發現發布和運行也變得非常簡單。(就像使用普通的網頁一樣)
WebGL是一種免費的、開放的、跨平台的技術;WebGL派生於OpenGL ES,后者是專用於嵌入式計算機、智能手機、家用游戲機等設備;WebGL基於OpenGL ES 2.0。下圖顯示了OpenGL、OpenGL ES 和 WebGL的關系:
從2.0版本開始,OpenGL支持了一項非常重要的特性,即可編程着色器方法。該特性被OpenGL ES 2.0繼承,並成為了WebGL 1.0標准的核心部分。
着色器,使用一種類似於C的編程語言實現了精美的視覺效果。編寫着色器的語言又稱為着色器語言。WebGL基於OpenGL ES 2.0,使用GLSL ES語言編寫着色器。
雖然WebGL強大到令人驚嘆,但使用這項技術進行開發卻異常簡單:只需要一個文本編輯器(Notepad或TextEdit)和一個瀏覽器(Chrome)即可;並且不需要去搭建開發環境,因為WebGL是內嵌在瀏覽器中的。
下圖顯示了WebGL程序的結構:
由於GLSL ES通常是以字符串的形式在JavaScript中編寫的,所以雖然WebGL網頁更加復雜,但它仍然保持着與傳統的動態網頁相同的結構:只用到HTML文件和JavaScript文件。