• Главная
  • Карта сайта
Не найдено

WebGL для споживача

У статті познайомимося з технологією WebGL, яка застосовується в сучасних браузерах для відображення на веб-сторінках інтерактивної 3D-графіки. Розглянемо WebGL з точки зору звичайного користувача, якому цікаво познайомитися з цією технологією ближче.


Пора 3D-прискорюватися

WebGL - це стандарт, який все ще перебуває в процесі становлення, і тому інтерес до нього проявляють, в першу чергу, веб-програмісти. Відповідно, в Мережі багато матеріалів, туторіали саме для розробників.

Але на WebGL пора звернути увагу і звичайним користувачам, тому що з'являються повноцінні веб-додатки, що вимагають підтримки браузером тривимірної графіки.

Наприклад, зовсім недавно в Google Web Store з'явилася гра Angry Birds для звичайного браузера, яка задіює багато функцій WebGL. Найбільш вражаючим прикладом використання цієї технології може бути анатомічний атлас людського тіла Google Body Browser. Як бачимо, Google і тут намагається бути на вістрі прогресу.

У зв'язку з появою таких програм не зайвим буде знати основи теорії і практики WebGL. Хоча б щоб не лякатися написи "Could not initialise WebGL, sorry :-(" при відвідуванні сторінок з 3D-контентом.


теорія

WebGL - це технологічний стандарт, розроблений промисловою групою Khronos, який дає можливість створювати в браузері на веб-сторінці за допомогою JavaScript тривимірні інтерактивні сцени, аналогічні сценам в комп'ютерних іграх . Причому для цього не потрібно встановлювати в браузер будь-які зовнішні розширення або плагіни.

WebGL - це технологічний стандарт, розроблений промисловою групою Khronos, який дає можливість створювати в браузері на веб-сторінці за допомогою JavaScript тривимірні інтерактивні сцени, аналогічні сценам в комп'ютерних іграх.

Стандарт WebGL, в свою чергу, базується на OpenGL ES 2.0 і, відповідно, вимагає доступу браузера до системного апаратного прискорення 3D-графіки. Тобто для повноцінної роботи цієї технології в операційній системі повинні бути драйвери відеотехніка з підтримкою прискорення OpenGL.

Хоча в деяких випадках можна задіяти бібліотеку Mesa, яка здатна реалізувати API OpenGL без підтримки відеокарти тільки силами центрального процесора . Але про це трохи нижче.

Стандарт OpenGL ES 2.0 призначений для вбудованих систем. Це означає, що додаток WebGL може бути запущено не тільки на десктопном браузері, але і на різних мобільних пристроях - смартфонах, планшетах і т.д.

На даний момент підтримка WebGL в тій чи іншій мірі є в нових версіях браузерів Opera , Firefox, Chrome. Браузери Safari і Internet Explorer поки не поспішають підтримувати цю технологію. Хоча в силу експериментального статусу і проблем з безпекою відключення в браузері WebGL теж має свій резон.

Хоча в силу експериментального статусу і проблем з безпекою відключення в браузері WebGL теж має свій резон


Безпека

Про безпеку скажемо трохи докладніше. Так як WebGL є не тільки нової, але і складною технологією рівня Adobe Flash, то реалізація цього стандарту в браузері може мати багато проблем з безпекою. Тут порівняння з Adobe Flash дуже доречно, так як плагін "флеш", як відомо, до цих пір є одним з вразливих компонентів сучасного браузера.

І хоча реалізація WebGL є для браузера нативной, а не у вигляді окремого зовнішнього плагіна, тут використовується доступ до низькорівневих функцій відеодрайвера, що при вразливості в цих драйверах може привести до різних хакерських атак, включаючи віддалене виконання шкідливого коду . Про це, наприклад, стверджується в спеціальному дослідженні, яке нещодавно провела незалежна консалтингова компанія Context Information Security.

У відповідь на це дослідження, коментуючи проблему, представник розробників Google Chrome заявив, що в його компанії працюють не тільки над безпекою свого браузарного стека WebGL, а й активно співпрацюють з розробниками відеокарт.

Тому в деяких випадках підтримка WebGL в браузері дійсно може бути відключена. Виходячи, наприклад, з вимог корпоративної безпеки.


включення

Але хакерів боятися - в Angry Birds не грати. Розглянемо деякі особливості включення і роботи WebGL в браузерах, що підтримують цю технологію.

Варто обов'язково сказати, що подальша інформація носить поточний характер. З новими версіями браузерів, швидше за все, будуть змінюватися і настройки WebGL, а представлена ​​інформація - застарівати.

Повноцінно підтримують WebGL останні стабільні версії Chrome 11 і Firefox 4 для всіх десктопних операційних систем . Що ж стосується браузера Opera, то підтримка WebGL є тільки в експериментальній версії 11.50 і тільки для Windows.

Якщо в системі встановлено драйвери відеокарти з підтримкою OpenGL 2.0 і вище, то в перерахованих вище браузерах підтримка тривимірної графіки на веб-сторінках включається за замовчуванням і не потрібно робити якихось додаткових рухів тіла. Я перевірив Chrome 11, Firefox 4 і Opera 11.50 на системі Windows XP з офіційним драйвером відеокарти ATI 3650 - WebGL заробив без необхідності щось включати в настройках браузера.

Однак якщо в комп'ютері немає апаратної підтримки OpenGL 2.0 і вище, як, наприклад, в ноутбуках з вбудованою графікою Intel, або ж драйвер відеокарт занесений розробниками в "чорний список", то все одно WebGL можна в багатьох випадках включити. І якщо на сторінці показується віконце про те, що ваш браузер не підтримує WebGL, то можна включити його спеціальними опціями.

Наприклад, в разі Google Chrome, в рядок запуску цього браузера у властивостях ярлика або при запуску через консоль потрібно додати параметр --ignore-gpu-blacklist. Ось, наприклад, як буде виглядати в цьому випадку рядок запуску хрому в Ubuntu:

/ Opt / google / chrome / chrome --ignore-gpu-blacklist

Що ж стосується Firefox 4 на системах з відсутністю OpenGL 2.0, то цей браузер підтримує Софтова режим Mesa, при якому функції OpenGL обробляти не відкритий, а центральним процесором .

Для цього в Ubuntu потрібно зробити наступне:

1. Встановити бібліотеку libosmesa6.

sudo apt-get install libosmesa6

2. Відкрити в браузері сторінку about: config і відфільтрувати властивості по параметру "webgl.osmesalib". Після чого вписати в цей параметр рядок

/usr/lib/libOSMesa.so.6

3. Перезавантажити браузер.

Що ж стосується софтового режиму для Windjws, то у мене не вийшло через параметр "webgl.osmesalib" підключити до Firefox 4 бібліотеку OSMESA32.DLL, як рекомендували на деяких сайтах.

Слід враховувати, що Софтова режим OpenGL працює значно повільніше, ніж відеокарта. Але це все-таки краще, ніж нічого.


"Пузомеркі"

Питання продуктивності WebGL, природно, буде хвилювати багатьох користувачів. Тому тут будуть доречні різні тести продуктивності тривимірної графіки в браузері.

В якості одного такого тесту запропоную демо-додаток "Акваріум" . Це тривимірна сцена з плаваючими рибами має і лічильник кадрів в секунду, що дозволяє оцінити швидкість роботи WebGL в браузері.

Це тривимірна сцена з плаваючими рибами має і лічильник кадрів в секунду, що дозволяє оцінити швидкість роботи WebGL в браузері

Для прикладу з відеокартою ATI 3650 в дозволі 1024х768 браузери Chrome і Firefox продемонстрували близько 30 кадрів в секунду. А в софтовом режимі на нетбуці з відеокартою Intel GMA 3150 вийшов всього 1 кадр в секунду.

Так що запускати тривимірні динамічні сцени WebGL на нетбуці - не найкраща ідея. Але тривимірні шахи в браузері нетбук цілком потягне.

Запускати тривимірні динамічні сцени WebGL на нетбуці - не найкраща ідея.

Михайло АСТАПЧІК

Новости
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью