Новости про Firefox и WebGL

Плагин Tilt позволяет просматривать веб-страницы в 3D

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

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

Плагин Tilt для Firefox

Различная информация, кроме фактического контента, будет отображена по требованию, с учётом типа каждого узла, его класса, id и прочих доступных атрибутов. В браузере, который использует WebGL и GLSL шейдеры, отображение веб-страницы будет динамическим.

Плагин Tilt также предлагает возможности проверки HTML, CSS и атрибутов по каждому узлу дерева DOM, обновления контента, если страница была модифицирована другими инструментами, такими как Firebug. Кроме этого расширение имеет возможность экспорта веб-страницы в 3D сетку или в скриншот.

Поддержка WebGL в браузерах улучшается

Следующие версии браузеров Chrome и Firefox будут поддерживать WebGL «из коробки».

Последняя (седьмая) бета-версия следующего крупного обновления браузера Firefox, Firefox 4, включает в себя улучшенную поддержку стандарта трёхмерной графики в Интернет WebGL, позволяющего создавать и просматривать страницы и сайты с 3D-контентом без необходимости в установке плагинов. Важным изменением также стало то, что поддержка WebGL включена по-умолчанию, без необходимости в изменении настроек браузера для просмотра WebGL-ресурсов.

Также новая версия Firefox использует API трёхмерной графики для совмещения различных слоёв веб-страницы: текста, графики и видео, подобно Internet Explorer 9. Аппаратное ускорение использует Direct3D в Windows и OpenGL в MacOS X, позволяя повысить скорость рендеринга сложных страниц и их «отзывчивость» на действия пользователя. Разработчики предупреждают, что работа ускорения может быть ненадёжной на некотором оборудовании и при использовании нестабильных драйверов, в особенности на Intel IGP. По этой же причине ускорение пока отключено в версии для Linux. Также новая бета-версия FireFox имеет улучшенную поддержку API Direct2D для ускорения отрисовки двумерной графики в Windows Vista и 7. Загрузить последнюю бета-версию FireFox 4 можно с официального сайта.

WebGL logo

Разработчики браузера Chrome от Google тоже работают над поддержкой WebGL в следующей версии за номером 9. Появилось впечатляющее видео WebGL-демонстрации Aquarium, работающей на восьми компьютерах с Google Chrome одновременно:

Экземпляры браузеров синхронизируют между собой рендеринг сцены с помощью технологии WebSockets. Загрузить демонстрацию можно с сайта Google.

EnergizeGL — framework для WebGL

WebGL также обрастает вспомогательными инструментами для разработки.

Сам по себе WebGL является достаточно низкоуровневым средством описания сцены — не все являются фанатами написания кода шейдеров и JavaScript в «блокноте». На помощь приходят фреймворки вроде EnergizeGL, прячущие механику и позволяющие вести разработку трёхмерных сайтов и приложений для Интернет на более высоких уровнях абстракции.

WebGL logo

Пока что доступна альфа-версия с примером приложения (~0,1 Мб) и демонстрация среды разработки прямо в браузере. Для работы с примерами и демонстрацией требуется тестовая сборка браузера Firefox, с движком WebKit пока есть проблемы совместимости.

GPGPU станет возможным прямо в веб-браузере

Из-за спины стандарта трёхмерной графики в Интернет WebGL уже выглядывает…WebCL?

Основанный на OpenGL ES WebGL уже продемонстрировал способность обеспечить новое качество и скорость графики в Интернет, но стандарт может найти и неграфические применения, чему свидетельствуют новые публикации и демонстрации.

WebGL logo

В демонстрации приводится пример ускорения операций перемножения матриц путем помещения данных в текстуру и осуществления умножения в шейдере GLSL. Как сообщает автор, умножение матриц 1024x1024 на GPU занимает 5 секунд — заметное ускорение в сравнении с 35 секундами для той же задачи при расчётах на CPU. Для использования демонстрации необходим браузер на основе последней версии Webkit, такой как Apple Safari.

Jetpack

Но не только отдельные энтузиасты изучают потенциал использования графических процессоров веб-приложениями. Для API Jetpack, разрабатываемого в Mozilla Labs для браузера Firefox, изучается возможность ускорения практически любого JavaScript-кода с помощью GPU. Уже существует первая реализация, использующая NVIDIA CUDA, в будущем же вполне вероятно появление некоего общего стандарта для универсальных вычислений через Интернет. Если Khronos Group возьмётся за задачу, мы, возможно, в скором времени увидим новую аббревиатуру: WebCL.

Новая демонстрация WebGL

Появилась новая демонстрация использования WebGL, API трёхмерной графики для Интернет.

WebGL — перспективный скриптовый язык описания трёхмерных объектов для Интернет, основанный на «портативной» версии OpenGL ES. Весь код и большая часть ресурсов трёхмерной сцены помещаются прямо в код Web-страницы и воспроизводятся интерпретатором браузера (при условии, что тот имеет поддержку WebGL). В конце прошлого года Khronos Group опубликовала предварительную спецификацию стандарта с надеждой, что будущие версии браузеров будут поддерживать WebGL «из коробки», без необходимости в установке плагинов как в конкурирующем формате O3D от Google.

В новой демонстрации Shader Toy упор сделан на использование языка описания шейдеров GLSL. В демонстрации использовано 29 различных шейдеров для создания эффектов, приближённых к качеству графики «толстых» OpenGL приложений.

Shader Toy WebGL demo

Для просмотра демонстрации потребуется установить последнюю тестовую сборку браузера Firefox 3.7 с поддержкой WebGL.