專業解釋
什么是OpenGL
OpenGL(Open Graphics Library即開放圖形庫或者“開放式圖形庫”)是用於渲染2D、3D矢量圖形的跨語言、跨平台的應用程序編程接口(API)。
這個接口由近350個不同的函數調用組成,用來從簡單的圖形比特繪制復雜的三維景象。
OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三維圖形 API 的子集,針對手機、PDA和游戲主機等嵌入式設備而設計。
該API由Khronos集團定義推廣(Khronos是一個圖形軟硬件行業協會,該協會主要關注圖形和多媒體方面的開放標准)。
注:引自百度百科
什么是WebGL
WebGL是基於OpenGL ES 2.0的Web標准,可以通過HTML5 Canvas元素作為DOM接口訪問。
WebGL可以看做是將OpenGL ES(上面有解釋)移植到了網頁平台。
像Chrome、Firefox這些現代瀏覽器都實現了WebGL標准,使用JavaScript就可以用你熟悉的、類似OpenGL的代碼編寫了。
可以把WebGL簡單地認為是一種底層的網絡標准,定義了一些較底層的圖形接口,在這些標准被定義之后,Chrome、Firefox之類的瀏覽器實現了這些標准。
程序員就能通過JavaScript代碼,在網頁上實現三維圖形的渲染。
什么是Three.js
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
額現醬。。。有問題歡迎指正~