WebGL

Поделись знанием:
Перейти к: навигация, поиск
WebGL
Тип

API

Автор

Mozilla Foundation

Разработчик

Khronos Group

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

Cross-platform

Последняя версия

1.0.2[1] (1 марта 2013)

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

2.0[2] (26 сентября 2013)

Лицензия

Various

Сайт

[www.khronos.org/webgl/ onos.org/webgl/]

К:Википедия:Статьи без изображений (тип: не указан)
   HTML

WebGL (Web-based Graphics Library) — программная библиотека для языка программирования JavaScript, позволяющая создавать на JavaScript интерактивную 3D-графику, функционирующую в широком спектре совместимых с ней веб-браузеров. За счёт использования низкоуровневых средств поддержки OpenGL, часть кода на WebGL может выполняться непосредственно на видеокартах. WebGL — это контекст элемента canvas HTML, который обеспечивает API 3D графики без использования плагинов[3]. Спецификация версии 1.0 была выпущена 3 марта 2011 года. Проект по созданию библиотеки управляется некоммерческой организацией Khronos Group.





Принципы

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

Реализация

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

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

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

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

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

История

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

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

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

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

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

Библиотеки

Для разработки WebGL используется несколько библиотек. Первой общедоступной стала библиотека WebGLU[26][27]. Среди других библиотек для WebGL — GLGE, C3DL, Copperlicht[28], SpiderGL, gwt-g3d[29] (обёртка для GWT), SceneJS, X3DOM, Processing.js, Three.js, Turbulenz, OSGJS[30], XB PointStream и CubicVR.js[31].

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

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

См. также

Напишите отзыв о статье "WebGL"

Примечания

  1. [www.khronos.org/registry/webgl/specs/1.0/ WebGL Specification]
  2. [www.khronos.org/registry/webgl/specs/latest/2.0/ WebGL 2 Specification]
  3. 1 2 [www.khronos.org/webgl/ WebGL - OpenGL ES 2.0 for the Web]. Khronos.org. Проверено 14 мая 2011. [www.webcitation.org/66sDto9Cu Архивировано из первоисточника 12 апреля 2012].
  4. [www.khronos.org/registry/webgl/specs/latest/ WebGL Specification]. Khronos.org. Проверено 14 мая 2011. [www.webcitation.org/66sDuMmiT Архивировано из первоисточника 12 апреля 2012].
  5. [www.mozilla.com/en-US/firefox/4.0/releasenotes/ Mozilla Firefox 4 Release Notes]
  6. [www.fiercecio.com/techwatch/story/google-releases-chrome-9-comes-google-instant-webgl/2011-02-08 Google releases Chrome 9; comes with Google Instant, WebGL — FierceCIO:TechWatch]
  7. [msdn.microsoft.com/ru-ru/library/ie/bg182648%28v=vs.85%29.aspx WebGL (Windows)]
  8. suihkulokki. [suihkulokki.blogspot.com/2010/06/webgl-on-n900.html WebGL on N900]. Suihkulokki.blogspot.com (7 июня 2010). Проверено 14 мая 2011. [www.webcitation.org/66s93WjXV Архивировано из первоисточника 12 апреля 2012].
  9. Halevy, Ronen [www.berryreview.com/2011/10/18/playbook-os-2-0-developer-beta-includes-webgl-flash-11-air-3-0/ PlayBook OS 2.0 Developer Beta Includes WebGL, Flash 11, & AIR 3.0]. BerryReview. Проверено 15 ноября 2011. [www.webcitation.org/6F4DW54kH Архивировано из первоисточника 12 марта 2013].
  10. Brandon Jones. [blog.tojicode.com/2013/01/get-webgl-working-on-android-chrome-beta.html Get WebGL working on the Android Chrome Beta]. Tojicode (10 января 2013). Проверено 12 февраля 2013. [www.webcitation.org/6F4DWXcDi Архивировано из первоисточника 12 марта 2013].
  11. iclkevin. [www.ichemlabs.com/1375 WebGL on Mobile Devices]. iChemLabs (12 ноября 2011). Проверено 25 ноября 2011. [www.webcitation.org/6F4DXifjJ Архивировано из первоисточника 12 марта 2013].
  12. [blogs.sonyericsson.com/wp/2011/11/29/xperia-phones-first-to-support-webgl/ Xperia™ phones first to support WebGL™ – Developer World]. blogs.sonyericsson.com. The Sony Ericsson Developer Program (November 29, 2011). Проверено 5 декабря 2011. [www.webcitation.org/6F4DYbquT Архивировано из первоисточника 12 марта 2013].
  13. [my.opera.com/mobile/blog/2012/02/27/opera-mobile-12 Opera Mobile 12]. Opera Software. Проверено 27 февраля 2012. [www.webcitation.org/6F4Dar4FJ Архивировано из первоисточника 12 марта 2013].
  14. [blog.ludei.com/webgl-ios-8-safari-webview/ WebGL on iOS 8 Safari and webview].
  15. 1 2 3 [www.lenta.ru/news/2009/12/11/webgl/ Khronos опубликовала черновой вариант WebGL] // Lenta.ru, 11.12.2009
  16. [blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/ Canvas 3D: GL power, web-style]. Blog.vlad1.com. Проверено 14 мая 2011. [www.webcitation.org/66s941XPs Архивировано из первоисточника 12 апреля 2012].
  17. [my.opera.com/timjoh/blog/2007/11/13/taking-the-canvas-to-another-dimension Taking the canvas to another dimension]. My.opera.com (26 ноября 2007). Проверено 14 мая 2011. [www.webcitation.org/66sDetwP4 Архивировано из первоисточника 12 апреля 2012].
  18. [www.khronos.org/news/press/releases/khronos-webgl-initiative-hardware-accelerated-3d-graphics-internet Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet]. Khronos.org (4 августа 2009). Проверено 14 мая 2011. [www.webcitation.org/66sDuttIe Архивировано из первоисточника 12 апреля 2012].
  19. 1 2 [www.techradar.com/news/internet/webgl-3d-web-standard-reaches-draft-stages-657465 WebGL 3D web standard reaches draft stages] // Techradar
  20. Kurt Bakke. [www.conceivablytech.com/5978/products/webcl-to-enablegpu-accelerated-web-apps WebCL To Enable GPU-Accelerated Web Apps] (англ.). ConceivablyTech (3 марта 2011). Проверено 4 марта 2011. [www.webcitation.org/66sDgdv8w Архивировано из первоисточника 12 апреля 2012].
  21. Accent. [www.ixbt.com/news/hard/index.shtml?14/39/09 Khronos публикует спецификации WebGL 1.0 — ускорение 3D-графики для web-страниц без подключаемых модулей] (рус.). iXBT.com (3 марта 2011). Проверено 4 марта 2011. [www.webcitation.org/66sDiFyup Архивировано из первоисточника 12 апреля 2012].
  22. [blogs.technet.com/b/srd/archive/2011/06/16/webgl-considered-harmful.aspx WebGL Considered Harmful]. Microsoft (16 июня 2011). Проверено 16 июня 2011. [www.webcitation.org/66sDo9HEc Архивировано из первоисточника 12 апреля 2012].
  23. [www.theinquirer.net/inquirer/news/2080571/mozilla-rejects-microsoft-criticism-webgl Mozilla rejects Microsoft criticism of WebGL]. The Inquirer (20 июня 2011). Проверено 29 июня 2011. [www.webcitation.org/66sDqp0jq Архивировано из первоисточника 12 апреля 2012].
  24. [techcrunch.com/2013/06/26/microsoft-confirms-webgl-support-for-internet-explorer-11/ Microsoft (Finally) Confirms WebGL Support For Internet Explorer 11]. TechCrunch (26 июня 2013). Проверено 7 июля 2015.
  25. [www.i-programmer.info/news/86-browsers/7385-safari-on-ios8-supports-webgl-the-new-era-can-now-commence.html Safari On iOS8 Supports WebGL - The New Era Can Now Commence]. I Programmer (4 июня 2014). Проверено 7 июля 2015.
  26. [github.com/OneGeek/WebGLU/ OneGeek/WebGLU · GitHub]. Проверено 15 марта 2013. [www.webcitation.org/6F9q0uTWt Архивировано из первоисточника 16 марта 2013].
  27. Benjamin DeLillo. [bjartr.blogspot.com/2009/10/more-webgl-progress-now-with-video.html First WebGLU release]. Bjartr.blogspot.com (2 октября 2009). Проверено 14 мая 2011. [www.webcitation.org/66sDsyoQO Архивировано из первоисточника 12 апреля 2012].
  28. [www.ambiera.com/copperlicht/ CopperLicht - JavaScript 3D Engine using WebGL]. Проверено 14 марта 2013. [www.webcitation.org/6F9q1LzZH Архивировано из первоисточника 16 марта 2013].
  29. [code.google.com/p/gwt-g3d/ gwt-g3d - 3D library for GWT - Google Project Hosting]. Проверено 14 марта 2013. [www.webcitation.org/6F9q24wto Архивировано из первоисточника 16 марта 2013].
  30. [osgjs.org/ OSG.JS by cedricpinson]. Проверено 14 марта 2013. [www.webcitation.org/6F9q2UtBb Архивировано из первоисточника 16 марта 2013].
  31. [github.com/cjcliffe/CubicVR.js cjcliffe/CubicVR.js · GitHub]. Проверено 14 марта 2013. [www.webcitation.org/6F9q31YEI Архивировано из первоисточника 16 марта 2013].
  32. [www.blend4web.com/ru/about/ Официальный сайт Blend4Web - О проекте]. Blend4Web.com. Проверено 3 июля 2015.
  33. [code.google.com/p/angleproject/ angleproject - ANGLE: Almost Native Graphics Layer Engine - Google Project Hosting]. Проверено 14 марта 2013. [www.webcitation.org/6F9q3SwjS Архивировано из первоисточника 16 марта 2013].

Ссылки

  • [www.khronos.org/webgl/ Официальный сайт] (англ.).
  • [www.youtube.com/watch?v=2rpKpj6ZO9w Preview of WebGL] (англ.) на YouTube.
  • [www.ibiblio.org/e-notes/webgl/models.htm WebGL interactive models] (англ.)
  • [bodybrowser.googlelabs.com/body.html# Демо-приложение: человеческое тело] (англ.)
  • [www.DoesMyBrowserSupportWebGL.com/ www.DoesMyBrowserSupportWebGL.com]


Отрывок, характеризующий WebGL


Крики и огни в неприятельской армии происходили оттого, что в то время, как по войскам читали приказ Наполеона, сам император верхом объезжал свои бивуаки. Солдаты, увидав императора, зажигали пуки соломы и с криками: vive l'empereur! бежали за ним. Приказ Наполеона был следующий:
«Солдаты! Русская армия выходит против вас, чтобы отмстить за австрийскую, ульмскую армию. Это те же баталионы, которые вы разбили при Голлабрунне и которые вы с тех пор преследовали постоянно до этого места. Позиции, которые мы занимаем, – могущественны, и пока они будут итти, чтоб обойти меня справа, они выставят мне фланг! Солдаты! Я сам буду руководить вашими баталионами. Я буду держаться далеко от огня, если вы, с вашей обычной храбростью, внесете в ряды неприятельские беспорядок и смятение; но если победа будет хоть одну минуту сомнительна, вы увидите вашего императора, подвергающегося первым ударам неприятеля, потому что не может быть колебания в победе, особенно в тот день, в который идет речь о чести французской пехоты, которая так необходима для чести своей нации.
Под предлогом увода раненых не расстроивать ряда! Каждый да будет вполне проникнут мыслию, что надо победить этих наемников Англии, воодушевленных такою ненавистью против нашей нации. Эта победа окончит наш поход, и мы можем возвратиться на зимние квартиры, где застанут нас новые французские войска, которые формируются во Франции; и тогда мир, который я заключу, будет достоин моего народа, вас и меня.
Наполеон».


В 5 часов утра еще было совсем темно. Войска центра, резервов и правый фланг Багратиона стояли еще неподвижно; но на левом фланге колонны пехоты, кавалерии и артиллерии, долженствовавшие первые спуститься с высот, для того чтобы атаковать французский правый фланг и отбросить его, по диспозиции, в Богемские горы, уже зашевелились и начали подниматься с своих ночлегов. Дым от костров, в которые бросали всё лишнее, ел глаза. Было холодно и темно. Офицеры торопливо пили чай и завтракали, солдаты пережевывали сухари, отбивали ногами дробь, согреваясь, и стекались против огней, бросая в дрова остатки балаганов, стулья, столы, колеса, кадушки, всё лишнее, что нельзя было увезти с собою. Австрийские колонновожатые сновали между русскими войсками и служили предвестниками выступления. Как только показывался австрийский офицер около стоянки полкового командира, полк начинал шевелиться: солдаты сбегались от костров, прятали в голенища трубочки, мешочки в повозки, разбирали ружья и строились. Офицеры застегивались, надевали шпаги и ранцы и, покрикивая, обходили ряды; обозные и денщики запрягали, укладывали и увязывали повозки. Адъютанты, батальонные и полковые командиры садились верхами, крестились, отдавали последние приказания, наставления и поручения остающимся обозным, и звучал однообразный топот тысячей ног. Колонны двигались, не зная куда и не видя от окружавших людей, от дыма и от усиливающегося тумана ни той местности, из которой они выходили, ни той, в которую они вступали.
Солдат в движении так же окружен, ограничен и влеком своим полком, как моряк кораблем, на котором он находится. Как бы далеко он ни прошел, в какие бы странные, неведомые и опасные широты ни вступил он, вокруг него – как для моряка всегда и везде те же палубы, мачты, канаты своего корабля – всегда и везде те же товарищи, те же ряды, тот же фельдфебель Иван Митрич, та же ротная собака Жучка, то же начальство. Солдат редко желает знать те широты, в которых находится весь корабль его; но в день сражения, Бог знает как и откуда, в нравственном мире войска слышится одна для всех строгая нота, которая звучит приближением чего то решительного и торжественного и вызывает их на несвойственное им любопытство. Солдаты в дни сражений возбужденно стараются выйти из интересов своего полка, прислушиваются, приглядываются и жадно расспрашивают о том, что делается вокруг них.
Туман стал так силен, что, несмотря на то, что рассветало, не видно было в десяти шагах перед собою. Кусты казались громадными деревьями, ровные места – обрывами и скатами. Везде, со всех сторон, можно было столкнуться с невидимым в десяти шагах неприятелем. Но долго шли колонны всё в том же тумане, спускаясь и поднимаясь на горы, минуя сады и ограды, по новой, непонятной местности, нигде не сталкиваясь с неприятелем. Напротив того, то впереди, то сзади, со всех сторон, солдаты узнавали, что идут по тому же направлению наши русские колонны. Каждому солдату приятно становилось на душе оттого, что он знал, что туда же, куда он идет, то есть неизвестно куда, идет еще много, много наших.
– Ишь ты, и курские прошли, – говорили в рядах.
– Страсть, братец ты мой, что войски нашей собралось! Вечор посмотрел, как огни разложили, конца краю не видать. Москва, – одно слово!
Хотя никто из колонных начальников не подъезжал к рядам и не говорил с солдатами (колонные начальники, как мы видели на военном совете, были не в духе и недовольны предпринимаемым делом и потому только исполняли приказания и не заботились о том, чтобы повеселить солдат), несмотря на то, солдаты шли весело, как и всегда, идя в дело, в особенности в наступательное. Но, пройдя около часу всё в густом тумане, большая часть войска должна была остановиться, и по рядам пронеслось неприятное сознание совершающегося беспорядка и бестолковщины. Каким образом передается это сознание, – весьма трудно определить; но несомненно то, что оно передается необыкновенно верно и быстро разливается, незаметно и неудержимо, как вода по лощине. Ежели бы русское войско было одно, без союзников, то, может быть, еще прошло бы много времени, пока это сознание беспорядка сделалось бы общею уверенностью; но теперь, с особенным удовольствием и естественностью относя причину беспорядков к бестолковым немцам, все убедились в том, что происходит вредная путаница, которую наделали колбасники.
– Что стали то? Аль загородили? Или уж на француза наткнулись?
– Нет не слыхать. А то палить бы стал.
– То то торопили выступать, а выступили – стали без толку посереди поля, – всё немцы проклятые путают. Эки черти бестолковые!
– То то я бы их и пустил наперед. А то, небось, позади жмутся. Вот и стой теперь не емши.
– Да что, скоро ли там? Кавалерия, говорят, дорогу загородила, – говорил офицер.
– Эх, немцы проклятые, своей земли не знают, – говорил другой.
– Вы какой дивизии? – кричал, подъезжая, адъютант.
– Осьмнадцатой.
– Так зачем же вы здесь? вам давно бы впереди должно быть, теперь до вечера не пройдете.
– Вот распоряжения то дурацкие; сами не знают, что делают, – говорил офицер и отъезжал.
Потом проезжал генерал и сердито не по русски кричал что то.
– Тафа лафа, а что бормочет, ничего не разберешь, – говорил солдат, передразнивая отъехавшего генерала. – Расстрелял бы я их, подлецов!
– В девятом часу велено на месте быть, а мы и половины не прошли. Вот так распоряжения! – повторялось с разных сторон.
И чувство энергии, с которым выступали в дело войска, начало обращаться в досаду и злобу на бестолковые распоряжения и на немцев.
Причина путаницы заключалась в том, что во время движения австрийской кавалерии, шедшей на левом фланге, высшее начальство нашло, что наш центр слишком отдален от правого фланга, и всей кавалерии велено было перейти на правую сторону. Несколько тысяч кавалерии продвигалось перед пехотой, и пехота должна была ждать.
Впереди произошло столкновение между австрийским колонновожатым и русским генералом. Русский генерал кричал, требуя, чтобы остановлена была конница; австриец доказывал, что виноват был не он, а высшее начальство. Войска между тем стояли, скучая и падая духом. После часовой задержки войска двинулись, наконец, дальше и стали спускаться под гору. Туман, расходившийся на горе, только гуще расстилался в низах, куда спустились войска. Впереди, в тумане, раздался один, другой выстрел, сначала нескладно в разных промежутках: тратта… тат, и потом всё складнее и чаще, и завязалось дело над речкою Гольдбахом.
Не рассчитывая встретить внизу над речкою неприятеля и нечаянно в тумане наткнувшись на него, не слыша слова одушевления от высших начальников, с распространившимся по войскам сознанием, что было опоздано, и, главное, в густом тумане не видя ничего впереди и кругом себя, русские лениво и медленно перестреливались с неприятелем, подвигались вперед и опять останавливались, не получая во время приказаний от начальников и адъютантов, которые блудили по туману в незнакомой местности, не находя своих частей войск. Так началось дело для первой, второй и третьей колонны, которые спустились вниз. Четвертая колонна, при которой находился сам Кутузов, стояла на Праценских высотах.
В низах, где началось дело, был всё еще густой туман, наверху прояснело, но всё не видно было ничего из того, что происходило впереди. Были ли все силы неприятеля, как мы предполагали, за десять верст от нас или он был тут, в этой черте тумана, – никто не знал до девятого часа.