WebGL

来自Local Chinese Wikipedia
跳转到导航 跳转到搜索

package.lua第80行Lua错误:module 'Module:CGroup/core' not found

页面Module:Infobox/styles.css没有内容。

WebGL
File:WebGL Logo.svg
原作者Mozilla基金会
開發者WebGL Working Group
首次发布2011年3月3日 (2011-03-03)[1]
当前版本2.0(2017年1月17日 (2017-01-17)
源代码库页面Template:Plainlist/styles.css没有内容。
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
引擎页面Template:Plainlist/styles.css没有内容。
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    操作系统跨平台
    类型API
    许可协议页面Template:Plainlist/styles.css没有内容。
      Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
      网站www.khronos.org/webgl/
      页面Module:Infobox/styles.css没有内容。

      package.lua第80行Lua错误:module 'Module:Sidebar/configuration' not found WebGL是一種JavaScript API,用於在不使用外掛程式的情況下在任何相容的網頁瀏覽器中呈現交互式2D和3D圖形[2]。WebGL完全整合到瀏覽器的所有網頁標準中,可將影像處理和效果的GPU加速使用方式當做網頁Canvas的一部分。WebGL元素可以加入其他HTML元素之中並與網頁或網頁背景的其他部分混合[3]。WebGL程序由JavaScript編寫的控制代碼和OpenGL Shading Language(GLSL)編寫的著色器代碼組成,該語言類似於CC++,並在電腦的圖形處理器(GPU)上執行。WebGL由非營利Khronos Group設計和維護[4]

      設計[编辑]

      WebGL 1.0基于OpenGL ES 2.0,並提供了3D圖形的API[5]。它使用HTML5 Canvas并允许利用文档对象模型接口。WebGL 2.0基于OpenGL ES 3.0,確保了提供許多選擇性的WebGL 1.0擴充功能,並引入新的API[6]。可利用部分Javascript实现自动記憶體管理[4]

      歷史[编辑]

      WebGL起源於Mozilla員工弗拉基米爾·弗基西維奇一項稱為Canvas 3D的實驗計畫。2006年,弗基西維奇首次展示了Canvas 3D的原型。2007年底在Firefox[7]和Opera[8]被實作。

      在2009年初,非營利技術聯盟Khronos Group啟動了WebGL的工作組,最初的工作成員包括AppleGoogleMozillaOpera[4][9]。2011年3月發布WebGL 1.0規範[1]。截至2012年3月,工作組的主席由肯·羅素(Ken Russell,全名「Kenneth Bradley Russell」)擔任。

      WebGL的早期應用包括Zygote Body[10][11]

      WebGL 2規範的發展始於2013年,並於2017年1月完成[12]。該規範基於OpenGL ES 3.0[13]。首度實作在Firefox 51、Chrome 56和Opera 43中[14]

      支援[编辑]

      目前,WebGL在最新的瀏覽器中被廣泛支援。然而,其可用性取決於其他因素,如GPU支援。WebGL官方網站提供了一個簡單的測試頁[15]。而第三方網站提供了更詳細的訊息(如瀏覽器使用的渲染器以及可用的擴展)[16][17]

      桌面瀏覽器[编辑]

      • Google Chrome – 從9.0開始支援預設啟用了 WebGL [18][19]。在Windows上,默認情況下,Chrome使用ANGLE渲染器將OpenGL ES轉換為Direct X 9.0c或11.0,後者具有更好的驅動程序支援[20]。在Linux和Mac OS X上,默認渲染器是OpenGL[21],也可以強制OpenGL作為Windows上的渲染器[20]。2013年9月起,Chrome還推出了更新的Direct3D 11渲染器,但需要更新的顯卡[22][23]。 Chrome 56+支援WebGL 2.0。
      • Internet Explorer – 从11开始支持[24]。Internet Explorer 11 最初未能通過大多數官方的WebGL一致性測試,但微軟後來發佈了幾個更新,最新的0.94 WebGL引擎目前通過了約97%的Khronos測試。較舊的版本可以安裝第三方外掛程式來支援,如IEWebGL[25]
      • Mozilla Firefox – 從4.0開始支援預設啟用[26]。Firefox也通過ANGLE在Windows平臺上使用DirectX。Firefox 51+ 支援 WebGL 2.0。
      • Safari – 在Mac OS X Snow Leopard上的Safari 5.1、OS X Mountain LionMac OS X Lion上的Safari6.0或較新版本開始支援WebGL,預設情況下禁用[27][28][29][30][31]。Safari版本12(在MacOS Mojave中可用)支援WebGL 2.0,目前作為"實驗性"功能。
      • Opera – 需自行啟用[32][33]。Opera 43+支援WebGL 2.0
      • Microsoft Edge – 對於Microsoft Edge Legacy,初始穩定版本支援WebGL版本0.95(context名稱:"experimental-webgl"),並帶有開源GLSL到HLSL轉譯器。 版本 10240+ 支援以 WebGL 1.0 為前綴。最新的基於Chromium的Edge支援WebGL 2.0

      行動瀏覽器[编辑]

      参考文献[编辑]

      1. 1.0 1.1 package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      2. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      3. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      4. 4.0 4.1 4.2 WebGL - OpenGL ES 2.0 for the Web
      5. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      6. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      7. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      8. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      9. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      10. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      11. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      12. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      13. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      14. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      15. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      16. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      17. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      18. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      19. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      20. 20.0 20.1 package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      21. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      22. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      23. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      24. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      25. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      26. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      27. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      28. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      29. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      30. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      31. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      32. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      33. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      34. 34.0 34.1 package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      35. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      36. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      37. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      38. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
      39. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found

      外部链接[编辑]

      參見[编辑]

      package.lua第80行Lua错误:module 'Module:Navbar/configuration' not found package.lua第80行Lua错误:module 'Module:Navbar/configuration' not found package.lua第80行Lua错误:module 'Module:Navbar/configuration' not found