WebGL
From Wikipedia, the free encyclopedia
Remove ads
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]
Remove ads
Историја
WebGL је еволуирао из Canvas 3D експеримената које је започео Владимир Вукићевић у Мозили. Вукићевић је први пут демонстрирао Canvas 3D прототип 2006. До краја 2007. и Мозила [4] и Опера [5] су направили своје засебне имплементације.
Почетком 2009. непрофитни технолошки конзорцијум Khronos Group покренуо је WebGL радну групу, са почетним учешћем Епла, Гугла, Мозиле, Опере и других. Верзија 1.0 WebGL спецификације је објављена у марту 2011.
Remove ads
Софтвер
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]
Remove ads
Алатке и екосистем
Корисност
Низак ниво природе 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]
Референце
Спољашње везе
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads