WebGL - 维基百科,自由的百科全书
文章推薦指數: 80 %
WebGL完全整合到瀏覽器的所有網頁標準中,可將影像處理和效果的GPU加速使用方式當做網頁Canvas的一部分。
WebGL元素可以加入其他HTML元素之中並與網頁或網頁背景的其他部分 ...
WebGL
Web浏览器中opengl的JavaScript绑定
語言
監視
編輯
WebGL是一種JavaScriptAPI,用於在不使用外掛程式的情況下在任何相容的網頁瀏覽器中呈現互動式2D和3D圖形[2]。
WebGL完全整合到瀏覽器的所有網頁標準中,可將影像處理和效果的GPU加速使用方式當做網頁Canvas的一部分。
WebGL元素可以加入其他HTML元素之中並與網頁或網頁背景的其他部分混合[3]。
WebGL程式由JavaScript編寫的控制代碼和OpenGLShadingLanguage(GLSL)編寫的著色器代碼組成,該語言類似於C或C++,並在電腦的圖形處理器(GPU)上執行。
WebGL由非營利KhronosGroup設計和維護[4]。
WebGL原作者Mozilla基金會開發者WebGLWorkingGroup初始版本2011年3月3日 (2011-03-03)[1]穩定版本2.0(2017年1月17日 (2017-01-17))
作業系統跨平台類型API網站www.khronos.org/webgl/
目次
1設計
2歷史
3支援
3.1桌面瀏覽器
3.2行動瀏覽器
4參考文獻
5外部連結
6參見
設計編輯
WebGL1.0基於OpenGLES2.0,並提供了3D圖形的API[5]。
它使用HTML5Canvas並允許利用文件物件模型介面。
WebGL2.0基於OpenGLES3.0,確保了提供許多選擇性的WebGL1.0擴充功能,並引入新的API[6]。
可利用部分Javascript實現自動記憶體管理[4]。
歷史編輯
WebGL起源於Mozilla員工弗拉基米爾·弗基西維奇一項稱為Canvas3D的實驗計畫。
2006年,弗基西維奇首次展示了Canvas3D的原型。
2007年底在Firefox[7]和Opera[8]被實作。
在2009年初,非營利技術聯盟KhronosGroup啟動了WebGL的工作組,最初的工作成員包括Apple、Google、Mozilla、Opera等[4][9]。
2011年3月發布WebGL1.0規範[1]。
截至2012年3月,工作組的主席由肯·羅素(KenRussell,全名「KennethBradleyRussell」)擔任。
WebGL的早期應用包括ZygoteBody[10][11]。
WebGL2規範的發展始於2013年,並於2017年1月完成[12]。
該規範基於OpenGLES3.0[13]。
首度實作在Firefox51、Chrome56和Opera43中[14]。
支援編輯
目前,WebGL在最新的瀏覽器中被廣泛支援。
然而,其可用性取決於其他因素,如GPU支援。
WebGL官方網站提供了一個簡單的測試頁[15]。
而第三方網站提供了更詳細的訊息(如瀏覽器使用的彩現器以及可用的擴展)[16][17]。
桌面瀏覽器編輯
GoogleChrome–從9.0開始支援預設啟用了WebGL[18][19]。
在Windows上,默認情況下,Chrome使用ANGLE彩現器將OpenGLES轉換為DirectX9.0c或11.0,後者具有更好的驅動程式支援[20]。
在Linux和MacOSX上,默認彩現器是OpenGL[21],也可以強制OpenGL作為Windows上的彩現器[20]。
2013年9月起,Chrome還推出了更新的Direct3D11彩現器,但需要更新的顯示卡[22][23]。
Chrome56+支援WebGL2.0。
InternetExplorer–從11開始支援[24]。
InternetExplorer11最初未能通過大多數官方的WebGL一致性測試,但微軟後來發佈了幾個更新,最新的0.94WebGL引擎目前通過了約97%的Khronos測試。
較舊的版本可以安裝第三方外掛程式來支援,如IEWebGL[25]。
MozillaFirefox–從4.0開始支援預設啟用[26]。
Firefox也通過ANGLE在Windows平臺上使用DirectX。
Firefox51+支援WebGL2.0。
Safari–在MacOSXSnowLeopard上的Safari5.1、OSXMountainLion、MacOSXLion上的Safari6.0或較新版本開始支援WebGL,預設情況下禁用[27][28][29][30][31]。
Safari版本12(在MacOSMojave中可用)支援WebGL2.0,目前作為"實驗性"功能。
Opera–需自行啟用[32][33]。
Opera43+支援WebGL2.0
MicrosoftEdge–對於MicrosoftEdgeLegacy,初始穩定版本支援WebGL版本0.95(context名稱:"experimental-webgl"),並帶有開源GLSL到HLSL轉譯器。
版本10240+支援以WebGL1.0為前綴。
最新的基於Chromium的Edge支援WebGL2.0行動瀏覽器編輯
FirefoxOS[34]
Firefoxformobile[35][34]
GoogleChrome[36]
OperaMobile[37]
Tizen[38]
UbuntuTouch
WebOS
iOS[39]參考文獻編輯
^1.01.1KhronosReleasesFinalWebGL1.0Specification.[2015-05-18].(原始內容存檔於2016-11-08).
^GreggTavares.WebGLFundamentals.HTML5Rocks.2012-02-09[2015-12-27].(原始內容存檔於2022-02-08).
^Parisi,Tony.WebGL:UpandRunning.O'ReillyMedia,Incorporated.2012-08-15[2017-06-11].(原始內容存檔於2013-02-01).
^4.04.14.2WebGL-OpenGLES2.0fortheWeb
^WebGLSpecification.Khronos.org.[2011-05-14].(原始內容存檔於2012-04-12).
^WebGL2.0Specification.Khronos.org.[2017-02-27].(原始內容存檔於2017-01-28).
^Canvas3D:GLpower,web-style.Blog.vlad1.com.[2011-05-14].(原始內容存檔於2011-07-17).
^Takingthecanvastoanotherdimension.My.opera.com.2007-11-26[2011-05-14].(原始內容存檔於2007-11-17).
^KhronosDetailsWebGLInitiativetoBringHardware-Accelerated3DGraphicstotheInternet.Khronos.org.2009-08-04[2011-05-14].(原始內容存檔於2012-04-12).
^GoogleBody–GoogleLabs.Bodybrowser.googlelabs.com.[2011-05-14].(原始內容存檔於2011-05-13).
^Bhanoo,SindyaN.NewFromGoogle:TheBodyBrowser.Well.blogs.nytimes.com.2010-12-23[2011-05-14].(原始內容存檔於2015-02-06).
^WebGL2Specification.khronos.org.2013-09-26[2013-10-28].(原始內容存檔於2017-08-08).
^存档副本.[2017-06-11].(原始內容存檔於2017-01-28).
^存档副本.[2017-06-11].(原始內容存檔於2017-08-28).
^WebGLtestpage.webgl.org.[2015-12-27].(原始內容存檔於2015-04-18).
^WebGLReport.webglreport.com.[2017-06-11].(原始內容存檔於2015-05-28).
^WebGLBrowserReport—WebGLDetection—WebGLTester—BrowserLeaks.browserleaks.com.[2017-06-11].(原始內容存檔於2015-05-20).
^PaulMah.GooglereleasesChrome9;comeswithGoogleInstant,WebGL–FierceCIO:TechWatch.FierceCIO.February8,2011[2012-03-20].(原始內容存檔於2011-10-25).
^WebGLinChromeStable!-LearningWebGL.learningwebgl.com.[2015-12-27].(原始內容存檔於2015-05-28).
^20.020.1(WebGL)HowtoEnableNativeOpenGLinyourBrowser(Windows)|Geeks3D.[2022-03-24].(原始內容存檔於2022-04-17)(美國英語).
^IntroducingtheANGLEProject.ChromiumBlog.[2022-03-24].(原始內容存檔於2022-04-22)(英語).
^WebGLaroundthenet,17Oct2013|LearningWebGL.web.archive.org.2014-08-08[2022-03-24].原始內容存檔於2014-08-08.
^BrandonJones.Atlast!ChromeD3D11dayhascome!.[2022-03-24].(原始內容存檔於2022-04-19)(英語).
^WebGL(Windows).微軟.[2014-03-05].(原始內容存檔於2015-03-24).
^IEWebGL.Iewebgl.[2014-08-14].(原始內容存檔於2022-02-08).
^MozillaFirefox4ReleaseNotes.Mozilla.com.2011-03-22[2012-03-20].(原始內容存檔於2011-03-23).
^NewinOSXLion:Safari5.1bringsWebGL,DoNotTrackandmore.Fairerplatform.com.2011-05-03[2012-03-20].(原始內容存檔於2012-03-19).
^EnableWebGLinSafari.Ikriz.nl.2011-08-23[2012-03-20].(原始內容存檔於2012-03-04).
^GettingaWebGLImplementation.Khronos.org.2012-01-13[2012-03-20].(原始內容存檔於2015-05-28).
^Implementations/WebKit.Khronos.org.2011-09-03[2012-03-20].(原始內容存檔於2015-03-21).
^WebGLNowAvailableinWebKitNightlies.Webkit.org.[2012-03-20].(原始內容存檔於2012-03-08).
^WebGLandHardwareAcceleration.My.opera.com.2011-02-28[2012-03-20].(原始內容存檔於2011-03-03).
^IntroducingOpera12alpha.My.opera.com.2011-10-13[2012-03-20].(原始內容存檔於2011-10-15).
^34.034.1MobileHTML5compatibilityoniPhone,Android,WindowsPhone,BlackBerry,FirefoxOSandothermobiledevices.[2015-09-16].(原始內容存檔於2022-04-15).
^iclkevin.WebGLonMobileDevices.iChemLabs.2011-11-12[2011-11-25].(原始內容存檔於2013-03-12).
^Kersey,Jason.ChromeBetaforAndroidUpdate.ChromeReleasesBlog.Google.[2013-08-23].(原始內容存檔於2015-04-03).
^OperaMobile12.OperaSoftware.[27February2012].(原始內容存檔於2012年3月1日).
^HTML5test-HowwelldoesyourbrowsersupportHTML5?.[2015-09-16].(原始內容存檔於2022-04-15).
^Cunningham,Andrew.iOS8,ThoroughlyReviewed.ArsTechnica.2014-09-17[2014-09-19].(原始內容存檔於2014-09-20).
外部連結編輯
官方網站
WebGL(頁面存檔備份,存於網際網路檔案館)於MDNWebDocs參見編輯
HTML5
OpenGL
WebGPU
WebVR
取自「https://zh.wikipedia.org/w/index.php?title=WebGL&oldid=73130246」
延伸文章資訊
- 1WebGL + GPU + CUDA 淺談| orozcohsu - 點部落
WebGL + GPU + CUDA 淺談. ... WebGL + GPU + CUDA 淺談. 3D 計算會用到GPU,CUDA 這個組織提供很多教學與範例.
- 2WebGL - 維基百科,自由的百科全書
WebGL程序由JavaScript編寫的控制代碼和OpenGL Shading Language(GLSL)編寫的著色器代碼組成,該語言類似於C或C++,並在電腦的圖形處理器(GPU)上執行。
- 3Is WebGL capable of using the GPU's full power?
I tried running a GPU intensive WebGL shader and couldnt get my GPU to peak over ~30% usage in ta...
- 4使用WebGL 繪圖的基本步驟 - 3D 網站開發入門筆記
目前有兩個主要的GPU 繪圖介面:OpenGL 和微軟的DirectX。 WebGL 可以把JavaScript 和OpenGL ES 2.0 結合在一起,為HTML5 Canvas 提供硬體3...
- 5Day04] 為什麼WebGL 的效能這麼強?
WebGL 程式由JavaScript 編寫的控制代碼和 OpenGL Shading Language(GLSL)編寫的著色器程式碼組成. 這段話敘述了兩件事:. JavaScript 控制;...