由Adobe (Flash, AIR)的Stage3D API提供了GPU硬體加速架構。使用這些技術,程式員可以對Web流覽器以及對iOS和Android平臺上開發2D和3D功能的應用程式。由於Flash是專有軟體,它不是用來作為網路標準。
OpenGL
OpenGL(開放式圖形庫)是跨語言,對於2D和3D圖形的跨平臺API。它是命令的集合。OpenGL4.5是OpenGL的最新版本。下表列出了一組相關的OpenGL技術。
API |
採用的技術
|
---|---|
OpenGL ES | 它是從庫中的2D和3D圖形在嵌入式系統上 - 包括控制臺,手機,電器,和車輛。OpenGL ES3.1是它的最新版本。它是由Khronos Group維護,官方網站:www.khronos.org |
JOGL | 這是Java對OpenGL結合。 JOGL4.5是其最新的版本,它是由 jogamp.org維護 |
WebGL | 這是JavaScript和OpenGL結合。 WebGL 1.0是其最新的版本,其 khronos group 由維護 |
OpenGLSL | OpenGL著色語言。它是一種編程語言,目前需要在OpenGL2.0及更高版本。它是OpenGL4.4核心規範的一部分。它是專為嵌入式系統,如手機和平板電腦量身定制的API。 |
WebGL是什麼東西?
WebGL(Web圖形庫)是Web上的3D圖形的新標準,它是專用於繪製2D圖形和互動式3D圖形的目的。它是從OpenGL ES 2.0庫,用於手機和其他移動設備的低級3D的API衍生。 WebGL提供ES2.0(嵌入式系統)類似的功能並在現代3D圖形硬體上表現優異。
誰開發WebGL?
-
2007年,Vladimir開始致力於為HTML文檔Canvas元素定義OpenGL原型。
-
2011年3月,克羅諾斯集團(Kronos Group)創建WebGL。
支持的流覽器
流覽器名稱
|
版本 | 支持 |
---|---|---|
Internet Explorer(IE) | 11及以上 |
完全支持
|
Google Chrome | 39及以上 |
完全支持
|
Safari | 8 |
完全支持
|
Firefox | 36及以上 | 部分支持 |
Opera | 27及以上 | 部分支持 |
移動流覽器
流覽器名稱 | 版本 | 支持 |
---|---|---|
Chrome for Android | 42 | 部分支持 |
Android browser | 40 | 部分支持 |
IOS Safari | 8.3 | 完全支持 |
Opera Mini | 8 | 不支持 |
Blackberry Browser | 10 | 完全支持 |
IE mobile | 10 | 部分支持 |
WebGL的優勢
-
JavaScript編程 − WebGL的應用程式是用JavaScript編寫的。使用這些應用程式,你可以直接用HTML文檔的其他元素來進行交互。也可以使用其他JavaScript庫(如JQuery)和HTML技術,以豐富WebGL應用程式。
-
越來越多的移動流覽器支持 − WebGL的還支持移動流覽器,如:iOS的Safari流覽器,Android流覽器和Chrome的Android。
-
開源 − WebGL是一個開源的工具。您可以訪問庫中的源代碼,並瞭解它是如何工作以及它是如何開發的。
-
無需編譯 − JavaScript是一種半編程和半HTML組件。為了執行這個腳本,沒有必要對檔進行編譯。相反,您可以直接打開使用任何流覽器的檔,並馬上可以查看結果。因為WebGL應用程式是使用JavaScript開發的,所以沒有必要編譯WebGL應用程式。
-
自動記憶體管理 − JavaScript支持自動記憶體管理。沒有必要對記憶體手工分配。 WebGL繼承了JavaScript的這個特性。
-
Easy to set up − 由於WebGL是整合在HTML 5中,所以沒有必要做額外的設置。要編寫一個WebGL的應用程式,所需要的是一個文本編輯器和網路流覽器。