WebGL 是一種JavaScript API ,用於在不使用外掛程式 的情況下在任何相容的網頁瀏覽器 中呈現互動式2D和3D圖形[ 3] 。WebGL完全整合到瀏覽器的所有網頁標準中,可將影像處理和效果的GPU加速使用方式當做網頁Canvas的一部分。WebGL元素可以加入其他HTML元素之中並與網頁或網頁背景的其他部分混合[ 4] 。WebGL程式由JavaScript編寫的控制代碼和OpenGL Shading Language (GLSL)編寫的著色器 代碼組成,該語言類似於C 或C++ ,並在電腦的圖形處理器 (GPU)上執行。WebGL由非營利 Khronos Group 設計和維護[ 5] 。
設計
WebGL 1.0基於OpenGL ES 2.0 ,並提供了3D圖形的API [ 6] 。它使用HTML5 Canvas 並允許利用文件物件模型 介面。WebGL 2.0基於OpenGL ES 3.0 ,確保了提供許多選擇性的WebGL 1.0擴充功能,並引入新的API[ 7] 。可利用部分Javascript 實現自動記憶體管理 [ 5] 。
歷史
WebGL起源於Mozilla員工弗拉基米爾·弗基西維奇 一項稱為Canvas 3D的實驗計畫。2006年,弗基西維奇首次展示了Canvas 3D的原型。2007年底在Firefox[ 8] 和Opera[ 9] 被實作。
在2009年初,非營利 技術聯盟 Khronos Group啟動了WebGL的工作組,最初的工作成員包括Apple 、Google 、Mozilla 、Opera 等[ 5] [ 10] 。2011年3月發布WebGL 1.0規範[ 1] 。截至2012年3月,工作組的主席由肯·羅素(Ken Russell,全名「Kenneth Bradley Russell」)擔任。
WebGL的早期應用包括Zygote Body [ 11] [ 12] 。
WebGL 2規範的發展始於2013年,並於2017年1月完成[ 13] 。該規範基於OpenGL ES 3.0[ 14] 。首度實作在Firefox 51、Chrome 56和Opera 43中[ 15] 。
支援
目前,WebGL在最新的瀏覽器中被廣泛支援。然而,其可用性取決於其他因素,如GPU支援。WebGL官方網站提供了一個簡單的測試頁[ 16] 。而第三方網站提供了更詳細的訊息(如瀏覽器使用的彩現器以及可用的擴展)[ 17] [ 18] 。
桌面瀏覽器
行動瀏覽器
參考文獻
^ 1.0 1.1 Khronos Releases Final WebGL 1.0 Specification . [2015-05-18 ] . (原始內容存檔 於2016-11-08).
^ https://www.khronos.org/registry/webgl/specs/ .
^ Gregg Tavares. WebGL Fundamentals . HTML5 Rocks. 2012-02-09 [2015-12-27 ] . (原始內容 存檔於2022-02-08).
^ Parisi, Tony. WebGL: Up and Running . O'Reilly Media, Incorporated. 2012-08-15 [2017-06-11 ] . (原始內容存檔 於2013-02-01).
^ 5.0 5.1 5.2 WebGL - OpenGL ES 2.0 for the Web
^ WebGL Specification . Khronos.org. [2011-05-14 ] . (原始內容存檔 於2012-04-12).
^ WebGL 2.0 Specification . Khronos.org. [2017-02-27 ] . (原始內容 存檔於2017-01-28).
^ Canvas 3D: GL power, web-style . Blog.vlad1.com. [2011-05-14 ] . (原始內容 存檔於2011-07-17).
^ Taking the canvas to another dimension . My.opera.com. 2007-11-26 [2011-05-14 ] . (原始內容 存檔於2007-11-17).
^ Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet . Khronos.org. 2009-08-04 [2011-05-14 ] . (原始內容 存檔於2012-04-12).
^ Google Body – Google Labs . Bodybrowser.googlelabs.com. [2011-05-14 ] . (原始內容 存檔於2011-05-13).
^ Bhanoo, Sindya N. New From Google: The Body Browser . Well.blogs.nytimes.com. 2010-12-23 [2011-05-14 ] . (原始內容 存檔於2015-02-06).
^ WebGL 2 Specification . khronos.org. 2013-09-26 [2013-10-28 ] . (原始內容 存檔於2017-08-08).
^ 存档副本 . [2017-06-11 ] . (原始內容 存檔於2017-01-28).
^ 存档副本 . [2017-06-11 ] . (原始內容 存檔於2017-08-28).
^ WebGL test page . webgl.org. [2015-12-27 ] . (原始內容 存檔於2015-04-18).
^ WebGL Report . webglreport.com. [2017-06-11 ] . (原始內容 存檔於2015-05-28).
^ WebGL Browser Report — WebGL Detection — WebGL Tester — BrowserLeaks . browserleaks.com. [2017-06-11 ] . (原始內容 存檔於2015-05-20).
^ Paul Mah. Google releases Chrome 9; comes with Google Instant, WebGL – FierceCIO:TechWatch . FierceCIO. February 8, 2011 [2012-03-20 ] . (原始內容 存檔於2011-10-25).
^ WebGL in Chrome Stable! - Learning WebGL . learningwebgl.com. [2015-12-27 ] . (原始內容 存檔於2015-05-28).
^ 21.0 21.1 (WebGL) How to Enable Native OpenGL in your Browser (Windows) | Geeks3D . [2022-03-24 ] . (原始內容 存檔於2022-04-17) (美國英語) .
^ Introducing the ANGLE Project . Chromium Blog. [2022-03-24 ] . (原始內容 存檔於2022-04-22) (英語) .
^ WebGL around the net, 17 Oct 2013 | Learning WebGL . web.archive.org. 2014-08-08 [2022-03-24 ] . 原始內容存檔於2014-08-08.
^ Brandon Jones. At last! Chrome D3D11 day has come! . [2022-03-24 ] . (原始內容 存檔於2022-04-19) (英語) .
^ WebGL (Windows) . 微軟. [2014-03-05 ] . (原始內容 存檔於2015-03-24).
^ IEWebGL . Iewebgl. [2014-08-14 ] . (原始內容 存檔於2022-02-08).
^ Mozilla Firefox 4 Release Notes . Mozilla.com. 2011-03-22 [2012-03-20 ] . (原始內容 存檔於2011-03-23).
^ New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more . Fairerplatform.com. 2011-05-03 [2012-03-20 ] . (原始內容 存檔於2012-03-19).
^ Enable WebGL in Safari . Ikriz.nl. 2011-08-23 [2012-03-20 ] . (原始內容 存檔於2012-03-04).
^ Getting a WebGL Implementation . Khronos.org. 2012-01-13 [2012-03-20 ] . (原始內容 存檔於2015-05-28).
^ Implementations/WebKit . Khronos.org. 2011-09-03 [2012-03-20 ] . (原始內容 存檔於2015-03-21).
^ WebGL Now Available in WebKit Nightlies . Webkit.org. [2012-03-20 ] . (原始內容 存檔於2012-03-08).
^ WebGL and Hardware Acceleration . My.opera.com. 2011-02-28 [2012-03-20 ] . (原始內容 存檔於2011-03-03).
^ Introducing Opera 12 alpha . My.opera.com. 2011-10-13 [2012-03-20 ] . (原始內容 存檔於2011-10-15).
^ 35.0 35.1 Mobile HTML5 compatibility on iPhone, Android, Windows Phone, BlackBerry, Firefox OS and other mobile devices . [2015-09-16 ] . (原始內容 存檔於2022-04-15).
^ iclkevin. WebGL on Mobile Devices . iChemLabs. 2011-11-12 [2011-11-25 ] . (原始內容 存檔於2013-03-12).
^ Kersey, Jason. Chrome Beta for Android Update . Chrome Releases Blog. Google. [2013-08-23 ] . (原始內容 存檔於2015-04-03).
^ Opera Mobile 12 . Opera Software. [27 February 2012] . (原始內容 存檔於2012年3月1日).
^ HTML5test - How well does your browser support HTML5? . [2015-09-16 ] . (原始內容 存檔於2022-04-15).
^ Cunningham, Andrew. iOS 8, Thoroughly Reviewed . Ars Technica. 2014-09-17 [2014-09-19 ] . (原始內容存檔 於2014-09-20).
外部連結
參見