鍍金池/ 教程/ HTML/ WebGL教程
WebGL Context上下文
WebGL圖形管線
WebGL示例程序
WebGL交互式立方體
WebGL繪制三角形
WebGL幾何體
WebGL繪制模型
WebGL基礎(chǔ)
WebGL平移
WebGL教程
WebGL繪圖的模式
WebGL縮放
WebGL繪制點(diǎn)
WebGL顏色
WebGL旋轉(zhuǎn)
WebGL繪制四邊形
WebGL著色器程序
WebGL基本圖形概念
WebGL立方體旋轉(zhuǎn)
WebGL關(guān)聯(lián)屬性和緩沖區(qū)對象
Html5 Canvas介紹
WebGL著色器

WebGL教程

幾年前,Java應(yīng)用程序(小程序和JOGL的組合) ? 被用于通過解決在GPU(圖形處理單元)來處理網(wǎng)絡(luò)上的三維圖形。作為小程序需要一個(gè)JVM運(yùn)行,它變得很難依靠Java小程序。幾年后,人們就開始停止使用Java小程序了。

由Adobe (Flash, AIR)的Stage3D API提供了GPU硬件加速架構(gòu)。使用這些技術(shù),程序員可以對Web瀏覽器以及對iOS和Android平臺(tái)上開發(fā)2D和3D功能的應(yīng)用程序。由于Flash是專有軟件,它不是用來作為網(wǎng)絡(luò)標(biāo)準(zhǔn)。

OpenGL

OpenGL(開放式圖形庫)是跨語言,對于2D和3D圖形的跨平臺(tái)API。它是命令的集合。OpenGL4.5是OpenGL的最新版本。下表列出了一組相關(guān)的OpenGL技術(shù)。

API
采用的技術(shù)
OpenGL ES 它是從庫中的2D和3D圖形在嵌入式系統(tǒng)上 - 包括控制臺(tái),手機(jī),電器,和車輛。OpenGL ES3.1是它的最新版本。它是由Khronos Group維護(hù),官方網(wǎng)站:www.khronos.org
JOGL 這是Java對OpenGL結(jié)合。 JOGL4.5是其最新的版本,它是由 jogamp.org維護(hù)
WebGL 這是JavaScript和OpenGL結(jié)合。 WebGL 1.0是其最新的版本,其 khronos group 由維護(hù)
OpenGLSL OpenGL著色語言。它是一種編程語言,目前需要在OpenGL2.0及更高版本。它是OpenGL4.4核心規(guī)范的一部分。它是專為嵌入式系統(tǒng),如手機(jī)和平板電腦量身定制的API。
注 - 在WebGL我們使用GLSL來寫著色器。

WebGL是什么東西?

WebGL(Web圖形庫)是Web上的3D圖形的新標(biāo)準(zhǔn),它是專用于繪制2D圖形和交互式3D圖形的目的。它是從OpenGL ES 2.0庫,用于手機(jī)和其他移動(dòng)設(shè)備的低級(jí)3D的API衍生。 WebGL提供ES2.0(嵌入式系統(tǒng))類似的功能并在現(xiàn)代3D圖形硬件上表現(xiàn)優(yōu)異。

它可以與HTML5使用一個(gè)JavaScript的API。 HTML5有幾個(gè)功能,支持3D圖形,如2D畫布,WebGL,SVG,CSS3D變換和SMIL。
WebGL代碼編寫在HTML5的<canvas>標(biāo)簽內(nèi)。它是一種規(guī)范,允許互聯(lián)網(wǎng)瀏覽器使用的計(jì)算機(jī)訪問圖形處理單元(GPU)。

誰開發(fā)WebGL?

一個(gè)名叫Vladimir Vukicevic 的美國塞爾維亞軟件工程師做了基礎(chǔ)工作,并領(lǐng)導(dǎo)創(chuàng)建WebGL。
  • 2007年,Vladimir開始致力于為HTML文檔Canvas元素定義OpenGL原型。
  • 2011年3月,克羅諾斯集團(tuán)(Kronos Group)創(chuàng)建WebGL。

支持的瀏覽器

下表顯示了支持WebGL的瀏覽器的列表 -
瀏覽器名稱
版本 支持
Internet Explorer(IE) 11及以上
完全支持
Google Chrome 39及以上
完全支持
Safari 8
完全支持
Firefox 36及以上 部分支持
Opera 27及以上 部分支持

移動(dòng)瀏覽器

瀏覽器名稱 版本 支持
Chrome for Android 42 部分支持
Android browser 40 部分支持
IOS Safari 8.3 完全支持
Opera Mini 8 不支持
Blackberry Browser 10 完全支持
IE mobile 10 部分支持

WebGL的優(yōu)勢

下面是使用WebGL的優(yōu)勢 -
  • JavaScript編程 ? WebGL的應(yīng)用程序是用JavaScript編寫的。使用這些應(yīng)用程序,你可以直接用HTML文檔的其他元素來進(jìn)行交互。也可以使用其他JavaScript庫(如JQuery)和HTML技術(shù),以豐富WebGL應(yīng)用程序。

  • 越來越多的移動(dòng)瀏覽器支持 ? WebGL的還支持移動(dòng)瀏覽器,如:iOS的Safari瀏覽器,Android瀏覽器和Chrome的Android。

  • 開源 ? WebGL是一個(gè)開源的工具。您可以訪問庫中的源代碼,并了解它是如何工作以及它是如何開發(fā)的。

  • 無需編譯 ? JavaScript是一種半編程和半HTML組件。為了執(zhí)行這個(gè)腳本,沒有必要對文件進(jìn)行編譯。相反,您可以直接打開使用任何瀏覽器的文件,并馬上可以查看結(jié)果。因?yàn)閃ebGL應(yīng)用程序是使用JavaScript開發(fā)的,所以沒有必要編譯WebGL應(yīng)用程序。

  • 自動(dòng)內(nèi)存管理 ? JavaScript支持自動(dòng)內(nèi)存管理。沒有必要對存儲(chǔ)器手工分配。 WebGL繼承了JavaScript的這個(gè)特性。

  • Easy to set up ? 由于WebGL是整合在HTML 5中,所以沒有必要做額外的設(shè)置。要編寫一個(gè)WebGL的應(yīng)用程序,所需要的是一個(gè)文本編輯器和網(wǎng)絡(luò)瀏覽器。

開發(fā)環(huán)境設(shè)置

沒有必要為WebGL設(shè)置一個(gè)不同的環(huán)境。支持WebGL瀏覽器有自己的內(nèi)置設(shè)置的WebGL。