Interested Article - WebGL

HTML

WebGL ( Web-based Graphics Library ) — кроссплатформенный API для отображения 3D-графики в браузере , разрабатываемый некоммерческой организацией Khronos Group . WebGL использует язык программирования шейдеров GLSL от 13 октября 2018 на Wayback Machine . WebGL исполняется как элемент HTML5 и поэтому является полноценной частью объектной модели документа (DOM API) браузера. Может использоваться с любыми языками программирования, которые умеют работать с DOM API, например, JavaScript , Rust от 17 июня 2018 на Wayback Machine , Java , Kotlin от 13 октября 2018 на Wayback Machine и другими. Все ведущие разработчики браузеров Google ( Chrome ), Mozilla ( Firefox ), и Apple ( Safari ), являются членами Khronos и реализуют WebGL в своих браузерах. За счёт использования низкоуровневых средств поддержки OpenGL часть кода на WebGL может выполняться непосредственно на видеокартах . WebGL — это контекст элемента canvas HTML , который обеспечивает API 3D графики без использования плагинов . Первая спецификация была выпущена 3 марта 2011 года. Современная версия 2.0 (несовместима с версией 1.0) доступна с 27 февраля 2017 года .

Принципы

API построена на основе OpenGL ES 2.0 и даёт возможность реализации 3D-графики в браузере, использует HTML5 -элемент canvas , также оперирует с DOM . Автоматическое управление памятью предоставляется языком JavaScript .

Версии

  • WebGL 1.0 — Построена на основе OpenGL ES 2.0, для шейдеров поддерживается язык GLSL ES версии 1.00 .
  • WebGL 2.0 — Построена на основе OpenGL ES 3.0, для шейдеров поддерживается язык GLSL ES версии 1.00 и 3.00 .

Реализация

  • Mozilla Firefox — WebGL был включён на всех платформах, у которых есть нужная графическая карта с актуальными драйверами, начиная с версии 4.0 .
  • Google Chrome — WebGL включён по умолчанию во всех версиях, начиная с 9 .
  • Safari — экспериментально поддерживает WebGL, начиная с версии 5.1, полная поддержка реализована и включена по умолчанию в версии 8.0.
  • Opera — WebGL реализован в версии Opera 12.0, но отключён по умолчанию.
  • Internet Explorer — начиная с Internet Explorer 11 WebGL официально поддерживается . До выхода 11 версии независимыми разработчиками были выпущены плагины Chrome Frame и IEWebGL, предусматривающие опции, необходимые для поддержки WebGL в Internet Explorer.

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

  • Maemo 5 — WebGL доступен во встроенном браузере начиная с версии прошивки PR1.2 (май 2011) .
  • — WebGL доступен посредством WebWorks и браузера в PlayBook OS 2.0 .
  • Google Chrome — WebGL доступен для Android -устройств в бета-версиях начиная с января 2013 .
  • Firefox for mobile — WebGL доступен для Android устройств в бета-версиях с начала 2011 .
  • Sony Ericsson Xperia — многие устройства на базе Android имеют поддержку WebGL после обновления прошивки .
  • Opera Mobile 12 final поддерживает WebGL (только на Android) .
  • Safari для iOS — поддержка реализована в версии 8.0 .

Рабочая группа

В состав рабочей группы, разрабатывающей стандарт, входят: Khronos Group , разработчики браузеров Apple Safari , Google Chrome , Mozilla Firefox и Opera , а также специалисты AMD и Nvidia .

История

WebGL возник из экспериментов над Canvas 3D Владимира Вукичевича ( Vladimir Vukićević ) из Mozilla , разработавшего прототип Canvas 3D в 2006 году. В конце 2007 года и Mozilla , и Opera создали свои собственные отдельные реализации.

В начале 2009 года Mozilla и Khronos организовали рабочую группу WebGL , 10 декабря 2009 года консорциум опубликовал первую черновую спецификацию WebGL . Председатель группы заявил, что завершение работы над спецификацией ожидается в первом квартале 2010 года . Окончательная ревизия первой редакции спецификаций была представлена 3 марта 2011 года в Сан-Франциско .

Разработка следующей версии спецификации началась в 2013 году. Стандарт WebGL 2.0, базирующийся на OpenGL ES 3.0, был ратифицирован консорциумом Khronos в январе 2017 г. . Новая версия стандарта была реализована в браузерах Firefox 51, Chrome 56 и Opera 43 .

Безопасность

В июне 2011 года корпорация Microsoft выразила свою обеспокоенность с точки зрения безопасности технологии WebGL, сославшись на чрезмерные по её мнению права доступа к оборудованию и ненадёжность механизмов защиты от отказа от обслуживания ( DoS ). Вице-президент Mozilla Марк Шавер отверг критику Microsoft, назвав представленные аргументы преувеличенными. Он также отметил наличие у Microsoft собственной 3D веб-технологии Silverlight 5, основанной на тех же принципах, что и WebGL, которую, тем не менее, Microsoft считает достаточно надёжной. Позднее Microsoft изменила своё отношение к технологии WebGL, реализовав её поддержку в своём браузере Internet Explorer 11.

Корпорация Apple , несмотря на затягивания решения о поддержке WebGL в браузере Safari по причинам безопасности, объявила о принятии такого решения на конференции WWDC в 2014 г.

Библиотеки

Для упрощения разработки WebGL-приложений существуют . Первой общедоступной стала библиотека WebGLU . Среди других библиотек для WebGL — , , Copperlicht , SpiderGL, gwt-g3d (обёртка для GWT ), , , , Babylon.js , Three.js , Turbulenz, OSGJS , XB PointStream и CubicVR.js .

Blend4Web позволяет визуально редактировать контент для WebGL в открытом пакете 3D моделирования и анимации Blender и экспортировать его для работы в браузерах за одну операцию .

Verge3D — WebGL рендерер, экспортирующий сцены напрямую из стандартных редакторов (поддерживаются Autodesk 3ds Max и Blender ) с возможностью добавления интерактивных сценариев без программирования .

Слой совместимости ANGLE

ANGLE (Almost Native Graphics Layer Engine) — библиотека, выпущенная под лицензией BSD , которая позволяет переводить содержимое WebGL в OpenGL ES 2.0, вызывать API DirectX 9 и 11, которые взаимодействуют с платформами Microsoft Windows без необходимости в дополнительных драйверах OpenGL . Используется по умолчанию в браузерах Google Chrome и Firefox.

См. также

Примечания

  1. . Дата обращения: 8 февраля 2017. 28 января 2017 года.
  2. . Khronos.org. Дата обращения: 14 мая 2011. 12 апреля 2012 года.
  3. . Дата обращения: 12 октября 2018. 8 марта 2017 года.
  4. . Дата обращения: 12 декабря 2009. 15 декабря 2009 года.
  5. . Khronos.org. Дата обращения: 14 мая 2011. 12 апреля 2012 года.
  6. . Дата обращения: 8 февраля 2017. 27 марта 2017 года.
  7. . Дата обращения: 8 февраля 2017. 28 января 2017 года.
  8. . Дата обращения: 29 августа 2011. Архивировано из 23 марта 2011 года.
  9. . Дата обращения: 29 августа 2011. Архивировано из 25 октября 2011 года.
  10. . Дата обращения: 16 января 2014. 16 января 2014 года.
  11. suihkulokki. . Suihkulokki.blogspot.com (7 июня 2010). Дата обращения: 14 мая 2011. 12 апреля 2012 года.
  12. Halevy, Ronen . BerryReview . Дата обращения: 15 ноября 2011. 12 марта 2013 года.
  13. Brandon Jones. . Tojicode (10 января 2013). Дата обращения: 12 февраля 2013. 12 марта 2013 года.
  14. iclkevin. . iChemLabs (12 ноября 2011). Дата обращения: 25 ноября 2011. 12 марта 2013 года.
  15. . blogs.sonyericsson.com . The Sony Ericsson Developer Program (29 ноября 2011). Дата обращения: 5 декабря 2011. 12 марта 2013 года.
  16. . Opera Software. Дата обращения: 27 февраля 2012. 12 марта 2013 года.
  17. . Дата обращения: 9 июля 2014. Архивировано из 14 июля 2014 года.
  18. от 9 сентября 2015 на Wayback Machine // Lenta.ru , 11.12.2009
  19. . Blog.vlad1.com. Дата обращения: 14 мая 2011. 12 апреля 2012 года.
  20. . My.opera.com (26 ноября 2007). Дата обращения: 14 мая 2011. 12 апреля 2012 года.
  21. . Khronos.org (4 августа 2009). Дата обращения: 14 мая 2011. 12 апреля 2012 года.
  22. от 15 декабря 2009 на Wayback Machine // Techradar
  23. Kurt Bakke. (англ.) . ConceivablyTech (3 марта 2011). Дата обращения: 4 марта 2011. 12 апреля 2012 года.
  24. Accent. . iXBT.com (3 марта 2011). Дата обращения: 4 марта 2011. Архивировано из 6 марта 2011 года.
  25. . khronos.org (5 июля 2017). Дата обращения: 16 августа 2017. 8 августа 2017 года.
  26. . . Дата обращения: 16 августа 2017. 28 августа 2017 года.
  27. . Microsoft (16 июня 2011). Дата обращения: 16 июня 2011. 12 апреля 2012 года.
  28. . The Inquirer (20 июня 2011). Дата обращения: 29 июня 2011. 12 апреля 2012 года.
  29. . TechCrunch (26 июня 2013). Дата обращения: 7 июля 2015. 9 июля 2015 года.
  30. . I Programmer (4 июня 2014). Дата обращения: 7 июля 2015. 7 июля 2015 года.
  31. . Дата обращения: 15 марта 2013. 16 марта 2013 года.
  32. Benjamin DeLillo. . Bjartr.blogspot.com (2 октября 2009). Дата обращения: 14 мая 2011. 12 апреля 2012 года.
  33. . Дата обращения: 14 марта 2013. 16 марта 2013 года.
  34. . Дата обращения: 14 марта 2013. 16 марта 2013 года.
  35. . Дата обращения: 14 марта 2013. 16 марта 2013 года.
  36. . Дата обращения: 14 марта 2013. 16 марта 2013 года.
  37. . Blend4Web.com. Дата обращения: 3 июля 2015. 1 июля 2015 года.
  38. . Soft8Soft. Дата обращения: 14 июня 2018. 14 июня 2018 года.
  39. . Дата обращения: 14 марта 2013. 16 марта 2013 года.

Ссылки

Источник —

Same as WebGL