Google O3D - трехмерный веб

Google опубликовала предварительную версию технологии O3D. При её помощи можно создавать интерактивные 3D-сцены прямо в браузере. Особенность O3D - использование возможностей аппаратного ускорения современных видеокарт.


Зачем нужен 3D-web

Мобильные технологии и веб-технологии сейчас - одни из самых главных и, можно даже сказать, одни из самых модных направлений в информационной отрасли. В обоих случаях здесь активно проявляет себя корпорация Google. Компания имеет в активе набирающую популярность платформу Android для мобильных устройств. Про веб-технологии и говорить нечего. На данный момент Google именно в этой области является одним из главных законодателей мод.

Использование 3D для веб-сайтов - это модно пока только в узких кругах веб-разработчиков. Поддержку трёхмерной графики имеют и Flash, и Silverlight, и Java. Однако эта поддержка по своим выразительным возможностям довольно ограничена, и 3D-графику активно используют очень небольшое количество сайтов и сервисов.

Как бы там ни было, вряд ли стоило надеяться на то, что Google не представит в области трёхмерной графики своё собственное решение. Тем более, некоторое время назад организация Khronos, ответственная за разработку спецификаций OpenGL, выступила с инициативой создания спецификаций доступа веб-приложений к функциям 3D. И, как заявляют в Google, публикация O3D - это первое содействие инициативе Khronos.

 

Факт, что Google разрабатывает свой "движок" для приложений с трёхмерной графикой, может говорить о том, что компания собирается открыть новый информационный сервис на основе O3D. Или же в старых сервисах Google Maps и Picasa могут появиться дополнительные функции, связанные с трёхмерной графикой.

Сами же разработчики O3D подчёркивают в своём блоге, что трёхмерное представление во многих случаях гораздо информативнее и удобнее, чем 2D. Но вполне возможно, что в Google намерены активно заняться не только информационными сервисами, но и онлайн-играми. Вряд ли руководители компании не задумывались о феномене и успехе World of Warcraft.

Как бы там ни было, на сайте разработки O3D представлено много действующих примеров, которые демонстрируют и художественные, и игровые, и информационные возможности этого "3D-движка". Здесь и примеры игр, и визуальные демонстрации виртуальных предметов и виртуальных миров.


Практическая информация

Теперь поговорим более конкретно о том, что представляет собой этот O3D. Во-первых, это специальный плагин к браузеру, позволяющий напрямую использовать функциональность современных видеокарт. Во-вторых, это API для создания трёхмерных сцен в браузере. И, в-третьих, это специальный контейнер для данных, необходимых в трёхмерной сцене - текстуры, видео, аудио и т.д.

Плагин для браузера устанавливается так же, как и браузер Chrome, или же, можно сказать, таким привычным для пользователей Windows способом, как компьютерные вирусы. То есть сначала пользователь загружает из Сети программу-установщик, а она, в свою очередь, тихо скачает плагин и незаметно установит его в браузер.

"Движок" O3D является кроссплатформенным и работает на операционных системах GNU/Linux, Mac OS X 10.5 и Windows XP/Vista. Поддерживаются браузеры Google Chrome, Microsoft Internet Explorer, Mozilla Forefox и Apple Safari. Про "Оперу" опять забыли.

На данный момент для линуксоидов готового плагина нет - нужно собирать из исходников. Причём работает он пока только в 32-битном окружении. Исходные тексты плагина распространяются в рамках лицензии BSD.

Следует сказать и о поддерживаемых видеокартах. Плагин O3D требует видеокарты с поддержкой шейдеров версии не менее 2.0. Рекомендуются карты NVIDIA GeForce 8-й серии или же линейка ATI Radeon HD. Увы, на каких-нибудь стареньких GeForce MX даже примеры простейших вращающихся кубиков увидеть не получится. И это, на самом деле, нельзя считать правильным.

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

JavaScript - это стандартный язык, на котором пишется приложение O3D. Специальное API содержит функции и классы для манипуляции с примитивами, текстурами и материалами, расчёта физических процессов, разнообразных спецэффектов, управления камерой, загрузки 3D-содержания. Имеется набор утилит в виде простых примеров кода, облегчающих создание приложений.

Для трёхмерных сцен необходимы специальные данные - текстуры, файлы моделей. Проект O3D предлагает простой конвертер, позволяющий конвертировать форматы трёхмерной графики в специальный контейнер. Возможен импорт содержания, созданного в программах Autodesk 3ds Max, Maya и Google SketchUp.


Заключение

Проект O3D представляет сейчас, в первую очередь, академический интерес. До практического повсеместного использования этой технологии ещё далеко. Но, например, уже сейчас O3D можно использовать как весьма простой путь изучения основ программирования трёхмерной графики.

Кроме любителей создавать интерактивные онлайн-игры, O3D просто обязан привлечь внимание представителей демосцены и дать новый импульс развитию этого вида компьютерного искусства.

Немаловажно и то, что проект функционирует и распространяется в рамках движения open source. Поэтому все желающие могут присоединиться к дискуссии о развитии этого проекта и оказать влияние на его состояние.

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

Версия для печатиВерсия для печати

Номер: 

17 за 2009 год

Рубрика: 

Новые технологии
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!