WebGL
[править | править код]
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 7 марта 2018; проверки требуют 15 правок.
WebGL | |
---|---|
Тип | API |
Автор | Mozilla Foundation |
Разработчик | Khronos Group |
Операционная система | Cross-platform |
Первый выпуск | 3 марта 2011 |
Последняя версия | 2.0[1](30 августа 2018) |
Лицензия | Various |
Сайт | khronos.org/webgl/ |
Медиафайлы на Викискладе |
WebGL (Web-based Graphics Library) — кроссплатформенный API для 3D-графики в браузере, разрабатываемый некоммерческой организацией Khronos Group. WebGL использует язык программирования шейдеров GLSL[1]. WebGL исполняется как элемент HTML5 и поэтому является полноценной частью объектной модели документа (DOM API) браузера. Может использоваться с любыми языками программирования, которые умеют работать с DOM API, например, JavaScript, Rust[2], Java, Kotlin[3] и другими. Все ведущие разработчики браузеров Google (Chrome), Opera (Opera), Mozilla (Firefox), и Apple (Safari), являются членами Khronos и реализуют WebGL в своих браузерах. За счёт использования низкоуровневых средств поддержки OpenGL часть кода на WebGL может выполняться непосредственно на видеокартах. WebGL — это контекст элемента canvas HTML, который обеспечивает API 3D графики без использования плагинов[2]. Первая спецификация была выпущена 3 марта 2011 года. Современная версия 2.0 (несовместима с версией 1.0) доступна с 27 февраля 2017 года [4][5].
Содержание
Принципы[править | править код]
API построена на основе OpenGL ES 2.0 и даёт возможность реализации 3D-графики[3] в браузере, использует HTML5-элемент canvas, также оперирует с DOM. Автоматическое управление памятью предоставляется языком JavaScript[2].
Версии[править | править код]
- WebGL 1.0 — Построена на основе OpenGL ES 2.0, для шейдеров поддерживается язык GLSL ES версии 1.00[4].
- WebGL 2.0 — Построена на основе OpenGL ES 3.0, для шейдеров поддерживается язык GLSL ES версии 1.00 и 3.00[5].
Реализация[править | править код]
- Mozilla Firefox — WebGL был включён на всех платформах, у которых есть нужная графическая карта с актуальными драйверами, начиная с версии 4.0[6].
- Google Chrome — WebGL включён по умолчанию во всех версиях, начиная с 9[7].
- Safari — экспериментально поддерживает WebGL, начиная с версии 5.1, полная поддержка реализована и включена по умолчанию в версии 8.0.
- Opera — WebGL реализован в версии Opera 12.0, но отключён по умолчанию.
- Internet Explorer — начиная с Internet Explorer 11 WebGL официально поддерживается[8]. До выхода 11 версии независимыми разработчиками были выпущены плагины Chrome Frame и IEWebGL, предусматривающие опции, необходимые для поддержки WebGL в Internet Explorer.
Мобильные браузеры[править | править код]
- Maemo 5 — WebGL доступен во встроенном браузере microB начиная с версии прошивки PR1.2 (май 2011)[9].
- BlackBerry PlayBook — WebGL доступен посредством WebWorks и браузера в PlayBook OS 2.0[10].
- Google Chrome — WebGL доступен для Android-устройств в бета-версиях начиная с января 2013[11].
- Firefox for mobile — WebGL доступен для Android устройств в бета-версиях с начала 2011[12].
- Sony Ericsson Xperia — многие устройства на базе Android имеют поддержку WebGL после обновления прошивки[13].
- Opera Mobile 12 final поддерживает WebGL (только на Android)[14].
- Safari для iOS — поддержка реализована в версии 8.0[15].
Рабочая группа[править | править код]
В состав рабочей группы, разрабатывающей стандарт, входят: Khronos Group, разработчики браузеров Apple Safari, Google Chrome, Mozilla Firefox и Opera, а также специалисты AMD и Nvidia[16].
История[править | править код]
WebGL возник из экспериментов над Canvas 3D Владимира Вукичевича (Vladimir Vukićević) из Mozilla, разработавшего прототип Canvas 3D в 2006 году. В конце 2007 года и Mozilla[17], и Opera[18]создали свои собственные отдельные реализации.
В начале 2009 года Mozilla и Khronos организовали рабочую группу WebGL[19], 10 декабря 2009 года консорциум опубликовал первую черновую спецификацию WebGL[16][20]. Председатель группы Арун Ранганатан заявил, что завершение работы над спецификацией ожидается в первом квартале 2010 года[16][20]. Окончательная ревизия первой редакции спецификаций была представлена 3 марта 2011 года в Сан-Франциско[21][22].
Разработка следующей версии спецификации началась в 2013 году. Стандарт WebGL 2.0, базирующийся на OpenGL ES 3.0, был ратифицирован консорциумом Khronos в январе 2017 г.[23]. Новая версия стандарта была реализована в браузерах Firefox 51, Chrome 56 и Opera 43[24].
Безопасность[править | править код]
В июне 2011 года корпорация Microsoft выразила свою обеспокоенность с точки зрения безопасности технологии WebGL, сославшись на чрезмерные по её мнению права доступа к оборудованию и ненадёжность механизмов защиты от отказа от обслуживания (DoS).[25] Вице-президент Mozilla Марк Шавер отверг критику Microsoft, назвав представленные аргументы преувеличенными. Он также отметил наличие у Microsoft собственной 3D веб-технологии Silverlight 5, основанной на тех же принципах, что и WebGL, которую, тем не менее, Microsoft считает достаточно надёжной.[26] Позднее Microsoft изменила своё отношение к технологии WebGL, реализовав её поддержку в своём браузере Internet Explorer 11.[27]
Корпорация Apple, несмотря на затягивания решения о поддержке WebGL в браузере Safari по причинам безопасности, объявила о принятии такого решения на конференции WWDC в 2014 г.[28]
Библиотеки[править | править код]
Для упрощения разработки WebGL-приложений существуют различные фреймворки и библиотеки. Первой общедоступной стала библиотека WebGLU[29][30]. Среди других библиотек для WebGL — GLGE, C3DL, Copperlicht[31], SpiderGL, gwt-g3d[32] (обёртка для GWT), SceneJS, X3DOM, Processing.js, Babylon.js, Three.js, Turbulenz, OSGJS[33], XB PointStream и CubicVR.js[34].
Blend4Web позволяет визуально редактировать контент для WebGL в открытом пакете 3D моделирования и анимации Blender и экспортировать его для работы в браузерах за одну операцию[35].
Verge3D - WebGL рендерер, экспортирующий сцены напрямую из стандартных редакторов (поддерживаются Autodesk 3ds Max и Blender) с возможностью добавления интерактивных сценариев без программирования[36].
Слой совместимости ANGLE[править | править код]
ANGLE (Almost Native Graphics Layer Engine)[37] — библиотека, выпущенная под лицензией BSD, которая позволяет переводить содержимое WebGL в OpenGL ES 2.0, вызывать API DirectX 9 и 11, которые взаимодействуют с платформами Microsoft Windows без необходимости в дополнительных драйверах OpenGL. Используется по умолчанию в браузерах Google Chrome и Firefox.
См. также[править | править код]
Примечания[править | править код]
- ↑ WebGL 2.0 Specification
- ↑ 1 2 WebGL - OpenGL ES 2.0 for the Web. Khronos.org. Дата обращения 14 мая 2011. Архивировано 12 апреля 2012 года.
- ↑ WebGL Specification. Khronos.org. Дата обращения 14 мая 2011.Архивировано 12 апреля 2012 года.
- ↑ WebGL Specification
- ↑ WebGL 2 Specification
- ↑ Mozilla Firefox 4 Release Notes (недоступная ссылка). Дата обращения 29 августа 2011. Архивировано 23 марта 2011 года.
- ↑ Google releases Chrome 9; comes with Google Instant, WebGL — FierceCIO:TechWatch
- ↑ WebGL (Windows)
- ↑ suihkulokki. WebGL on N900. Suihkulokki.blogspot.com (7 июня 2010). Дата обращения 14 мая 2011. Архивировано 12 апреля 2012 года.
- ↑ Halevy, Ronen PlayBook OS 2.0 Developer Beta Includes WebGL, Flash 11, & AIR 3.0. BerryReview. Дата обращения 15 ноября 2011.Архивировано 12 марта 2013 года.
- ↑ Brandon Jones. Get WebGL working on the Android Chrome Beta. Tojicode (10 января 2013). Дата обращения 12 февраля 2013.Архивировано 12 марта 2013 года.
- ↑ iclkevin. WebGL on Mobile Devices. iChemLabs (12 ноября 2011). Дата обращения 25 ноября 2011. Архивировано 12 марта 2013 года.
- ↑ Xperia™ phones first to support WebGL™ – Developer World. blogs.sonyericsson.com. The Sony Ericsson Developer Program (November 29, 2011). Дата обращения 5 декабря 2011. Архивировано12 марта 2013 года.
- ↑ Opera Mobile 12. Opera Software. Дата обращения 27 февраля 2012. Архивировано 12 марта 2013 года.
- ↑ WebGL on iOS 8 Safari and webview.
- ↑ 1 2 3 Khronos опубликовала черновой вариант WebGL // Lenta.ru, 11.12.2009
- ↑ Canvas 3D: GL power, web-style. Blog.vlad1.com. Дата обращения 14 мая 2011. Архивировано 12 апреля 2012 года.
- ↑ Taking the canvas to another dimension. My.opera.com (26 ноября 2007). Дата обращения 14 мая 2011. Архивировано12 апреля 2012 года.
- ↑ Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet. Khronos.org (4 августа 2009). Дата обращения 14 мая 2011. Архивировано 12 апреля 2012 года.
- ↑ 1 2 WebGL 3D web standard reaches draft stages // Techradar
- ↑ Kurt Bakke. WebCL To Enable GPU-Accelerated Web Apps (англ.). ConceivablyTech (3 марта 2011). Дата обращения 4 марта 2011.Архивировано 12 апреля 2012 года.
- ↑ Accent. Khronos публикует спецификации WebGL 1.0 — ускорение 3D-графики для web-страниц без подключаемых модулей. iXBT.com (3 марта 2011). Дата обращения 4 марта 2011.Архивировано 12 апреля 2012 года.
- ↑ WebGL 2 Specification. khronos.org (5 июля 2017). Дата обращения 16 августа 2017.
- ↑ WebGL - Web APIs. MDN.
- ↑ WebGL Considered Harmful. Microsoft (16 июня 2011). Дата обращения 16 июня 2011. Архивировано 12 апреля 2012 года.
- ↑ Mozilla rejects Microsoft criticism of WebGL. The Inquirer (20 июня 2011). Дата обращения 29 июня 2011. Архивировано12 апреля 2012 года.
- ↑ Microsoft (Finally) Confirms WebGL Support For Internet Explorer11. TechCrunch (26 июня 2013). Дата обращения 7 июля 2015.
- ↑ Safari On iOS8 Supports WebGL - The New Era Can Now Commence. I Programmer (4 июня 2014). Дата обращения 7 июля 2015.
- ↑ OneGeek/WebGLU · GitHub. Дата обращения 15 марта 2013.Архивировано 16 марта 2013 года.
- ↑ Benjamin DeLillo. First WebGLU release. Bjartr.blogspot.com (2 октября 2009). Дата обращения 14 мая 2011. Архивировано12 апреля 2012 года.
- ↑ CopperLicht - JavaScript 3D Engine using WebGL. Дата обращения 14 марта 2013. Архивировано 16 марта 2013 года.
- ↑ gwt-g3d - 3D library for GWT - Google Project Hosting. Дата обращения 14 марта 2013. Архивировано 16 марта 2013 года.
- ↑ OSG.JS by cedricpinson. Дата обращения 14 марта 2013.Архивировано 16 марта 2013 года.
- ↑ cjcliffe/CubicVR.js · GitHub. Дата обращения 14 марта 2013.Архивировано 16 марта 2013 года.
- ↑ Официальный сайт Blend4Web - О проекте. Blend4Web.com. Дата обращения 3 июля 2015.
- ↑ Verge3D. Soft8Soft. Дата обращения 14 июня 2018.
- ↑ angleproject - ANGLE: Almost Native Graphics Layer Engine - Google Project Hosting. Дата обращения 14 марта 2013.Архивировано 16 марта 2013 года.
Ссылки[править | править код]
- Официальный сайт (англ.).
- Preview of WebGL (англ.) на YouTube.
- WebGL interactive models (англ.)
- Демо-приложение: человеческое тело (англ.)
- www.DoesMyBrowserSupportWebGL.com
Для улучшения этой статьи желательно:
|
source http://tessrijogo.blogspot.com/2019/11/webgl-web-based-graphics-library-api-3d.html
WebGL arose from experiments on Canvas 3D by Vladimir Vukićević from Mozilla , who developed the Canvas 3D prototype in 2006. At the end of 2007, both Mozilla [17] and Opera [18] created their own separate implementations.
ОтветитьУдалитьgta 5 apk