WebGL - 維基百科,自由的百科全書

文章推薦指數: 80 %
投票人數:10人

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/ўзбекча 編輯連結



請為這篇文章評分?