WebGL

WebGL
Програмер(и)Khronos WebGL Working Group
Стабилно издање
2.0 / 17. јануар 2017; пре 9 година (2017-01-17)
ТипAPI
Веб-сајтwww.khronos.org/webgl/

WebGL (скраћено од Web Graphics Library) је JavaScript API за приказивање интерактивне 2Д и 3Д графике у оквиру било ког компатибилног веб претраживача без употребе додатака. [1] WebGL је у потпуности интегрисан са другим веб стандардима, омогућавајући GPU-убрзану употребу физике, обраде слика и ефеката у HTML платну. WebGL елементи се могу мешати са другим HTML елементима и састављати са другим деловима странице или позадином странице. [2]

WebGL програми се састоје од контролног кода написаног у JavaScript-у и кода за шејдер написаног у OpenGL ES, језику сличном C или C++ . WebGL код се извршава на GPU рачунара.

WebGL је дизајнирао и одржава непрофитна организација Khronos Group. Khronos Group је 9. фебруара 2022. најавила подршку за WebGL 2.0 из свих главних претраживача. [3]

Историја

WebGL је еволуирао из Canvas 3D експеримената које је започео Владимир Вукићевић у Мозили. Вукићевић је први пут демонстрирао Canvas 3D прототип 2006. До краја 2007. и Мозила [4] и Опера [5] су направили своје засебне имплементације.

Почетком 2009. непрофитни технолошки конзорцијум Khronos Group покренуо је WebGL радну групу, са почетним учешћем Епла, Гугла, Мозиле, Опере и других. Верзија 1.0 WebGL спецификације је објављена у марту 2011.

Софтвер

WebGL је широко подржан од стране модерних претраживача. Међутим, његова доступност зависи и од других фактора, на пример да ли га GPUподржава. Званична веб локација WebGL нуди једноставну тест страницу. [6] Детаљније информације (као што је рендерер који прегледач користи и која су проширења доступна) могу се наћи на веб локацијама трећих страна. [7] [8]

  • Google Chrome – WebGL 1.0 омогућена је на свим платформама које имају одговарајућу графичку картицу са ажурираним драјверима од верзије 9, објављене у фебруару 2011.[9][10] Подразумевано укључено у Windows, Chrome користи ANGLE (Almost Native Graphics Layer Engine) рендерер за превођење OpenGL ES у Direct X 9.0c или 11.0, који имају бољу подршку за драјвер.[11] У Linux Mac OS X системима, подразумевани рендерер је OpenGL.[12] Такође је могуће користити OpenGL као рендерер за Windows.[11] Од септембра 2013., Chrome има новији Direct3D 11 рендерер, што захтева новију графичку картицу.[13][14] Chrome 56+ подржава WebGL 2.0.
  • Firefox – WebGL 1.0 је омогућен на свим платформама које имају одговарајућу графичку картицу са ажурираним драјверима од верзије 4.0.[15] Од 2013. Firefox такође користи DirectX на Windows-у преко ANGLE.[11] Firefox 51+ подржава WebGL 2.0.
  • Safari – Safari 6.0 и новије верзије инсталиране на OS X Mountain Lion, Mac OS X Lion и Safari 5.1 на Mac OS X Snow Leopard имплементирана је подршка за WebGL 1.0, што је раније било подразумевано онемогућено Safari 8.0.[16][17][18][19][20] Safari 12 (доступан на MacOS Mojave) има доступну подршку за WebGL 2.0 као „експериментална“ функција. Safari 15 омогућава WebGL 2.0 за све коринсике.[21]
  • Opera – WebGL 1.0 је имплементиран у Opera 11 и 12, али је подразумевано онемогућен 2014.[22][23] Opera 43+ подржава WebGL 2.0.
  • Internet Explorer – WebGL 1.0 делимично је подржан у Internet Explorer 11.[24][25][26][27] Internet Explorer у почетку није прошао већину званичних тестова усаглашености са WebGL-ом, али је Microsoft касније објавио неколико ажурирања. WebGL 0.94 тренутно пролази ≈97% Khronos тестова.[28] WebGL Подршка се такође може ручно додати у старије верзије помоћу додатака трећих страна као што су IEWebGL.[29]
  • Microsoft Edge – за Microsoft Edge Legacy, Почетно стабилно издање подржава WebGL верзију 0.95 (контекстни назив: „experimental-webgl“) са транспилером отвореног кода GLSL у HLSL.[30] Верзија 10240+ подржава WebGL 1.0. Најновији Edge базиран на Chromium-у подржава WebGL 2.0.

Мобилни претраживачи

  • Android Browser – WebGL 1.0 is supported on Android as of Chrome 25.[31] WebGL 2.0 is supported on Android as of Chrome 114.[32] Chrome is used for the Android system webview as of Android 5.[32]
  • BlackBerry 10 – WebGL 1.0 is available for BlackBerry devices since OS version 10.00[33]
  • BlackBerry PlayBook – WebGL 1.0 is available via WebWorks and browser in PlayBook OS 2.00[34]
  • Internet Explorer – Prefixed WebGL 1.0 is available on Windows Phone 8.x (11+)
  • Firefox for mobile – WebGL 1.0 is available for Android and MeeGo devices since Firefox 4.[35][36]
  • Firefox OS[36]
  • Google Chrome – WebGL 1.0 is available for Android devices since Google Chrome 25 and enabled by default since version 30.[37]
  • Maemo – In Nokia N900, WebGL 1.0 is available in the stock microB browser from the PR1.2 firmware update onwards.[38]
  • MeeGo – WebGL 1.0 is unsupported in the stock browser "Web." However, it is available through Firefox.[36]
  • Microsoft Edge – Prefixed WebGL 1.0 is available on Windows 10 Mobile.[39]
  • Opera Mobile – Opera Mobile 12 supports WebGL 1.0 (on Android only).[40]
  • Safari on iOS – WebGL 1.0 is available for mobile Safari in iOS 8.[41] WebGL 2.0 is available for mobile Safari in iOS 15.[32]
  • Sailfish OS – WebGL 1.0 is supported in the default Sailfish browser.[42]
  • Tizen – WebGL 1.0 is supported[43]

Алатке и екосистем

Корисност

Низак ниво природе WebGL API-ја, што сам по себи пружа мало за брзо креирање пожељне 3Д графике, мотивисало је креирање библиотека вишег нивоа које апстрахују уобичајене операције (нпр. учитавање графикона сцене и 3Д објеката у одређеним форматима; примена линеарних трансформација на шејдере или приказе фрстума). Неке такве библиотеке су пренете на JavaScript из осталих језика. Примери библиотека које пружају функције високог нивоа укључују A-Frame, BabylonJS, PlayCanvas, three.js, OSG.JS и CopperLicht.

Креирање садржаја

Као и са било којим другим графичким API-јем, креирање садржаја за WebGL сцене захтевају коришћење алата за креирање 3Д садржаја и извоз сцене у формат који може да чита прегледач или помоћна библиотека. Софтвер за 3Д ауторинг за десктоп рачунаре, као што су Blender или Autodesk Maya се могу користити у ову сврху.

Алати засновани на окружењу

Почевши од Firefox 27, Mozilla је Firefox-у дала уграђене WebGL алате који омогућавају уређивање чворова и фрагментних шејдера.[44] Појавио се и низ других алата за отклањање грешака и профилисање.[45]

Референце

  1. ^ „WebGL Fundamentals”. HTML5 Rocks. 
  2. ^ Parisi, Tony (2012-08-15). „WebGL: Up and Running”. O'Reilly Media, Incorporated. Архивирано из оригинала 2013-02-01. г. Приступљено 2012-07-13. 
  3. ^ „WebGL 2.0 Achieves Pervasive Support from all Major Web Browsers”. The Khronos Group (на језику: енглески). 2022-02-09. Приступљено 2022-02-13. 
  4. ^ „Canvas 3D: GL power, web-style”. Blog.vlad1.com. Архивирано из оригинала 2011-07-17. г. Приступљено 2011-05-14. 
  5. ^ „Taking the canvas to another dimension”. My.opera.com. 2007-11-26. Архивирано из оригинала 2007-11-17. г. Приступљено 2011-05-14. 
  6. ^ „WebGL test page”. webgl.org. 
  7. ^ „WebGL Report”. webglreport.com. 
  8. ^ „WebGL Browser Report — WebGL Detection — WebGL Tester — BrowserLeaks”. browserleaks.com. 
  9. ^ Mah, Paul (8. 2. 2011). „Google releases Chrome 9; comes with Google Instant, WebGL – FierceCIO:TechWatch”. FierceCIO. Архивирано из оригинала 2011-10-25. г. Приступљено 2012-03-20. 
  10. ^ „WebGL in Chrome Stable! - Learning WebGL”. learningwebgl.com. Архивирано из оригинала 2015-05-28. г. Приступљено 2014-08-07. 
  11. ^ а б в „(WebGL) How to Enable Native OpenGL in your Browser (Windows)”. geeks3d.com. 11. 6. 2013. 
  12. ^ „Chromium Blog: Introducing the ANGLE Project”. Chromium Blog. 
  13. ^ „WebGL around the net, 17 Oct 2013 - Learning WebGL”. learningwebgl.com. Архивирано из оригинала 8. 8. 2014. г. Приступљено 5. 8. 2014. 
  14. ^ „At last! Chrome D3D11 day has come!”. tojicode.com. 
  15. ^ „Mozilla Firefox 4 Release Notes”. Mozilla.com. 2011-03-22. Приступљено 2012-03-20. 
  16. ^ „New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more”. Fairerplatform.com. 2011-05-03. Архивирано из оригинала 2012-03-19. г. Приступљено 2012-03-20. 
  17. ^ „Enable WebGL in Safari”. Ikriz.nl. 2011-08-23. Архивирано из оригинала 2012-03-04. г. Приступљено 2012-03-20. 
  18. ^ „Getting a WebGL Implementation”. Khronos.org. 2012-01-13. Приступљено 2012-03-20. 
  19. ^ „Implementations/WebKit”. Khronos.org. 2011-09-03. Приступљено 2012-03-20. 
  20. ^ „WebGL Now Available in WebKit Nightlies”. Webkit.org. Архивирано из оригинала 2012-03-08. г. Приступљено 2012-03-20. 
  21. ^ modeless (2021-09-24). „Safari 15 is released. WebGL 2 is now supported in every major browser and platform!”. r/webgl. Приступљено 2023-10-18. 
  22. ^ „WebGL and Hardware Acceleration”. My.opera.com. 2011-02-28. Архивирано из оригинала 2011-03-03. г. Приступљено 2012-03-20. 
  23. ^ „Introducing Opera 12 alpha”. My.opera.com. 2011-10-13. Архивирано из оригинала 2011-10-15. г. Приступљено 2012-03-20. 
  24. ^ „WebGL (Windows)”. microsoft.com. Microsoft. 
  25. ^ „Internet Explorer 11 Preview guide for developers”. Microsoft. 2013-07-17. Приступљено 2013-07-24. 
  26. ^ „WebGL”. Microsoft. 2013-07-17. Приступљено 2013-07-24. 
  27. ^ „Internet Explorer 11 to support WebGL and MPEG Dash”. Engadget. 2013-06-26. Приступљено 2013-06-26. 
  28. ^ „IE11 fails more than half tests in official WebGL conformance test suite”. Microsoft Connect. 
  29. ^ „IEWebGL”. Iewebgl. Приступљено 2014-08-14. 
  30. ^ „GitHub - Microsoft Edge WebGL Implementation”. Microsoft. 2016-06-04. Приступљено 2016-06-10. 
  31. ^ „WebGL: 2D and 3D graphics for the web - Web APIs - MDN”. Приступљено 2023-06-28. 
  32. ^ а б в „WebGL 2.0 - Can I use...”. Приступљено 2023-06-28. 
  33. ^ McDonough, Larry. „WebGL: 3D Gaming on the Web Arrives”. BerryReview. Архивирано из оригинала 2013-04-13. г. Приступљено 2013-04-09. 
  34. ^ Halevy, Ronen. „PlayBook OS 2.0 Developer Beta Includes WebGL, Flash 11, & AIR 3.0”. BerryReview. Приступљено 2011-11-15. 
  35. ^ „WebGL on Mobile Devices”. iChemLabs. 2011-11-12. Архивирано из оригинала 2013-01-27. г. Приступљено 2011-11-25. 
  36. ^ а б в „Mobile HTML5 compatibility on iPhone, Android, Windows Phone, BlackBerry, Firefox OS and other mobile devices”. Архивирано из оригинала 15. 04. 2022. г. Приступљено 2015-09-16. 
  37. ^ Kersey, Jason. „Chrome Beta for Android Update”. Chrome Releases Blog. Приступљено 2013-08-23. 
  38. ^ Voipio, Riku (2010-06-07). „WebGL on N900”. Suihkulokki.blogspot.com. Приступљено 2011-05-14. 
  39. ^ „Dev guide: WebGL – Microsoft Edge Development”. Microsoft. Архивирано из оригинала 2016-10-08. г. Приступљено 2016-06-10. 
  40. ^ „Opera Mobile 12”. Opera Software. Архивирано из оригинала 1. 3. 2012. г. Приступљено 27. 2. 2012. 
  41. ^ Cunningham, Andrew (2014-09-17). „iOS 8, Thoroughly Reviewed”. Ars Technica. Приступљено 2014-09-19. 
  42. ^ „HTML5test – How well does your browser support HTML5?”. Приступљено 2015-09-16. 
  43. ^ „HTML5test – How well does your browser support HTML5?”. Приступљено 2015-09-16. 
  44. ^ „Live editing WebGL shaders with Firefox Developer Tools – Mozilla Hacks - the Web developer blog”. Mozilla Hacks – the Web developer blog (на језику: енглески). Приступљено 2025-04-26. 
  45. ^ Eric (2013-11-19). Real-Time Rendering” (на језику: енглески). Приступљено 2025-04-26. 

Спољашње везе

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.