WebGL

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
WebGL
WebGL logo
Автор(и) Mozilla Foundation
Розробник(и) Khronos Group
Стабільний випуск 1.0.2[1] (1 березня 2013)
Нестабільний випуск 2.0[2] (26 вересня 2013)
Операційна система крос-платформова
Тип API
Ліцензія різні
Сайт 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[3] в Mozilla і вже представлена у збірках розробників Mozilla Firefox[4] і WebKit[5], а також в попередніх релізах Google Chrome 4[6].

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

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

Принципи[ред.ред. код]

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

Історія[ред.ред. код]

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

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

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

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

Реалізація[ред.ред. код]

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

  • Google Chrome – WebGL доступий для всіх платформ, котрі мають необхідну графічну карту з оновленими драйверами починаючи з 9 версії, випущенної у 20011 році. За замовченням у Windows Chrome використовує ANGLE рендер для перекладу з OpenGL ES у DirectX9.0c або 11.0, котрий має біль якісну підтримку драйверів. На Linux та Mac OS X за замовченням засобом візуалізації є OpenGL. Також можливо змусити Windows використовувати OpenGL як рендер. Починаючи з вересня 2013 року, Chrome також має новіший Direct3D 10 рендер, котрий однако потребує більш нову графічну карту.
  • Mozilla Firefox – WebGL доступий для всіх платформ, котрі мають необхідну графічну карту з оновленими драйверами починаючи з версії 4.0. Починаючи з 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.
  • Opera – WebGL реалізований у Opera 11 та 12, хоча вимкнений за замовчуванням.
  • Internet Explorer – WebGL частково підтримується у Internet Explorer 11. Зпершу він не витримував жодного тесту на сумісність від WebGL, хоча Microsoft пізніше випустив декілька оновлень. Остання версія 0.94 WebGL на данний момент проходить близько ~97% тестів від Khronos. Підтримка WebGL також може бути підключена вручну до попередніх версій Internet Explorer використовуючи сторонні плагіни,такі як IEWebGL наприклад.

Мобільні браузери[ред.ред. код]

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

Див. також[ред.ред. код]

Виноски[ред.ред. код]

Посилання[ред.ред. код]