OpenGL(Open Graphics Library即開放圖形庫或者「開放式圖形庫」)是用於渲染2D、3D矢量圖形的跨語言、跨平臺的應用程序編程接口(API)。程序員
這個接口由近350個不一樣的函數調用組成,用來從簡單的圖形比特繪製複雜的三維景象。編程
OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三維圖形 API 的子集,針對手機、PDA和遊戲主機等嵌入式設備而設計。瀏覽器
該API由Khronos集團定義推廣(Khronos是一個圖形軟硬件行業協會,該協會主要關注圖形和多媒體方面的開放標準)。網絡
注:引自百度百科函數
WebGL是基於OpenGL ES 2.0的Web標準,能夠經過HTML5 Canvas元素做爲DOM接口訪問。動畫
WebGL能夠看作是將OpenGL ES(上面有解釋)移植到了網頁平臺。spa
像Chrome、Firefox這些現代瀏覽器都實現了WebGL標準,使用JavaScript就能夠用你熟悉的、相似OpenGL的代碼編寫了。設計
能夠把WebGL簡單地認爲是一種底層的網絡標準,定義了一些較底層的圖形接口,在這些標準被定義以後,Chrome、Firefox之類的瀏覽器實現了這些標準。接口
程序員就能經過JavaScript代碼,在網頁上實現三維圖形的渲染。遊戲
Three.js是一個3D JavaScript庫。
Three.js封裝了底層的圖形接口,使得程序員可以在無需掌握繁冗的圖形學知識的狀況下,也能用簡單的代碼實現三維場景的渲染。
Three.js是基於MIT協議進行發佈的,所以使用和發佈都很是自由。(MIT協議是一種做者只想保留版權,而無任何其餘限制的開源許可協議)
注:引自《Three.js入門指南》做者:張雯莉
OpenGL是一個跨平臺的底層圖形庫,是一個專業的圖形程序接口。
OpenGL ES 是從 OpenGL的嵌入式版本,是從 OpenGL 裁剪的定製而來的,去除了部分特性。
WebGL是一種3D繪圖協議,它容許把JavaScript和OpenGL ES結合在一塊兒,使Web交互式三維動畫得實現變得方便快捷。
Three.js是對WebGL的封裝和簡化。
簡單與節省代碼的程度:Three.js>WebGL>OpenGL
額現醬。。。有問題歡迎指正~