Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

WebGL

Матеріал з Вікіпедії — вільної енциклопедії.
WebGL
WebGL logo
ТипAPI
АвторMozilla Foundation
РозробникKhronos Group
Перший випуск3 березня2011; 14 років тому (2011-03-03)
Стабільний випуск2.0 (17 січня2017; 9 років тому (2017-01-17))
Операційна системакрос-платформова
Ліцензіярізні
Онлайн-документаціяkhronos.org/webgl/wiki/Main_Page(англ.) Редагувати інформацію у Вікіданих
Вебсайтwww.khronos.org/webgl/
HTML

WebGL — це стандарт на базіOpenGL ES 2.0, що дозволяє розробникам вебконтенту вбудовувати ввебоглядачі, які підтримуютьHTML5, повноцінну 3D-графіку, не вдаючись до посередництваплагінів. В намірах розробників поширити стандарт WebGL не тільки в браузерахперсональних комп'ютерів, а й у мобільних інтернет-пристроях. До робочої групи WebGL входятьKhronos Group, представники провідних розробників інтернет-браузерів, таких якApple Safari,Google Chrome,Mozilla Firefox іOpera, а також фахівціAMD іNvidia.

Ця технологія дозволяє упроваджувати апаратно-прискорену 3D графіку у вебсторінки без необхідності використовувати спеціальніплагіни веббраузера на будь-якій платформі, що підтримуєOpenGL абоOpenGL ES. Технічно це буде прив'язкою скриптівJavaScript до функцій, визначених в бібліотеках OpenGL ES 2.0, реалізовану на рівні браузера.

WebGL є подальшим розвитком експерименту Canvas 3D[2] вMozilla і вже представлена у збірках розробників Mozilla Firefox[3] іWebKit[4], а також в попередніх релізахGoogle Chrome 4[5].

В листопаді 2009 компанія Khronos Group анонсувала першу чорнову специфікацію WebGL.[6] Робота над специфікацією продовжується.

Про підтримку специфікації у своєму браузеріChrome, починаючи з версії 9[7], оголосивGoogle. Підтримку WebGL у ближчих версіях продуктів оголосилиMozilla (починаючи зFirefox 4) таApple Safari.

Принципи

[ред. |ред. код]

WebGL створений на основіOpenGL ES 2.0 з підтримкоюAPI для 3D-графіки. Він використовує елементcanvas зHTML5, а також взаємодіє зDOM. Автоматичне управління пам'яттю відбувається завдяки мові JavaScript. Шейдери у WebGL запрограмовані безпосередньо наGLSL.

Історія

[ред. |ред. код]

WebGL виник в результаті експериментів з Canvas 3DВладимира Вукичевича[en] зMozilla, котрий розробив прототип Canvas 3D у 2006 році. В кінці 2007 року і Mozilla[8], і Opera[9] розробили свої окремі реалізації.

На початку 2009 року некомерційне об'єднання Khronos організувало робочу групу WebGL, за участі Apple, Google, Mozilla, Opera та ін. Версія WebGL 1.0 була випущена у березні 2011 року. Станом на березень 2012 року робочою групою керував Кен Рассел(Ken Russell).

Перші випуски WebGL включалиZygote Body.[10][11] Останнім часом, Autodesk реалізував за допомогоюхмарних рішень більшу частину своїх програм, які працюють завдяки WebGL. Наприклад такі програми як: Fusion 360 і AutoCAD 360.[12]

Розробка WebGL 2 розпочалася у 2013 році.[13] Ця специфікація мала за основу OpenGL ES 3.0.

Реалізація

[ред. |ред. код]

WebGL широко підтримується у сучасних браузерах. Хоча можливість його використання залежить від інших факторів, а саме відGPU. Офіційний сайт WebGL пропонує просту тестову сторінку для перевірки на сумісність.[14][14] Більш детальна інформація (наприклад, те, який рендер використовує браузер, чи які розширення доступні) надається на сторонніх вебсайтах[15][16]. Робота WebGL у різноманітних браузерах:

  • Google Chrome — WebGL доступний для всіх платформ, котрі мають необхідну графічну карту з оновленими драйверами, починаючи з 9 версії, випущеної у 2011 році.[17][18] За замовченням у Windows Chrome використовуєANGLEрендер для перекладу з OpenGL ES уDirectX 9.0c або 11.0, котрий має більш якісну підтримку драйверів.[19] На Linux та Mac OS X за замовченням засобом візуалізації є OpenGL. Також можливо змусити Windows використовувати OpenGL як рендер. Починаючи з вересня 2013 року, Chrome також має новішийDirect3D 10 рендер, котрий, однак потребує більш нову графічну карту.
  • Mozilla Firefox — WebGL доступний для всіх платформ, котрі мають необхідну графічну карту з оновленими драйверами, починаючи з версії 4.0.[20] Починаючи з 2013 року, Firefox також використовує ANGLE на платформі Windows за допомоги DirectX.
  • Safari — Safari 6.0, а також більш нові версії встановлені наOS X Mountain Lion,Mac OS X Lion і Safari 5.1 наMac OS X Snow Leopard підтримують WebGL, котрий був недоступний до випуску Safari 8.0.[21][22][23][24][25]
  • Opera — WebGL реалізований у Opera 11 та 12, хоча вимкнений за замовчуванням.[26][27]
  • Internet Explorer — WebGL частково підтримується уInternet Explorer 11. Спершу він не витримував жодного тесту на сумісність від WebGL, пізніше Microsoft випустив декілька оновлень. Остання версія 0.94 WebGL на даний момент проходить близько ~97% тестів від Khronos. Підтримка WebGL також може бути підключена вручну до попередніх версій Internet Explorer, використовуючи сторонні плагіни, такі як IEWebGL наприклад.[28][29][30][31]
  • Microsoft Edge – З моменту випуску підтримував WebGL версії 0.95 (контекстне ім'я: "experimental-webgl") з вільними вихідними кодами GLSL доHLSLtranspiler.[32] Версії 10240+ підтримують WebGL 1.0 згідно специфікації. Версія WebGL 2.0 запланована і має середній пріоритет важливості щодо імплементації в майбутніх релізах.[33]

Мобільні браузери

[ред. |ред. код]
  • BlackBerry 10 — WebGL доступний для пристроїв BlackBerry, починаючи з 10.00 версіїОП.[34]
  • BlackBerry PlayBook — WebGL доступний за допомоги WebWorks і браузера у PlayBook OS 2.00.[35]
  • Android Browser — Взагалі то не підтримується, але ряд Android смартфонів, наприклад: Sony Ericsson Xperia підтримує можливість WebGL завдяки вбудованим можливостям. Смартфони Samsung також мають підтримку WebGL (перевірено на Galaxy SII (4.1.2) і Galaxy Note 8.0 (4.2)).[36] Підтримується у Google Chrome браузері, що заміщає у багатьох телефонах вбудований браузер Android.
  • Internet Explorer — WebGL доступний, починаючи з Windows Phone 8.1.
  • Firefox for mobile — WebGL доступний для Android пристроїв, починаючи з Firefox 4.[37]
  • Google Chrome — WebGL доступний для Android пристроїв, починаючи з Google Chrome 25 і включений за замовчуванням, починаючи з 30 версії.[38]
  • Opera Mobile — Opera Mobile 12 підтримує WebGL (тільки для Android).[39]
  • Tizen
  • Ubuntu Touch
  • webOS
  • Safari дляIOS — підтримує WebGL у версіїiOS 8.[40]

Створення контенту та його експорт

[ред. |ред. код]

Використання WebGL API може дуже стомлювати якщо не використовувати деякі корисні бібліотеки наприклад створені для легкої роботи з шейдерами, чи для завантаженняграфічних сцен та 3D об'єктів у популярних на сьогодення форматах. JavaScript бібліотеки вбудовані (абопортовані у WebGL) забезпечують додатковими функціональними можливостями. Неповний перелік бібліотек, які надають багато високотехнічних можливостей:three.js,O3D,OSG.JS[en],CopperLicht[en] іGLGE[en]. Також розвиваються [Гральний рушій|ігрові рушії] на WebGL,[41] включаючиUnreal Engine 4 і 5.Stage3D[en] /Flash-basedAway3D[en] — бібліотека високого рівня, також має порт на WebGL реалізований наTypeScript.[42][43] Існують і простіші бібліотеки, котрі надають тільки векторні та матричні математичні можливості для шейдерів — sylvester.js. Іноді вона використовується в поєднанні з розширенням WebGL — glUtils.js.[44]

Є також деякі 2D бібліотеки, побудовані на основі WebGL, такі якCocos2d-х або Pixi.js, які були реалізовані для підвищення продуктивності (так само, як Starling Framework відносно Stage3D у світі Flash). Коли WebGL не доступний, вирішення задач 2D бібліотек перекладається наHTML5 canvas.[45]

Видалення помилок рендерингу через надання майже повного доступу до GPU обмежує продуктивність реалізацій JavaScript. Деякі з них були переадресовані наasm.js[en]. (Точно так само, як впровадження Stage3D відкрило проблеми продуктивності в межахActionScript, які були розглянуті в рамках проектів, таких якCrossBridge[en]).[45]

Створення контенту для WebGL сцен часто означає, використання стандартних 3D інструментів для створення та експорту сцен, відтворення їх у відповідних форматах для зовнішніх програм. Наприклад у авторському програмному забезпеченні для 3D, такому якBlender абоAutodesk Maya. Але існує також деяке специфічне WebGL забезпечення, наприклад онлайн редакторClara.io[en] на основі WebGL. Онлайн платформи, такі якSketchfab[en] іClara.io[en] дозволяють користувачам безпосередньо завантажувати свої 3D моделі і зображати їх за допомогою вбудованого WebGL переглядача.

Крім того, Mozilla Firefox реалізувала інструменти з вбудованим WebGL, починаючи з версії 27, котрі дозволяють редагування vertex і фрагменти шейдерів.[46] З'явився також ряд інших інструментів задля налагодження й профілювання проектів.[47]

X3D також виконали проект під назвою X3DOM для створення X3D іVRML контенту, що працює на WebGL. 3D модель розташовують між XML тегами <X3D> у HTML5, а інтерактивний скрипт використовує JavaScript і DOM для відображення. BS Content Studio разом з InstantReality X3D експортером може експортувати X3D у HTML і опрацювати його на WebGL.

Подібні технології для 3D у браузерах

[ред. |ред. код]

Прошарок Java OpenGL дуже схожий на WebGL у світі Java, в той час як Stage3D є еквівалентом Adobe Flash Player 11 і пізніших версій. Google Native Client також підтримує OpenGL ES 2.0.

Див. також

[ред. |ред. код]

Виноски

[ред. |ред. код]
  1. Library of CongressLibrary of Congress Name Authority File
  2. Canvas 3D. Архіворигіналу за 12 квітня 2012. Процитовано 14 грудня 2009.[Архівовано 2012-04-05 уWayback Machine.]
  3. Firefox nightly builds. Архіворигіналу за 10 листопада 2016. Процитовано 14 грудня 2009.
  4. WebKit nightly builds. Архіворигіналу за 2 червня 2015. Процитовано 14 грудня 2009.
  5. WebGL slips into Chrome, too, for 3D Web. Архіворигіналу за 20 грудня 2012. Процитовано 14 грудня 2009.
  6. WebGL 3D web standard reaches draft stages[Архівовано 15 грудня 2009 уWayback Machine.] — Techradar, 11.12.2009
  7. Архівована копія. Архіворигіналу за 20 лютого 2011. Процитовано 6 лютого 2011.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  8. Canvas 3D: GL power, web-style. Blog.vlad1.com. Архіворигіналу за 12 квітня 2012. Процитовано 14 травня 2011.[Архівовано 2012-04-05 уWayback Machine.]
  9. Taking the canvas to another dimension. My.opera.com. 26 листопада 2007.Архів оригіналу за 17 листопада 2007. Процитовано 14 травня 2011.
  10. Google Body – Google Labs. Bodybrowser.googlelabs.com. Архіворигіналу за 13 травня 2011. Процитовано 14 травня 2011.
  11. Bhanoo, Sindya N. (23 грудня 2010).New From Google: The Body Browser. Well.blogs.nytimes.com. Архіворигіналу за 6 лютого 2015. Процитовано 14 травня 2011.
  12. AUTODESK FUSION 360: THE FUTURE OF CAD, PT. 1. 3dcadworld.com. Архіворигіналу за 16 березня 2015. Процитовано 21 серпня 2013.
  13. WebGL 2 Specification. khronos.org. 26 вересня 2013. Архіворигіналу за 8 серпня 2017. Процитовано 28 жовтня 2013.
  14. абWebGL test page. Архіворигіналу за 18 квітня 2015. Процитовано 21 квітня 2015.
  15. Архівована копія. Архіворигіналу за 20 травня 2015. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  16. Архівована копія. Архіворигіналу за 28 травня 2015. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  17. Paul Mah (8 лютого 2011).Google releases Chrome 9; comes with Google Instant, WebGL – FierceCIO:TechWatch. FierceCIO. Архіворигіналу за 25 жовтня 2011. Процитовано 20 березня 2012.
  18. Архівована копія. Архіворигіналу за 28 травня 2015. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  19. Архівована копія. Архіворигіналу за 10 серпня 2014. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  20. Mozilla Firefox 4 Release Notes. Mozilla.com. 22 березня 2011. Архіворигіналу за 23 березня 2011. Процитовано 20 березня 2012.
  21. New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more. Fairerplatform.com. 3 травня 2011. Архіворигіналу за 19 березня 2012. Процитовано 20 березня 2012.
  22. Enable WebGL in Safari. Ikriz.nl. 23 серпня 2011. Архіворигіналу за 4 березня 2012. Процитовано 20 березня 2012.
  23. Getting a WebGL Implementation. Khronos.org. 13 січня 2012. Архіворигіналу за 28 травня 2015. Процитовано 20 березня 2012.
  24. Implementations/WebKit. Khronos.org. 3 вересня 2011. Архіворигіналу за 21 березня 2015. Процитовано 20 березня 2012.
  25. WebGL Now Available in WebKit Nightlies. Webkit.org. Архіворигіналу за 8 березня 2012. Процитовано 20 березня 2012.[Архівовано 2012-03-08 уWayback Machine.]
  26. WebGL and Hardware Acceleration. My.opera.com. 28 лютого 2011. Архіворигіналу за 3 березня 2011. Процитовано 20 березня 2012.
  27. Introducing Opera 12 alpha. My.opera.com. 13 жовтня 2011.Архів оригіналу за 15 жовтня 2011. Процитовано 20 березня 2012.
  28. Архівована копія. Архіворигіналу за 11 квітня 2015. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  29. Internet Explorer 11 Preview guide for developers. Microsoft. 17 липня 2013. Архіворигіналу за 31 жовтня 2014. Процитовано 24 липня 2013.
  30. WebGL. Microsoft. 17 липня 2013. Архіворигіналу за 31 жовтня 2014. Процитовано 24 липня 2013.
  31. Internet Explorer 11 to support WebGL and MPEG Dash. Engadget. 26 червня 2013. Архіворигіналу за 21 травня 2015. Процитовано 26 червня 2013.
  32. GitHub - Microsoft Edge WebGL Implementation. Microsoft. 4 червня 2016. Архіворигіналу за 10 травня 2019. Процитовано 10 червня 2016.
  33. The status of WebGL 2.0 in Microsoft Edge is Under Considieration. Microsoft Edge Development. Архіворигіналу за 27 грудня 2018. Процитовано 2 жовтня 2019.[Архівовано 2018-12-27 уWayback Machine.]
  34. McDonough, Larry.WebGL: 3D Gaming on the Web Arrives.BerryReview. Архіворигіналу за 13 квітня 2013. Процитовано 9 квітня 2013.[Архівовано 2013-04-13 уWayback Machine.]
  35. Halevy, Ronen.PlayBook OS 2.0 Developer Beta Includes WebGL, Flash 11, & AIR 3.0.BerryReview. Архіворигіналу за 21 липня 2013. Процитовано 15 листопада 2011.
  36. Xperia™ phones first to support WebGL™ – Developer World.blogs.sonyericsson.com. The Sony Ericsson Developer Program. 29 листопада 2011. Архіворигіналу за 12 березня 2013. Процитовано 5 грудня 2011.[Архівовано 2013-05-27 уWayback Machine.]
  37. iclkevin (12 листопада 2011).WebGL on Mobile Devices. iChemLabs. Архіворигіналу за 12 березня 2013. Процитовано 25 листопада 2011.[Архівовано 2013-01-27 уWayback Machine.]
  38. Kersey, Jason.Chrome Beta for Android Update.Chrome Releases Blog. Google. Архіворигіналу за 3 квітня 2015. Процитовано 23 серпня 2013.
  39. Opera Mobile 12. Opera Software. Архіворигіналу за 1 березня 2012. Процитовано 27 лютого 2012.
  40. Cunningham, Andrew.iOS 8, Thoroughly Reviewed. Архіворигіналу за 1 червня 2015. Процитовано 19 вересня 2014.
  41. Tony Parisi (13 лютого 2014).Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages. "O'Reilly Media, Inc.". с. 364—366.ISBN 978-1-4493-6395-6. Архіворигіналу за 17 березня 2015. Процитовано 28 травня 2015.
  42. Архівована копія. Архіворигіналу за 8 серпня 2014. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  43. Архівована копія. Архіворигіналу за 8 серпня 2014. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)[Архівовано 2014-08-08 уWayback Machine.]
  44. Steve Fulton; Jeff Fulton (2013).HTML5 Canvas (вид. 2nd). "O'Reilly Media, Inc.". с. 624.ISBN 978-1-4493-3588-5. Архіворигіналу за 17 березня 2015. Процитовано 28 травня 2015.
  45. абАрхівована копія. Архіворигіналу за 23 грудня 2019. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  46. Архівована копія. Архіворигіналу за 28 травня 2015. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  47. Архівована копія. Архіворигіналу за 28 травня 2015. Процитовано 28 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)

Посилання

[ред. |ред. код]
СтандартиKhronos Group
Активні
Неактивні
Можливості · стандарти · протоколи
Можливості
Вебстандарти
Протоколи
Діючі
На основіBlink
На основіGecko
На основіWebKit
Інші
Розробку припинено
На основіGecko
На основіMSHTML
На основіWebKit
Інші
Отримано зhttps://uk.wikipedia.org/w/index.php?title=WebGL&oldid=44037939
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp