Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Wild Tanks Online - браузерная версия. Браузеры поддерживающие webgl


14 прекрасных примеров использования WebGL | Webrowser.ru

Июн252011

WebGL, о котором много говорят последнее время, появился совсем недавно. Еще меньше времени прошло с тех пор, как он стал стандартом. Давайте пока отбросим разговоры о безопасности и посмотрим на самые интересные примеры использования WebGL уже сегодня.

Итак, WebGL позволяет получать доступ к ресурсам видеокарты для отображения в реальном времени 3D-графики на интернет-страницах. На данный момент, в финальных версиях всей браузеров поддержка WebGL имеется только в Firefox и Chrome.

На данный момент известно, что над имплементацией данного стандарта в свои браузеры работают Opera и Apple. Явно от реализации уклонилась пока Microsoft, но, скорее всего, передумают и они.

Давайте же посмотрим на реальные примеры возможностей WebGL уже сегодня. Для этого нам понадобятся браузеры Firefox или Chrome, желательно последние версии видеокарт и более-менее современные карты. На части примеров работает и экспериментальная версия Opera, но доступна она только для платформы Windows и для видеокарт Ati, поддерживающих драйвера с версии ATI Catalyst 10.7, Nvidia — с 259.31. В любом случае, ваши карты должны поддерживать OpenGL 2.x.

Демо-примеры работы WebGL

ROME: «3 Dreams of Black»

Адрес: http://www.ro.me/Мы уже писали про этот проект. Это музыкальный клип, с элементами интерактива. Сюжет проходит через три мечты. Используется как 2D, так и 3D графика.

WebGL RoMe

Подробней про проект можете почитать в статье по ссылке выше.Работает: в Firefox и Chrome. Но, оптимизировано больше под Chrome.

Google Body Browser

Адрес: http://bodybrowser.googlelabs.com/Интерактивный анатомический атлас человека. Позволяет бегунком слева отображать тело человека «по уровням». Объект можно удалять и приближать, а также перемещать мышью.

Opera WebGL

Работает: Firefox, Opera, Chrome.

Google Cow

Адрес: http://bodybrowser.googlelabs.com/moo.htmlПродолжение работы проекта Google Body. На этот раз демонстрация строения тела коровы. Данный пример появился буквально на днях. Просмотр состава тела буренки происходит по тому же принципу, что и прошлый пример с человеком.

Google Moo

Работает: Firefox, Opera, Chrome.

The Biodigital Human

Адрес: http://www.biodigitalhuman.com/Продолжая тему анатомических атласов, еще один интересный пример. Для включения или отключения тех или иных систем тела человека достаточно щелкать тумблеры на панели слева. Внизу находится панель по управлению перемещением объекта.

biodigitalhuman

По мнению автора текста, смотрится даже интересней, чем аналог от Google.Работает: Firefox, Chrome, в Opera объект не отображается.

Chemdoodle

Адрес: http://web.chemdoodle.com/demos/molgrabber-3d

iChemLabs — компания, занимающаяся визуализацией научных данных. В данном примере демонстрации WebGL пользователь может выбирать различные лекарства и просматривать их 3D-модели химической структуры. Слева от основного окна указаны способы управления при просмотре молекул.

Просмотр химических молекул лекарств в WebGL

Работает: Firefox, Opera, Chrome.

No Comply

Адрес: http://mozillademos.org/demos/nocomply/demo.htmlДемо WebGl от команды, занимающейся Mozilla Audio API. Состоит из смешивания видео и графики с 8-битных компьютерных игр. Использует новые возможности браузера Firefox, качаемые аудио.

Nocomply: демо WebGl и Audio Api

Работает: Firefox.

FractalLab

Адрес: http://fractal.io/Многие из вас, скорее всего, раньше сталкивались с програмками для компьютера, которые позволяли рассчитывать и получать красивейшие фракталы. Теперь то в 3D, благодаря WebGL.

Демонстрация фракталов на WebGL

Имейте ввиду, что для данного демо требуется производительная видеокарта. Иногда, при формировании фрактала браузер может как бы подвисать, это не так, стоит немного подождать.Работает: Firefox, Chrome.

Angry Birds

Адрес: http://chrome.angrybirds.com/Angry Birds. В принципе можно ограничиться первым предложением. Безумно популярная игра появилась в реализации прямо на интернет-странице. Из адреса понятно, для какого браузера был создан данный проект.

Chrome Angry Birds

Работает: Firefox, Chrome. В Opera, сразу после открытия chrome.angrybirds.com все прекрасно загружалось и работало. Теперь при заходе пишет, что браузер не поддерживается и надо скачать Chrome. Привет компании Google.

PacMaze

Адрес: http://pacmaze.com/Еще одна игра, использующая наш стандарт в своей работе. Из скриншота можно понять, на какую знаменитую игру она похожа.

PacMaze

Работает: Firefox, Chrome.

CycleBlob

Адрес: http://cycleblob.com/В данной игре вы управляете змейкой. На игровом поле находятся и другие змейки. Вы должны все время двигаться, с целью не врезаться в свой след или след своих противников, но заставив их сделать это. Чем выше уровень — тем больше соперников.

Игра Змейки на WebGL

Работает: Chrome, Firefox.

The WebGL aquarium

Адрес: http://webglsamples.googlecode.com/hg/fishtank/fishtank.htmlСтавшая уже знаменитой демонстрация.

The WebGL aquarium

Слева отображается количество кадров в секунду. Здесь же вы можете выставить число рыб, которые будут плавать в бассейне.

Работает: Opera, Firefox, Chrome.

GLGE

Адрес: http://pl4n3.blogspot.com/2011/06/wloom-webgl-game-work-in-progress-5.htmlЗдесь игрок может бегать по игровому полю, сражаться с инопланетными гадами. И собирать шарики. Присутствует звуковое сопровождение.

Игра GLGE

Работает: Firefox, Chrome, Opera.

Ourbricks

Адрес: http://ourbricks.com/Ресурс, на котором вы можете загружать свои 3D-персонажи. Персонажи анимированы. Для отображения используется...ну, вы сами поняли уже что. 😉

Ourbricks - демонстрация 3D графики WebGL

Работает: Opera, Firefox, Chrome.

Remixing Reality

Адрес: http://mozillademos.org/demos/remixingreality/demo.htmlВзаимодействие видео с 3D-графикой и JavaScript-объектами. Первые шаги к расширенной реальности в Интернете.

Remixing Reality - перемешивание видео и графики

Работает: Firefox, Chrome.

webrowser.ru

Как включить поддержку WebGL в браузерах

If your browser supports WebGL, follow these instructions to enable it:

Chrome

First, enable hardware acceleration:

  • Go to chrome://settings
  • Click the + Show advanced settings button
  • In the System section, ensure the Use hardware acceleration when available checkbox is checked (you’ll need to relaunch Chrome for any changes to take effect)

Then enable WebGL:

  • Go to chrome://flags
  • Ensure that Disable WebGL is not activated (you’ll need to relaunch Chrome for any changes to take effect)

Then inspect the status of WebGL:

  • Go to chrome://gpu
  • Inspect the WebGL item in the Graphics Feature Status list. The status will be one of the following:
    • Hardware accelerated — WebGL is enabled and hardware-accelerated (running on the graphics card).
    • Software only, hardware acceleration unavailable — WebGL is enabled, but running in software. See here for more info: “For software rendering of WebGL, Chrome uses SwiftShader, a software GL rasterizer.”
    • Unavailable — WebGL is not available in hardware or software.

If the status is not “Hardware accelerated”, then the Problems Detected list (below the the Graphics Feature Status list) may explain why hardware acceleration is unavailable.

If your graphics card/drivers are blacklisted, you can override the blacklist. Warning: this is not recommended! (see blacklists note below). To override the blacklist:

  • Go to chrome://flags
  • Activate the Override software rendering list setting (you’ll need to relaunch Chrome for any changes to take effect)

For more information, see: Chrome Help: WebGL and 3D graphics.

Firefox

First, enable WebGL:

  • Go to about:config
  • Search for webgl.disabled
  • Ensure that its value is false (any changes take effect immediately without relaunching Firefox)

Then inspect the status of WebGL:

  • Go to about:support
  • Inspect the WebGL Renderer row in the Graphics table:
    • If the status contains a graphics card manufacturer, model and driver (eg: “NVIDIA Corporation — NVIDIA GeForce GT 650M OpenGL Engine”), then WebGL is enabled.
    • If the status is something like “Blocked for your graphics card because of unresolved driver issues” or “Blocked for your graphics driver version”, then your graphics card/driver is blacklisted.

If your graphics card/drivers are blacklisted, you can override the blacklist. Warning: this is not recommended! (see blacklists note below). To override the blacklist:

  • Go to about:config
  • Search for webgl.force-enabled
  • Set it to true

(Like Chrome, Firefox has a Use hardware acceleration when available checkbox, in Preferences > Advanced > General > Browsing. However, unlike Chrome, Firefox does not require this checkbox to be checked for WebGL to work.)

Safari

  • Go to Safari’s Preferences
  • Select the Advanced tab
  • Ensure that the Show Develop menu in menu bar checkbox is checked
  • In Safari’s Develop menu, ensure that Enable WebGL is checked

Upgrading graphics drivers

If your graphics drivers are too old to support WebGL, you may be able to upgrade them.

More information is available here:

Blacklists

Certain graphics cards and drivers are blacklisted by some browsers, because they are known to contain serious bugs or cause crashes. In very severe cases, these can even cause the entire computer to freeze! For example, this issue causes certain Mac computers to freeze and require restarting.

Many browsers have an option to override the blacklist (ie: attempt to use the blacklisted features, despite the risks). This is not recommended! You should only override the blacklist if you understand and accept the risks.

More information is available here:

diary88.sumy.in.ua

Проблемы и решения — Руководство пользователя Blend4Web 17.12.0

Поскольку на сегодняшний день WebGL - всё ещё достаточно новая технология, она может работать некорректно с некоторыми комбинациями программного и аппаратного обеспечения. В этой главе перечислены наиболее распространённые проблемы, с которыми может столкнуться пользователь движка Blend4Web, и приведены способы их исправления.

Если вы используете настольный компьютер или ноутбук, вам требуется видеокарта с поддержкой DirectX 9.0c и OpenGL 2.1, такая, как:

  • Nvidia GeForce серии 6xxx или выше.
  • AMD/ATi Radeon серии R500 (X1xxx) или выше.
  • Intel GMA 950 или выше.

Если вы используете WebGL на мобильном устройстве, проверьте, присутствует ли ваше устройство в списке совместимости.

Вам также потребуется веб-браузер с поддержкой технологии WebGL.

WebGL поддерживают следующие веб-браузеры:

  • Google Chrome (начиная с версии 9)
  • Mozilla Firefox (начиная с версии 4.0)
  • Safari (начиная с версии 8.0)
  • Chrome for Android (начиная с версии 25)
  • Internet Explorer (начиная с версии 11)
  • Microsoft Edge
  • Opera (начиная с версии 12)
  • UC Browser (экспериментальная поддержка)
  • Yandex Browser

Мы также рекомендуем использовать новейшие версии веб-браузеров для предотвращения проблем с совместимостью.

1. Появляется сообщение «Browser could not initialize WebGL.»

/800/600/http/www.blend4web.com/_images/no_webgl.png

Следует выполнить действия, описанные в разделе Ошибка инициализации WebGL.

2. Видны элементы интерфейса или пустой экран, но сцена не отображается. При этом тестовый сайт http://get.webgl.org/ и другие WebGL приложения работают корректно.

Вероятные причины:

  • Файлы ресурсов, которые пытается загрузить движок, были перемещены или удалены.

  • Используются старые версии драйверов.

  • Используются открытые драйвера, не обеспечивающие поддержку WebGL.

    Для пользователей Linux - ввиду неполной реализации OpenGL стека в драйверах с открытым кодом в настоящий момент рекомендуется использовать проприетарные драйверы текущей версии для графических процессоров Nvidia и AMD.

  • Используется устаревшая операционная система, такая как Windows XP.

  • Браузер не настроен для работы с локальными ресурсами. В этом случае проблема может быть решена использованием локального веб-сервера. См. раздел Загрузка локальных ресурсов.

Сайт http://get.webgl.org/ при просмотре в браузерах Chrome или Firefox последней версии сообщает о проблемах. Что делать?

  1. Установить доступные обновления для системы (для Windows см. инструкцию). В случае Windows установить последнюю версию DirectX. Перезагрузить систему.
  2. Рекомендуется проводить своевременное обновление драйверов для графических карт. Чтобы определить тип и производителя карты, можно ввести about:gpu (или chrome://gpu) в адресную строку браузера Chrome…
/800/600/http/www.blend4web.com/_images/chrome_gpu.png

или Firefox…

/800/600/http/www.blend4web.com/_images/firefox_gpu.png

Для операционных систем семейства Windows можно воспользоваться средством диагностики DirectX dxdiag.

Для этого выполните следующие действия:

  1. Выберете команду Run из стартового меню
  2. В окне Open введите dxdiag и нажмите Enter чтобы вызвать утилиту диагностики DirectX
  3. Откройте панель Display. Там вы можете найти информацию о производителе, модели и других параметрах вашей видеокарты.
/800/600/http/www.blend4web.com/_images/problems_dxdiag.png

В macOS вам следует ознакомиться с System Report.

Для этого выполните следующие действия:

  1. Выберете About This Mac из меню Apple.
  2. Нажмите кнопку System Report.
  3. Выберете пункт Graphics/Displays из раздела Hardware.
/800/600/http/www.blend4web.com/_images/problems_osx.png

Необходимо загрузить драйверы с соответствующего центра поддержки (например, Intel, Nvidia, AMD/ATI). После установки драйверов перезагрузить систему.

  1. Если в результате вышеперечисленных действий инициализировать рендеринг не удается (или нет возможности обновить систему), можно попробовать изменить настройки браузера.

В Chrome:

Ввести about:flags (или chrome://flags) в адресную строку браузера, нажать Включить (Enable) под опцией Переопределение списка программного рендеринга (Override software rendering list) и перезапустить браузер.

/800/600/http/www.blend4web.com/_images/about_flags_force_webgl.png

В Firefox:

Ввести about:config в адресную строку браузера, найти параметр webgl.force-enabled и переключить его двойным щелчком мыши из false в true.

/800/600/http/www.blend4web.com/_images/about_config_force_webgl.png

Для Safari

Выберете пункт Preferences из меню Safari, затем выберете вкладку Security и убедитесь, что опция Allow WebGL включена.

/800/600/http/www.blend4web.com/_images/safari_force_webgl.png

Если ни один из перечисленных выше способов не помог вам устранить проблемы, посетите форум сообщества Blend4Web и оставьте сообщение в разделе «Ошибки». Наша команда сделает всё возможное, чтобы помочь вам.

  • Проблемы с обновлением старых версий аддона.

    Рекомендуется перезагрузка Blender после обновления SDK или аддона.

  • Драйверы NVIDIA версии 331 в Linux могут приводить к программным ошибкам WebGL.

  • Изменение фильтрации текстур на некоторых устройствах.

    При использовании iPad или браузера Internet Explorer отключена некорректная фильтрация текстур, которые используются материалами с типом прозрачности Alpha Clip.

  • Некоторые устройства, использующие GPU Mali, требуют принудительного включения WebGL в настройках браузера.

  • На системах Apple macOS и Blender 2.76 для работы локального сервера разработки может потребоваться установка Python 3.4. Это связано с ошибкой Blender https://developer.blender.org/T46623. В Blender 2.76b эта проблема устранена, поэтому рекомендуем обновиться.

  • При использовании драйверов Nouveau скелетная анимация может работать некорректно.

  • В браузерах IE11 и Microsoft Edge, а также на iPad могут некорректно рендериться текстуры с прозрачностью.

    Проблема актуальна для прозрачных материалов. Артефакты заметны на тех участках, где значение альфа-канала равно нулю или отличается от него незначительно. Для исправления рекомендуется поднимать значение альфа-канала пока артефакты не исчезнут (как правило, бывает достаточно величин в диапазоне от 0.01 до 0.05).

  • Сбой работы WebGL в браузере Chromium под Linux на GPU Nvidia GeForce серий 400/500 с драйверами версии выше 355.

    Проблема вызвана несовместимостью последних драйверов Nvidia с сэндбоксом Chromium. В качестве решения рекомендуется понизить версию драйверов до 340-х.

  • Проблемы со звуком.

    В некоторых версиях Google Chrome звук не воспроизводится для источников звука с типом «Background Music», если используется экспорт в HTML. В качестве решения в настоящий момент тип источника звука автоматически меняется на «Background Sound».

    Ошибка аудиоконтекста проявляется, если запущено много (больше 6) копий движка Blend4Web (например, на нескольких вкладках браузера или в нескольких iframe’ах на одной странице). Ошибка предотвращена путем отключением звука в приложении, если для него не может быть создан аудиоконтекст.

    На некоторых мобильных устройствах (в частности, Nexus 6 и Nexus 9) в браузере Google Chrome версий 50-52 может не работать пауза. В версиях Chrome начиная с 53 проблем быть не должно. Более подробная информация: https://bugs.chromium.org/p/chromium/issues/detail?id=616772.

  • QQ Browser на данный момент не поддерживает WebGL.

  • WebGL может работать нестабильно и давать сбои при использовании драйверов Mesa 11.x в Linux/Chrome на видеокартах Intel. Понижение версии драйверов до 10.х может решить проблему.

  • При использовании тач-сенсора GearVR в VR-режиме недоступна информация о движениях пальцев.

    Samsung Internet Browser не регистрирует события, связанные с движением пальцев на тач-сенсоре в режиме VR.

  • Частицы, испускаемые системами частиц, находящимися на неактивных (скрытых) слоях, могут иметь нулевые координаты, т.к. неактивные слои не обновляются Blender’ом.

    Проблема может быть решена с помощью активации слоёв перед экспортом или выбора необходимых слоёв вручную (в этом случае Blender их обновит).

  • Объекты с типом прозрачности Alpha Blending некорректно отображаются в браузере Google Chrome на устройствах с GPU Mali серии 400.

  • Использование нескольких экземпляров приложения на одной странице в Chrome 59 может привести к существенному росту потребления памяти или даже к закрытию вкладки. Эта проблема устранена в Chrome 60.

www.blend4web.com

Wild Tanks Online - браузерная версия.

Минимальные требования

Браузер:
  • Chrome 47.0 и выше (рекомендуем)
  • Firefox 44.0 и выше (рекомендуем)
  • Opera 36.0 и выше (рекомендуем)
  • Internet Explorer 11 и выше
  • Microsoft Edge любой версии
  • Safari 9 и выше

Процессор: Двухъядерный с частотой 3Ghz и выше.

Экран: не меньше 1000х600.

ОЗУ: не меньше 1Gb

Видеокарта: Intel HD Graphics 4000 или аналогичные по производительности и выше.

Проблемы с запуском

Во-первых, игра рассчитана на управление при помощи мыши и клавиатуры, поэтому не пытайтесь запустить её на мобильных браузерах. Даже если она там запустится, играть в неё будет очень проблематично. Вместо этого для системы Android используйте специальный клиент(маркет). Для других мобильных операционных систем к сожалению пока нет версии.

Во-вторых, для запуска необходима поддержка двух функций:

Если браузер не поддерживает WebGL.

WebGL API - это графический интерфейс, с помощью которого в браузере можно рисовать трехмерную графику. Все современные браузеры его поддерживают:

  • Chrome 9.0 и выше
  • Firefox 4.0 и выше
  • Opera 12.0 и выше
  • Internet Explorer 11 и выше
  • Microsoft Edge любой версии
  • Safari 5.1 и выше

Если у вас браузер из этого списка, но WebGL недоступен, значит ваша видеокарта(или драйвер видеокарты) не полностью соответствует требованиям браузера для активации этого API. Убедитесь, что для видеокарты установлены актуальные версии драйверов.

В некоторых случаях можно попробовать принудительно включить WebGL. Следует заметить, что в этом случае шанс нормальной работы очень мал. В большинстве случаев браузер блокирует этот API по вполне объективным причинам.

Если всё-таки хотите попробовать:

Для браузеров Chrome/Opera наберите в адресной строке “about:flags” и нажмите Enter. Поиском найдите тэг “#ignore-gpu-blacklist” и включите этот пункт. Требуется перезапуск браузера.

Для браузера Firefox наберите в адресной строке “about:flags” и нажмите Enter. В строке поиска введите “webgl.force-enabled” и измените значение найденного пункта на “true”. Требуется перезапуск браузера.

Если браузер не поддерживает IndexedDB.

IndexedDB API - это API для работы с базой данных. На текущий момент это единственная технология, которая позволяет в браузере на стороне клиента сохранять большие объемы данных. Наша игра при помощи этого сохраняет свои ресурсы и настройки. Если ваш браузер не поддерживает эту функцию, необходимо сменить браузер:

  • Chrome 47.0 и выше
  • Firefox 44.0 и выше
  • Opera 12.0 и выше
  • Internet Explorer 11 и выше
  • Microsoft Edge любой версии
  • Safari 9 и выше

Дополнение.

Кроме необходимых функций есть еще и два опциональных. Это Pointerlock API и Web Audio API. Первый позволяет захватывать курсор мыши для удобного управления камерой. Второй позволяет воспроизводить различные звуковые эффекты.

Поддержка в браузерах Pointerlock API:

  • Chrome 47.0 и выше
  • Firefox 44.0 и выше
  • Opera 36.0 и выше
  • Microsoft Edge любой версии

Поддержка в браузерах Web Audio API:

  • Chrome 47.0 и выше
  • Firefox 44.0 и выше
  • Opera 36.0 и выше
  • Microsoft Edge любой версии
  • Safari 9 и выше

Эти функции не обязательны для запуска, но рекомендуемые для комфортной игры.

Известные проблемы.

В браузере Safari в случае когда игра запускается внутри vk.com(т.е. через iframe) становится недоступно API IndexedDB. Возможным решением является разрешение сохранения куков и файлов для всех сайтов(в настройках браузера раздел "Конфиденциальность"), но это работает не всегда. Если это не решит проблему, попробуйте использовать один из рекомендуемых браузеров.

wildtanksonline.com

WebGL для потребителя | KV.by

В статье познакомимся с технологией 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 является не только новой, но и сложной технологией уровня 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 в браузере.

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

Так что запускать трёхмерные динамические сцены WebGL на нетбуке - не лучшая идея. Но трёхмерные шахматы в браузере нетбук вполне потянет.

Запускать трёхмерные динамические сцены WebGL на нетбуке - не лучшая идея.

Михаил АСТАПЧИК

www.kv.by

WebGL - это... Что такое WebGL?

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.

См. также

Примечания

Ссылки

dic.academic.ru

Изучаем WebGL: Урок 0: Приступая к работе

Первым шагом к WebGL является браузер, который поддерживает эту технологию; WebGL поддерживается в бета версиях всех основных браузерав, кроме Internet Explorer, так что первым делом нужно раздобыть подходящую версию браузера для вашего компьютера. Webgl браузер доступен для следующих операционных систем:

  • Windows:
    • Если у вас достаточно свежая ATI или Nvidia видеокарта, проблем не должно быть. Пробуем установить Firefox или Chromium, как вам будет угодно, - если возникают проблемы посмотрите эти пару советов.
    • Если у вас графический чипсет от Intel (часто бывает в ноутбуках), то готовьтесь к проблемам. Видео драйверы от Intel поддерживают OpenGL не полностью, а сейчас поддержка WebGL в браузерах обеспечивается силами OpenGL. Все же стоит попробовать инструкции для установки Firefox или Chromium, но вполне вероятно, что они не будут работать. Если не получится, можно попробовать особую версию Firefox с функцией программного рендеринга (3D-графика просчитывается на CPU, вместо GPU видеокарты). Это будет медленнее, но по крайней мере вы сможете попробовать какую то часть WebGL контента!
  • Macintosh: если вы работаете в Snow Leopard (OS X 10.6), все должно быть прекрасно, я рекомендую использовать бета версию WebKit, который будет работать в качестве альтернативной версии Safari. Если вы работаете в Leopard (OS X 10.5), то вы не сможете использовать эту версию WebKit, но вы можете использовать как Firefox так и Chromium. Пользователи Snow Leopard конечно, тоже могут использовать Firefox или Chromium. Если у вас старая версия OS X, к сожалению, я не знаю ни одного WebGL браузера который вы сможете использовать прямо сейчас :-(
  • Linux: ситуация в значительной степени такая же, как с Windows:
    • Если у вас ATI или Nvidia видеокарта, а также последние версии драйверов, то все должно работать нормально как в Firefox так и в Chromium (по состоянию на 22 июня 2010 я слышал о проблемах с Firefox WebGL в 64-битных Linux, так что Chromium может быть вашим лучшим вариантом).
    • Если видеокарта от Intel, как и пользователям Windows вам, вероятно, придется использовать медленный программный рендеринг, попробуйте Firefox илиChromium , но они, вероятно, не будет работать с настройками по умолчанию. Но ситуация лучше, чем у Windows пользователей, - нужно убедиться, что Mesa установлен (лучше всего установить последнюю версию с помощью менеджера пакетов вашего дистрибутива), а затем вы сможете использовать Mesa версию Firefox.
FirefoxБета версия Firefox известна под кодовым именем Minefield. Он обновляется каждую ночь, и уже вполне стабилен. Он может быть установлен рядом с основной версией Firefox, так что в случае чего можно его без проблем удалить и продолжить работать в привычном Firefox.Чтобы получить Minefield:
  • Перейдите на страницу nightly builds и скачайте подходящую версию для вашего компьютера.
  • Установите его (предварительно закрыв все запущенные окна Firefox).
  • Запустите Minefield.
  • Перейдите на страницу "about:config"
  • Фильтруем по "webgl"
  • Ставим значение "webgl.enabled_for_all_sites" в "true".
(Спасибо Владимиру Вукичевичу за эту информацию)Далее, нажмите здесь, чтобы попробовать WebGL.Запуск Minefield с программным рендером в WindowsЕсли ваше графическое оборудование не поддерживает OpenGL 2.0, то сейчас единственный способ получить работающий на вашей машине WebGL это использование библиотеки под названием Mesa. Mesa попросту программно эмулирует видеокарту, так что это немного медленно, - но это лучше, чем ничего! Как запустить это на Windows:
  • Скачать эту версию Minefield.
  • Установите его (предварительно закрыв все запущенные окна Firefox).
  • Скачать эту версию библиотеки Меsа, любезно предоставленную Владимиром Вукичевичем
  • Разархивируйте zip архив Меsа; он содержит один DLL файл, называемый OSMESA32.DLL,его вы должны положить куда-нибудь на вашей машине.
  • Запустите Minefield.
  • Перейдите на страницу "about:config"
  • Фильтруем по "webgl"
  • Ставим значение "webgl.enabled_for_all_sites" в "true".
  • Настраиваем поле "webgl.osmesalib" чтобы оно указывало на OSMESA32.DLL. Например, если вы извлекали его в "C:\Temp", установите "webgl.osmesalib" в "C:\Temp\osmesa32.dll"
  • Ставим значение "webgl.software_rendering" в "true".
(Еще раз спасибо Владимиру Вукичевичу за информацию)На этом всё. Нажмите здесь, чтобы попробовать WebGL.Запуск Minefield с программным рендером на LinuxЕсли ваше графическое оборудование не поддерживает OpenGL 2.0, то сейчас единственный способ получить рабочий на вашей машине WebGL - использование библиотеки под названием Mesa. Mesa попросту программно эмулирует видеокарту, так что это немного медленно, - но это лучше, чем ничего! Вот как можно его установить.
  • Скачайте последнюю версию Minefield.
  • Установите его (предварительно закрыв все запущенные окна Firefox).
  • С помощью менеджера пакетов вашего дистрибутива Linux убедитесь, что Mesa установлена и обновлена до последней версии.
  • Запускайте Minefield.
  • Перейдите на страницу "about:config"
  • Фильтруем по "webgl"
  • Ставим значение "webgl.enabled_for_all_sites" в "true".
  • Ставим значение "webgl.software_rendering" в "true".
  • В опции "webgl.osmesalib" указываем путь к вашей OSMesa shared library (обычно что-то вроде /usr/lib/libOSMesa.so).
На этом всё. Нажмите здесь, чтобы попробовать WebGL.SafariПомните, Safari поддерживает WebGL только на Маках с Snow Leopard (OS X 10.6), если вы используете Leopard (10.5), Windows или Linux, то вы должны будете использовать Firefox или Chromium. (Если вы используете старую версию OS/X, я не знаю ни одного браузера с поддержкой WebGL :-()Если вы используете Snow Leopard, вам необходимо:
  • Убедится, что вы используете, по крайней мере 4 версию Safari.
  • Скачайте и установите WebKit nightly build.
  • Запуcтите терминал, и в нем команду:
  • defaults write com.apple.Safari WebKitWebGLEnabled -bool YES
  • Запустите только что установленный WebKit.
(Спасибо Крису Маррину за информацию)Далее, нажмите здесь, чтобы попробовать WebGL .ChromiumРазработчики Chrome в настоящее время рекомендуют использовать ночные сборки Chromium`а. Chromium - это браузер с открытым исходным кодом на котором основан Chrome. Процедура несколько отличается для каждой поддерживаемой операционной системы, здесь приведены инструкции для Windows , Macintosh и Linux . (Предупреждение - я пробовал только версии Windows, но говорят другие версии тоже работают хорошо.Для Windows
  • Перейдите на эту страницу и скачайте chrome-win32.zip
  • Распакуйте файл куда удобно.
  • Откройте окно командной строки и перейдите в chrome-win32 каталог, который вы распаковали.
  • Убедитесь, что все окна Chrome закрыты
  • Выполните следующую команду:
  • chrome.exe --enable-webgl
Для Macintosh
  • Перейти на эту страницу и скачайте chrome-mac.zip
  • Распакуйте файл куда удобно.
  • Откройте окно терминала и перейдите в chrome-mac каталог, который вы распаковали.
  • Убедитесь, что все окна Chrome закрыты
  • Выполните следующую команду:
  • ./Chromium.app/Contents/MacOS/Chromium --enable-webgl
Для LinuxЕсли вы используете 32-разрядный Linux, перейдите на эту страницу и скачайте chrome-linux.zip. Если вы хотите 64-разрядную версию, вы можете перейти на эту страницу, скрольте до упора вниз, чтобы найти самый свежий каталог, перейдите в него, и скачайте chrome-linux.zip оттуда.
  • Распакуйте файл куда удобно, и перейдите в chrome-linux каталог.
  • Убедитесь, что все окна Chrome закрыты
  • Выполните следующую команду:
  • ./chromium --enable-webgl
(Спасибо Мохамеду Мансуру за информацию)Далее, нажмите здесь, чтобы попробовать WebGL .Некоторые примеры WebGLКак только ваш браузер будет установлен, вы сможете видеть WebGL контент. Посмотрим на второй WebGL урок. Вы должны увидеть красно-зелено-синий треугольник, и голубой квадрат. Если вы не видите квадрат и треугольник, почитайте руководство по устранению неполадок ниже.Если все-таки работает, то всё отлично! Вот несколько интересных страниц с WebGL контентом:
  • От Мерфи, вращающаяся сфера с шахматной доской (сейчас не работает в Chromium`е, к сожалению).
  • Еще демо: Кубы Мандельброта.
  • От Google: блестящий чайник (кликните и перетащите что бы по-вращать его), "Сан-Анджелес", Particle Effects
  • От Ilmari Heikkinen, спираль вращающихся кубов и программа для рисования.
  • От Pl4n3, забавный прешелец...
  • ... Или что-то походящее на игру с значительно менее дружелюмными пришельцами
  • Copperlicht это высокоуровневая библиотека построенная поверх WebGL, и это их порт Quake уровня
  • Реальный пример использования WebGL: ChemDoodle 3D рисует молекулы на веб-страницах.
  • Jacob Seidelin, 2 демонстрации - музыкальная Солнечная система (warning: техно-саундтрек) и Миры WebGL (последний не работает в Minefield в данный момент, к сожалению).
  • Несколько портов демо-сцены на WebGL: первый, второй , третий и четвёртый (последнему нужно несколько секунд чтобы загрузится - но оно того стоит!).
Если вы хотите двигаться дальше и узнать о том, как создать свою собственную WebGL страницу, читайте первый урок по WebGL.Урок 1>>Решаем проблемыДля Windows и Linux пользователей: самая распространенная причина, по которой WebGL не работает - проблемы с графическими драйверами. Все текущие реализации WebGL основаны на OpenGL (ожидается, что это изменение в будущем), а поддержка OpenGL обеспечивается поставщиком графического драйвера. Для WebGL необходимо наличие как минимум OpenGL 2.0 для запуска; проблемы с видеокартами Intel существуют от того, что Intel не обеспечил поддержку OpenGL в драйверах для большинства своих графических устройств.Если у вас ATI или Nvidia видеокарта, первое, что нужно сделать, это проверить версию OpenGL на вашем компьютере. Для Windows, это можно сделать с помощью GLview. На Linux, нужно выполнить команду glxinfo и найти строку с заголовком "OpenGL version string". Если номер версии меньше, чем 2.0, вам необходимо обновить драйвер.Если после обновления вы всё еще испытываете проблемы - есть вероятность что подходящий OpenGL не доступен для вашей видеокарты или операционной системы. Возможно имеет смысл попробовать программный рендер. Вот инструкции для Windows и для Linux.

russian-webgl.blogspot.ru


Смотрите также

 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..