WebGL是Khronos協會正在制定的一種3D繪圖標準,它是一個跨平臺的、開源的Web瀏覽器3D繪圖API。它是由Mozilla基金會原創,目前由Khronos協會下由Google、Opera、Mozilla和Apple等主流瀏覽器公司開發人員和其餘三維圖形開發者造成的WebGL Working Group開發。git
WebGL基於OpenGL ES 2.0標準,並使用OpenGL着色語言GLSL,並且還提供了相似於標準的OpenGL的API。WebGL運行與HTML 5的Canvas元素中,WebGL與HTML中全部的DOM接口集成,它也是一個DOM API,這就是說它能夠被任何與DOM兼容的編程語言如JavaScript、Java、Object-C等調用。github
由於WebGL是基於OpenGL的,將在主流瀏覽器中集成,全部擁有一些核心優點:編程
它是一個基於被普遍熟悉和接受的三維圖形標準API瀏覽器
它具備跨平臺、跨語言、跨瀏覽器的特性編程語言
它有與HTML內容緊密集成,包括分層合成,與其餘HTML元素和交互和HTML事件處理機制的使用學習
它提供瀏覽器環境中的3D圖形硬件加速網站
WebGL是至關底層的語言,特別是對於沒有3D開發經驗沒有接觸過OpenGL的人來講,所有用WebGL來開發一個項目的話,會至關麻煩。所以使用一個framework是一個很好的途徑。google
最近這幾年,WebGL的發展很是迅速,各類framework,engine層出不窮,好比Babylon JS、Goo Engine、Gladius、GLGE、PhiloGL、C3DL等等。然而其中不少的項目因爲缺乏足夠的Documents API以及Demo的緣由,使咱們開發WebGL程序變得很麻煩。接口
ThreeJS是一個WebGL的framework,他有大量的Demo和規範的API文檔,應用很是普遍,在各類網站都有不少的資源。three
固然ThreeJS不僅是能夠用WebGL來渲染3D場景,它還支持HTML5 Canvas和SVG模式。
官方網站:http://threejs.org/
GitHub:https://github.com/mrdoob/three.js/