本系列是本人閱讀、學習《WebGL編程指南》的讀書筆記,主要目的是摘錄、總結,以便對所學進行鞏固。
web
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文件。webgl