Пређи на садржај

WebGL

С Википедије, слободне енциклопедије
WebGL
Програмер(и)Khronos WebGL Working Group
Стабилно издање
2.0 / 17. јануар 2017.; пре 8 година (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”. Приступљено 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). „WebGL Debugging and Profiling Tools | Real-Time Rendering” (на језику: енглески). Приступљено 2025-04-26. 

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

[уреди | уреди извор]