WebGL - 維基百科,自由的百科全書
文章推薦指數: 80 %
WebGL程序由JavaScript編寫的控制代碼和OpenGL Shading Language(GLSL)編寫的著色器代碼組成,該語言類似於C或C++,並在電腦的圖形處理器(GPU)上執行。
WebGL
維基百科,自由的百科全書
跳至導覽
跳至搜尋
WebGL原作者Mozilla基金會開發者WebGLWorkingGroup初始版本2011年3月3日 (2011-03-03)[1]穩定版本2.0(2017年1月17日 (2017-01-17))
操作系統跨平台類型API網站www.khronos.org/webgl/
HTML
HTML
動態HTML
HTML5
音頻(英語:HTML5Audio)
畫布
視頻(英語:HTML5video)
XHTML
基礎(英語:XHTMLBasic)
移動概要
C-HTML
HTML元素
Span與div
HTML特性(英語:HTMLattribute)
HTML框架(英語:Framing(WorldWideWeb))
HTML編輯器
字符編碼
Unicode(英語:UnicodeandHTML)
語言代碼
文檔對象模型
瀏覽器對象模型
樣式表
層疊樣式表
字體家族
網頁顏色
HTML腳本(英語:HTMLscripting)
JavaScript
WebGL
WebCL(英語:WebCL)
W3C
驗証服務
網頁超文本應用技術工作小組
怪異模式
網頁存儲
排版引擎
比較
文檔標記語言
網頁瀏覽器
HTML
非標準HTML
HTML5(英語:Comparisonoflayoutengines(HTML5))
畫布
媒體
XHTML
1.1
閱論編
WebGL是一種JavaScriptAPI,用於在不使用外掛程式的情況下在任何相容的網頁瀏覽器中呈現交互式2D和3D圖形[2]。
WebGL完全整合到瀏覽器的所有網頁標準中,可將影像處理和效果的GPU加速使用方式當做網頁Canvas的一部分。
WebGL元素可以加入其他HTML元素之中並與網頁或網頁背景的其他部分混合[3]。
WebGL程序由JavaScript編寫的控制代碼和OpenGLShadingLanguage(GLSL)編寫的著色器代碼組成,該語言類似於C或C++,並在電腦的圖形處理器(GPU)上執行。
WebGL由非營利KhronosGroup設計和維護[4]。
目次
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
閱論編科納斯組織制定標準活躍
OpenCL
SYCL
OpenGL
OpenGLES
WebGL
OpenGLSC
EGL(英語:EGL(OpenGL))
OpenVX
OpenVG
OpenXR
SPIR(英語:StandardPortableIntermediateRepresentation)
Vulkan
glTF
不活躍
COLLADA(英語:COLLADA)
OpenKCam
OpenKODE(英語:OpenKODE)
OpenMAX
OpenML
OpenSLES(英語:OpenSLES)
OpenWF(英語:OpenWF)
StreamInput
WebCL(英語:WebCL)
閱論編Web接口服務器(英語:Server-side)協議
HTTP
CGI
SCGI
FCGI
AJP(英語:ApacheJServProtocol)
WSRP(英語:WebServicesforRemotePortlets)
WebSocket
服務器API
CNSAPI(英語:NetscapeServerApplicationProgrammingInterface)
CASAPI
CISAPI
COMASP
JavaServlet
容器
CLIOWIN(英語:OpenWebInterfacefor.NET)
ASP.NETHandler(英語:HTTPhandler)
PythonWSGI
RubyRack(英語:Rack(webserverinterface))
JavaScriptJSGI(英語:JSGI)
PerlPSGI(英語:PSGI)
LuaWSAPI(英語:Kepler(software)#Frameworks)
Portlet
容器(英語:Portletcontainer)
Apache模塊
mod_jk(英語:mod_jk)
mod_lisp(英語:mod_lisp)
mod_mono(英語:mod_mono)
mod_parrot(英語:mod_parrot)
mod_perl(英語:mod_perl)
mod_php
mod_proxy(英語:mod_proxy)
mod_python(英語:mod_python)
mod_wsgi(英語:mod_wsgi)
mod_ruby(英語:mod_ruby)
PhusionPassenger(英語:PhusionPassenger)
主題
Web資源(英語:Webresource)與Web服務
開放API(英語:OpenAPI)
網絡鈎子
應用程式伺服器
比較(英語:Comparisonofapplicationservers)
腳本(英語:Server-sidescripting)
客戶端(英語:Client-side)瀏覽器擴充功能
CNPAPI
LiveConnect
XPConnect
CNPRuntime
CPPAPI
NaCl
ActiveX
BHO
XBAP(英語:XAMLBrowserApplications)
WebAssembly
WebAPIW3C
音頻(英語:HTML5Audio)
Canvas
CORS
DOM
DOM事件(英語:DOMevents)
EME
File(英語:HTML5FileAPI)
Geolocation(英語:W3CGeolocationAPI)
IndexedDB
MSE
SSE(英語:Server-sentevents)
SVG
視頻(英語:HTML5video)
WebRTC
WebSocket
Web消息(英語:WebMessaging)
網頁存儲
Webworker(英語:Webworker)
XMLHTTP
Khronos
WebCL(英語:WebCL)
WebGL
其他
Gears
WebSQLDatabase(前W3C)
主題
Ajax與DHTML
Mashup
WebIDL(英語:WebIDL)
腳本
主題
動態網頁
開放Web平台(英語:OpenWebPlatform)
豐富互聯網應用程序
網絡應用程序
閱論編網頁瀏覽器
比較
列表
時間線
使用率
分類
特點
廣告攔截
增強瀏覽(英語:Augmentedbrowsing)
書籤
小書籤
即時書籤(英語:FeaturesofFirefox#Livebookmarks)
智能書籤(英語:SmartBookmarks)
瀏覽器擴充功能
瀏覽器安全(英語:Browsersecurity)
瀏覽器同步器(英語:Browsersynchronizer)
比較(英語:Comparisonofbrowsersynchronizers)
Cookie
下載管理器
Favicon
增量查找(英語:Incrementalsearch)
插件
無痕瀏覽
分頁
通用編輯按鈕(英語:UniversalEditButton)
網頁標準
Acid測試
HTML
HTML5
CSS
SVG
XHTML
WebGL
JavaScript
數學置標語言
協議
超文本傳輸協議
超文本傳輸安全協議
在線證書狀態協議
SPDY
傳輸層安全性協定
WebSocket
網絡代理自動發現協議
相關主題
BrowserChoice.eu
證書吊銷列表
iLoo(英語:iLoo)
網絡套件
瀏覽器中間人攻擊(英語:Man-in-the-browser)
移動端網頁(英語:MobileWeb)
離線瀏覽
代理自動配置
Pwn2Own
豐富互聯網應用程序
指定網站瀏覽器(英語:Site-specificbrowser)
控件
萬維網
XML
電腦平台Blink排版引擎
Chromium
GoogleChrome
科摩多龍安全瀏覽器
AvastSecureBrowser
SuperBird
SRWareIron
CatalinaCitrio
CocCocCorom
NaverWhale
MicrosoftEdge
Brave
Vivaldi
Opera(15~)
YandexBrowser
Torch
CCleanerBrowser
Catsxp
Coowon
Orbitum
PlayFree
Beamrise
BlackHawk
uCozUran
OrtigraTitanium
HiddenReflexEpicPrivacy
BaiduSpark
紅芯瀏覽器
七星瀏覽器
JutaoCaimao
RamblerNichrome
Ishenyou265gChrome
WebKit排版引擎
Safari
Konqueror
Epiphany(2.28~)
iCab(4.0~)
OmniWeb(4.0~)
ABrowse
Uzbl
Falkon
Dooble
Midori
Rekonq
SkyKruzer
Arora
Flock
Shiira
Gecko排版引擎
Firefox
Cyberfox
Waterfox
IceWeasel
GNUIceCat
ComodoIceDragon
Galeon
K-Meleon
SwiftWeasel
XBBrowser
SeaMonkey
Netscape
Camino
BeonexCommunicator
Trident排版引擎
InternetExplorer
GreenBrowser
SlimBrowser
2345王牌瀏覽器
MyIE
KKman
PCManCombo
MSNExplorer
WebbIE
MenuBox
CrazyBrowser
DeepnetExplorer
GOSURF
iRider
mxie
NeoPlanet
AOLExplorer
DeepnetExplorer
NeoPlanet
NetCaptor
MediaBrowser
SpaceTime
UltraBrowser
混合排版引擎
Sleipnir
Lunascape
獵豹瀏覽器
淘寶瀏覽器
愛帆瀏覽器
楓樹瀏覽器
太陽花瀏覽器
世界之窗瀏覽器
360極速瀏覽器
360極速瀏覽器X
搜狗瀏覽器(2.0~)
傲遊瀏覽器(3.0~)
QQ瀏覽器(5.0~)
其他排版引擎
NetSurf
abaco(英語:abaco(webbrowser))
Amaya
KidZui(英語:KidZui)
Charon(英語:Charon(webbrowser))
Dillo
Gazelle
IBMWatsonExplorer
Arachne(英語:Arachne(webbrowser))
Arena
IBMHomePageReader
IBrowse
Links
Mosaic
Mothra(英語:Mothra(webbrowser))
NetPositive
蒼月瀏覽器(26~)
純文字排版引擎
ELinks(英語:ELinks)
Lynx
w3m
Emacs/W3
LineModeBrowser
Net-Tamer
行動平台Blink排版引擎
Chromium
GoogleChrome
AvastSecureBrowser
三星瀏覽器
AmazonSilk(英語:AmazonSilk)
NaverWhale
MicrosoftEdge
Brave
Vivaldi
Opera
YandexBrowser
Android瀏覽器
WebKit排版引擎
Safari
Konqueror
海豚瀏覽器
S60webbrowser
Steel
BOLT
FirefoxforiOS
NaverWhaleforiOS
Via瀏覽器
Gecko排版引擎
Firefox
Waterfox
MicroB
Minimo
Trident排版引擎
UC瀏覽器
傲遊雲瀏覽器
InternetExplorerMobile
其他
Blazer
ibisBrowser
NetFront
ObigoBrowser
Skweezer
Skyfire
Teashark
ThunderHawk
uZardWeb
Vision
WinWAP
Smooz(日語:Smooz)
Galio
Deepfish
Iris瀏覽器
電視機和電子遊樂器Gecko排版引擎
Kylo
Presto排版引擎
InternetChannel
Opera設備瀏覽器
Nintendo3DSInternetBrowser
WebKit排版引擎
GoogleTV
NetFront
Steam
其他
MSNTV
Galio
刪除線格式為停止開發的項目
取自「https://zh.wikipedia.org/w/index.php?title=WebGL&oldid=73130246」
分類:網站開發網頁技術應用程序接口繪圖函式庫OpenGL隱藏分類:CS1美國英語來源(en-us)CS1英語來源(en)使用過時圖像語法的頁面
導覽選單
個人工具
尚未登入討論貢獻建立帳號登入
命名空間
條目討論
繁體
不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體
視圖
閱讀編輯檢視歷史
更多
搜尋
導覽
首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科
說明
說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科
工具
連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目
列印/匯出
下載為PDF可列印版
其他專案
維基共享資源
其他語言
CatalàČeštinaDeutschΕλληνικάEnglishEspañolEestiفارسیFrançaisMagyarBahasaIndonesiaÍslenskaItaliano日本語한국어LatviešuNederlandsPolskiPortuguêsRomânăРусскийSlovenčinaไทยTürkçeУкраїнськаOʻzbekcha/ўзбекча
編輯連結
延伸文章資訊
- 1Day04] 為什麼WebGL 的效能這麼強?
WebGL 程式由JavaScript 編寫的控制代碼和 OpenGL Shading Language(GLSL)編寫的著色器程式碼組成. 這段話敘述了兩件事:. JavaScript 控制;...
- 2WebGL GPGPU
GPGPU is "General Purpose" GPU and means using the GPU for something other than drawing pixels. T...
- 3不用安裝軟體也能用網頁測顯卡?WebGL 水族館用瀏覽器養魚
任何人只要有瀏覽器,就能進入WebGL 3D 水族館. 一開始要先正名一下。與其說是測顯示卡,「測試瀏覽器的GPU 操作能力及能使用的GPU 效能 ...
- 4Is 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...
- 5使用WebGL 繪圖的基本步驟 - 3D 網站開發入門筆記
目前有兩個主要的GPU 繪圖介面:OpenGL 和微軟的DirectX。 WebGL 可以把JavaScript 和OpenGL ES 2.0 結合在一起,為HTML5 Canvas 提供硬體3...