WebGL

WebGL
WebGL
WebGL логотип
Тип

API

Автор

Mozilla Foundation

Разработчик

Khronos Group

Операционная система

Cross-platform

Тестовая версия

1.0[1] (18 февраля 2011)

Лицензия

Various

Сайт

www.khronos.org/webgl/

 Просмотр этого шаблона  HTML

WebGL[2] (Web-based Graphics Library) — это библиотека для программного обеспечения, которая расширяет возможности языка программирования JavaScript, позволяя ему создавать интерактивную 3D графику внутри любого совместимого с ней веб-браузера. Код на WebGL выполняется с помощью видеокарты.

WebGL — это контекст элемента canvas HTML, который обеспечивает API 3D графику без использования плагинов.[3] Спецификация версии 1.0 была выпущена 3 марта 2011 года.[4] Некоммерческая Khronos Group управляет работой WebGL.

Содержание

Дизайн

WebGL построена на основе OpenGL ES 2.0 и обеспечивает API для 3D графики.[5] Она использует элемент HTML5 canvas, также ей доступен интерфейс Document Object Model. Автоматическое управление памятью предоставляется языком JavaScript.[3]

Реализация

Компьютерные браузеры

  • Mozilla Firefox — WebGL был включен во все платформы, у которых есть нужная графическая карта с обновленными драйверами, начиная с версии 4.0.[6]
  • Google Chrome — WebGL включен по умолчанию во все версии начиная с 9.[7]
  • Safari — Safari поддерживает WebGL, но поддержка отключена по умолчанию.[8]
  • Opera — WebGL реализован в последней версии Opera 12.00
  • Internet Explorer — Microsoft не заявляла об официальной поддержке WebGL. Плагины Chrome Frame и IEWebGL предусматривают опции, необходимые для поддержки WebGL в Internet Explorer.
  • Maemo 5 — официально функционирует в стандартном браузере Maemo 5 с выходом Maemo 5 PR1.2 в мае 2011 года.

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

Nokia N900 — WebGL доступен в обновленном встроенном ПО PR 1.2.[9] Mag200 - WebGL доступен в прошивке 0.2.12.

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

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

История

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

В начале 2009 года Mozilla и Khronos организовали рабочую группу WebGL.[13] 10 декабря 2009 года консорциум опубликовал первую черновую спецификацию WebGL[10][14]. Председатель группы Арун Ранганатан, заявил, что завершение работы над спецификацией ожидается в первом квартале 2010 года[10][14]. Окончательная ревизия первой редакции спецификаций была представлена 3 марта 2011 года в Сан-Франциско[1][15][16]. Было показано в мае 2011, что в WebGL имеются существенные слабые места в безопасности, такие как отказ в обслуживании и разрешение скриптовых атак.[17]

Электронные учебные пособия

Для изучения WebGL можно воспользоваться такими учебными пособиями, как Mozilla Developer Network и Learning WebGL (eng) (русский перевод).

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

В мае 2011 года служба безопасности Context Information Security опубликовала отчет, который детально разбирает несколько проблем с безопасностью в текущих реализациях WebGL от Google Chrome и Mozilla Firefox, и вообще в самой спецификации WebGL как таковой. Согласно отчету, WebGL позволяет полным по Тьюрингу программам, появившимся на компьютере из Интернета, добраться до привилегированного режима графических драйверов и оборудования. Отчет также снабжен ссылками на примеры действий, создающих проблемы с безопасностью; эти действия способны вызывать отказ от обслуживания и воровство меж-доменных изображений. Отчет завершается тем, что «браузеры, в которых WebGL встроен и включен по умолчанию, подвергают пользователя риску, созданному благодаря данным проблемам.»[18]

Позже United States Computer Emergency Readiness Team (US-CERT) опубликовала предупреждение о том, что «WebGL содержит множество существенных проблем с безопасностью. Влияние этих проблем включает в себя произвольное выполнение кода, отказ от обслуживания и меж-доменные атаки.» US-CERT также призывал «пользователей и администраторов просмотреть отчет Context и отключать WebGL, чтобы постараться уменьшить риск».[19]

Группа Khronos, которая включает в себя Mozilla и Google Chrome, ответила на беспокойства, предлагая возможные решения и будущие методы разработки.[20] После просмотра отчета Context Mozilla решила убрать поддержку меж-доменных изображений в Firefox; в это время группа Khronos обновила спецификацию WebGL, чтобы улучшить защиту от отказа от обслуживания и атак на открытые ресурсы.[21] В настоящее время предложенные решения все еще находятся на стадии разработки и не распространены повсеместно производителями GPU.[22]

Context была не довольна решением группы Khronos сделать шаг, зафиксировав WebGL, и решила, что это решение не эффективно по отношению к поставленным проблемам.[23] В последующей статье Context снабжает читателей еще большим количеством примеров уязвимости системы безопасности в последних реализациях WebGL на различных платформах. Признаки этих проблем стоят в ряду неисправностей начиная с разрушения системы и заканчивая утечкой информации. Context продолжает задавать вопрос, была ли WebGL специфицирована, разработана и реализована с учетом службы безопасности.[21]

В июне 2011 года Microsoft заявил, что они не могут одобрить WebGL в его текущей форме с точки зрения безопасности. Исследование, проведенное командой инженеров MSRC, привело к заключению, что поддержка WebGL в продуктах Microsoft имела бы трудности с исполнением требований Security Development Lifecycle — стандарты безопасности для программного обеспечения, принятые внутри Microsoft. Microsoft ссылается на чрезмерно позволенную незащищенность функциональности оборудования и непроверенные возможности защиты от отказа от обслуживания, как на их ключевые проблемы.[24]

Apple показали, что они не откроют доступ WebGL в основные страницы Интернета на iOS5. WebGL будет доступен только через iAds, который должен быть утвержден для каждой реализации Apple.[25]

Известные независимые эксперты по безопасности и графике (в частности Джон Кармак[26] и Дэн Каминский[27]) утверждают, что WebGL — это серьёзный риск для безопасности и будет тяжело это изменить.

Вице-президент по техническим стратегиям Mozilla Марк Шавер забраковал критику Microsoft. В посте своего блога он написал, что Mozilla работала над проблемами с адресацией в спецификации WebGL и реализации для Firefox. Он подчеркнул, что веб нуждался в 3D возможностях, и заявил, что проблемы с безопасностью присущи новым технологиям. Он рекомендовал работу Microsoft над Direct3D API, используемый в Silverlight 5, которую он оценил как надежную, но добавил, что та же технология могла бы быть перенесена со стороны Microsoft и на реализацию WebGL.[28]

Библиотеки

Для разработки WebGL используется несколько библиотек. Библиотека WebGLU была первой, которая была сделана общедоступной.[29] Другие библиотеки, объединенные в WebGL, включают в себя GLGE, C3DL, Copperlicht, SpiderGL, gwt-g3d — G3D (обертка WebGL) для GWT (Google Web Toolkit), SceneJS, X3DOM, Processing.js, Three.js, Turbulenz, OSGJS, XB PointStream и CubicVR.js.

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

См. также

Примечания

  1. 1 2 Khronos Releases Final WebGL 1.0 Specification  (англ.). Khronos (3 марта 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 4 марта 2011.
  2. Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet
  3. 1 2 WebGL - OpenGL ES 2.0 for the Web. Khronos.org. Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
  4. Khronos Releases Final WebGL 1.0 Specification. Архивировано из первоисточника 12 апреля 2012. Проверено 3 марта 2011.
  5. WebGL Specification. Khronos.org. Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
  6. Mozilla Firefox 4 Release Notes
  7. Google releases Chrome 9; comes with Google Instant, WebGL — FierceCIO:TechWatch
  8. New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more | FairerPlatform
  9. suihkulokki WebGL on N900. Suihkulokki.blogspot.com (7 июня 2010). Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
  10. 1 2 3 Khronos опубликовала черновой вариант WebGL // Lenta.ru, 11.12.2009
  11. Canvas 3D: GL power, web-style. Blog.vlad1.com. Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
  12. Taking the canvas to another dimension. My.opera.com (26 ноября 2007). Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
  13. Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet. Khronos.org (4 августа 2009). Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
  14. 1 2 WebGL 3D web standard reaches draft stages // Techradar
  15. Kurt Bakke WebCL To Enable GPU-Accelerated Web Apps  (англ.). ConceivablyTech (3 марта 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 4 марта 2011.
  16. Accent Khronos публикует спецификации WebGL 1.0 — ускорение 3D-графики для web-страниц без подключаемых модулей  (рус.). iXBT.com (3 марта 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 4 марта 2011.
  17. Context. Contextis.co.uk (9 мая 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
  18. Forshaw, James WebGL - A New Dimension for Browser Exploitation. Context Information Security (8 мая 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 11 мая 2011.
  19. WebGL Security Risks. US-CERT (10 мая 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 11 мая 2011.
  20. WebGL - Security. Khronos Group (17 июня 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 19 июня 2011.
  21. 1 2 WebGL – More WebGL Security Flaws. Context Information Security (16 июня 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 16 июня 2011.
  22. WebGL Security. Khronos Group (9 мая 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 11 мая 2011.
  23. Context WEbGL security FAQ. Context Information Security. Архивировано из первоисточника 12 апреля 2012. Проверено 16 мая 2011.
  24. WebGL Considered Harmful. Microsoft (16 июня 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 16 июня 2011.
  25. Microsoft, Apple Dis WebGL. InformationWeek (16 июня 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 20 июня 2011.
  26. Carmack, John Tweet (17 июня 2011). Архивировано из первоисточника 21 февраля 2012. Проверено 20 июня 2011.
  27. Kaminsky, Dan Tweet (16 июня 2011). Архивировано из первоисточника 21 февраля 2012. Проверено 20 июня 2011.
  28. Mozilla rejects Microsoft criticism of WebGL. The Inquirer (20 июня 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 29 июня 2011.
  29. Benjamin DeLillo First WebGLU release. Bjartr.blogspot.com (2 октября 2009). Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "WebGL" в других словарях:

  • WebGL — Entwickler Khronos Group Aktuelle Version 1.0 (3. März 2011) Betriebssystem Plattformübergreifend Kategorie …   Deutsch Wikipedia

  • WebGL — Développeur WebGL Working Group Environnements Web Cross platform …   Wikipédia en Français

  • WebGL — Captura de un juego basado en WebGL corriendo en un navegador web. Desarrollador …   Wikipedia Español

  • Google Chrome — Este artículo trata sobre un navegador web. Para el sistema operativo, véase Google Chrome OS. Google Chrome …   Wikipedia Español

  • История Mozilla Firefox — Объединить Mozilla Firefox …   Википедия

  • O3D — Тип JavaScript API Разработчик Google Inc. Операционная система Microsoft Windows, Linux, Macintosh Последняя версия 0.1.42 (5 октября 2009) Состояние Разработка заморожен …   Википедия

  • Mozilla Firefox — Запрос «Firefox» перенаправляется сюда; см. также другие значения …   Википедия

  • Khronos Group — Тип организации …   Википедия

  • Anexo:Historia de Mozilla Firefox — Contenido 1 Primeras versiones 1.1 Inicios 1.2 Nombramiento …   Wikipedia Español

  • Browser game — Freeciv.net is a HTML5 browser game A browser game is a computer game that is played over the Internet using a web browser.[1] Browser games can be created and run using standard web technologies …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»