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 версії, випущеної у 2011 році. За замовченням у Windows Chrome використовує ANGLE рендер для перекладу з OpenGL ES у DirectX 9.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.

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

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

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