OpenGL和WebGL基本概念
OPEN GL:一個跨編程語言、跨平台的編程接口規格的專業的圖形程序接口。它用於三維圖像(二維的亦可),是一個功能強大,調用方便的底層圖形庫。
WebGL:一個3D圖形標准融合了Javascript和OPEN GL ES2.0為HTML5 Canvas提供了硬件3D加速渲染Web開發人員就可以借助系統顯卡來在瀏覽器里更流暢地展示3D場景和模型了,還能創建復雜的導航和數據視覺化
OpenGL是一個底層庫,他是一個和語言和平台無關圖形程序接口(包括二維和三維)可以有多種實現方式,而WebGL則是跟Web有關,是一個Web層面的標准,在WebGL標注下,我們可以通過javascript來實現調用OpenGL等底層圖形庫進行三維動畫制作,是不是相當cool
當然目前由於硬件的限制,Web層面的三維動畫開發才剛剛開始,也許幾年之后硬件有了很大的發展,說不定WebGL會火熱起來
他們之間的關系如上所示
WebGL的特點
1. WebGL最大的特點就是他是瀏覽器自帶的標准,也就是不需要安裝任何插件和組件,不同於flash和siverlight,這對於他來說是一個很大的優勢
2. 其次WebGL通過統一的、標准的、跨平台的OpenGL接口實現,從而可以利用底層的圖形硬件加速功能進行的圖形渲染
支持情況
從圖中可以看到,Webkit瀏覽器基本都是支持的,IE直到11才開始支持
效果展示
三維動畫說展現出來的效果比二維動畫要豐富的很多,甚至驚艷來形容:
開發框架:
WebGL常見的開發框架如Three.js,目前寄托於https://github.com/mrdoob/three.js,目前比較火熱,但是中文文檔比較少,官網http://threejs.org 截圖如下: