$74.87


$341.35


$27.24


Эволюция 3D-графики в мобильном телефоне

Воспроизведение видео и трехмерные игры — очень ресурсоемкие задачи для мобильного телефона, поэтому до недавнего времени они были трудно реализуемы. Но прогресс не стоит на месте, и в портативных устройствах незаметно стали появляться так называемые «мобильные видеокарты», работающие на специально разработанном программном обеспечении.

Как известно, самые передовые технологии сначала внедряются и апробируются в военной сфере, и только затем мы можем приобрести новомодный гаджет в гражданском магазине. Точно так же начиналась история мобильного телефона — с полевой рации в машине связь без проводов превратилась в отличительный признак человека из 21 века. Но сейчас мобильный телефон уже не только связь в любом месте — это и плеер, и фотоаппарат, и, что самое главное, маленький портативный компьютер, который уже составляет достойную конкуренцию настольному собрату.


Но прежде чем в наших карманах появились многофункциональные мультимедийные аппараты, телефон прошел тернистый путь. Достаточно хотя бы вспомнить появление фантастических для своего времени фишек — поддержки SMS или наличия виброзвонка вместе с будильником. Поэтому не удивительно, что вначале была гонка за количеством функций: камера, плеер, радио, Java… И благодаря росту аппаратных возможностей появилась возможность воспроизведения трехмерной графики — чем не еще одна функция? Несмотря на то, что аппаратных мощностей вроде бы хватает (средний телефон сегодня имеет процессор 250 МГц и 10 МБ ОЗУ без клиентской части Java), 3D-игры появились не сразу. Причина кроется в том, что Java не была рассчитана на подобный тип графики и желающим написать «объемную игрушку» приходилось довольствоваться лишь инструментарием для 2D-графики. Это было очень трудоемко, да и по уровню графики явно не дотягивало до желаемого уровня. Естественно производители, которые находятся в постоянном поиске новых функций для мобильных аппаратов, быстро поняли всю привлекательность новой идеи (оснастить устройство чем-то кардинально новым стало практически невозможно, а вот аппаратные мощности постоянно растут). Поэтому 2003 год ознаменовался целым веером технологий для воспроизведения компьютерной графики.


Бесспорно, самым заметным явлением стал анонс мобильного варианта OpenGL — OpenGL ES, разработки компании Kronos. OpenGL ES — это кроссплатформенный интерфейс API (Application Platform Interface), предназначенный для работы с 2D- и 3D-графикой на различных устройствах (игровых консолях, телефонах, коммуникаторах, КПК). Фактически, это выжимка из настольного OpenGL (из-за малой производительности и требованиям к энергопотреблению), которая обеспечивает гибкий низкоуровневый интерфейс между софтом и графическим акселератором устройства.

Путь развития стандарта OpenGL ES

Существует две версии стандарта — OpenGL ES 1.X и 2.X. OpenGL ES 1.X предназначен для работы на функционально ограниченных устройствах, но при этом он позволяет добиться неплохой скорости работы и качества картинки. Его более продвинутая модификация — OpenGL ES 1.1 опирается на спецификацию OpenGL 1.5 и поддерживает API для использования аппаратного ускорения, полностью совместим с версией 1.0. В то же время, OpenGL ES 2.X предназначен для более мощных устройств и поддерживает полностью программируемую 3D-графику. В его основе лежит спецификация OpenGL 2.0, и он обеспечивает программируемый 3D-графический конвейер с возможностью создания шейдеров и программных объектов с использованием языка OpenGL ES Shading Language. Главное преимущество этого стандарта — в его относительной открытости, что позволяет каждому использовать его в своих приложениях.

Естественно, софтверный гигант Microsoft не захотел оставаться в стороне, поэтому настольный DirectX также был оптимизирован для мобильных устройств и получил название Direct3D Mobile. Он менее популярен, так как предназначен для платформы Windows CE.

Еще одним этапом развития объемного отображения стало детище компании Superscape Group, которая разработала движок Swerve, предназначенный для написания трехмерных игр, причем качество графики в таких играх очень близко к графике приставок и компьютеров. Оценить ее качество можно по таким играм как Chesscapade (трехмерные шахматы, где фигуры показываются как живые герои), Moto GP (мотогонки на трехмерных мотоциклах, J2ME), Jet Fighter (авиасимулятор, J2ME). Основными достоинствами Swerve является маленький объем игр (он соизмерим с размером обычных двухмерных игр), и самое основное — универсальность технологии.

Игра на основе Swerve может быть написана как на Java, так и на базе любой другой платформы, поэтому пользователям не требуется устанавливать дополнительное ПО, достаточно скачать и запустить игру, как обычно. Несомненным преимуществом движка является его нетребовательность к ресурсам, поэтому для воспроизведения трехмерной графики не требуется наличие отдельного ускорителя, как, например, в Nokia N-Gage. Технология Swerve состоит из трех частей: клиента, контента и пакета разработчика. Клиент представляет собой код, работающий на мобильном телефоне. Контент — это графика, уровни и модели, т.е. фактически сама игра. Клиент превращает контент в видимое на экране изображение. А за создание контента отвечает пакет разработчика Swerve Studio. Это набор расширений, которые подключаются к известному редактору 3D Studio Max, который уже давно стал стандартом де-факто в мире компьютерных 3D разработок. Поэтому написать уровень для будущей игры или создать нового героя может любой дизайнер, имеющий опыт работы с трехмерной графикой. А благодаря поддержке OpenGL ES, Swerve позволяет использовать любые функции аппаратного ускорения графики, доступные в устройстве. Кроме того, Swerve доступен для самых популярных платформ: J2ME, Symbian, Linux, BREW, Microsoft Smartphone, Pocket PC.

Платформа Java фактически объединила всех производителей, сделав мобильные приложения по настоящему универсальными. Поэтому не удивительно, что Java 2 Platform Micro Edition (J2ME) тоже обзавелась мобильным 3D API, основанным на Swerve и получившим в списке стандартов номер JSR 184. Он является опциональным пакетом, используемым с такими профилями, как Mobile Information Device Profile (MIDP), версий 1.1 и выше. JSR — это первый стандарт, предназначенный специально для 3D-Java на мобильных устройствах. Несмотря на то, что это Java, разработка дополнения производилась силами 26 крупнейших производителей, среди которых Sun Microsystems, Sony Ericsson, Symbian, Motorola, ARM, Cingular Wireless, Nokia. Версия пакета определяет низко- и высокоуровневые интерфейсы для устройств без физического акселератора. Все эти технологии позволяют создавать не только игры, но и пользовательские интерфейсы, трехмерные скринсейверы и другие вещи, требующие объемных деталей. Стандарт также поддерживает высоко- и низкоуровневое программирование. При высоком уровне разработчик работает со графикой сцены, а рендеринг мира происходит сам в зависимости от позиций камеры и освещения. Если же требуется немедленная прорисовка объекта, то разработчик применяет низкоуровневый доступ, который использует наработки Open GL ES.

Мобильный рынок 3D-графики — очень лакомый кусочек, поэтому не удивительно, что к процессу подключаются и производители настольных ускорителей. Да и размеры современных дисплеев (320х240, 480х320) очень способствуют популяризации мобильного гейминга. Например, nVidia отличилась нашумевшим процессором GoForce 4500, созданным в 2004 году. Чип оснащен 1280 КБ встроенной памяти со 128-разрядным интерфейсом. Присутствует также встроенный геометрический процессор, снижающий нагрузку на ЦП мобильного устройства и поддержка билинейной и трилинейной фильтрации текстур. Естественно, 2004 год был очень давно, поэтому сейчас используется серия GoForce 6100. Кроме того, nVidia решила кардинально поменять интерфейс мобильных устройств, добавив ему объемности (такие планы были озвучены на конгрессе 3GSM 2007 в Барселоне). Таким образом, будут решены существенные на сегодня недостатки: многозадачность в многооконном окружении, полностью ускоренное наложение полупрозрачных окон (снимается нагрузка с ЦП) и пользовательский 3D-интерфейс с эффектами перехода. Базироваться разработка будет на стандарте OpenKODE 1.0 компании Kronos Group.

Графическое подразделение ATI также не отстает от мировых тенденций, для чего в 2004 году вместе с компанией SK Telecom разработала платформу GIGA (Graphic Instruction Graphic Acceleration), которая в своей основе также использует OpenGL ES. В сами же мобильные устройства будет встраиваться чип ATI Imageon (современные модели носят индексы 2298 и 2380). А посетители выставки CTIA 2007 могли наблюдать их работу вживую.

Другие производители также стараются попасть на новый рынок. Так, у Intel есть ускоритель Intel 2900G, а Toshiba анонсировала чип TC35711XBG, который обещает быть в 38 раз производительнее существующих решений.

 

Интересное

Основные факторы, влияющие...
1. Примерный алгоритм определения релевантности документа запросу.Довольно часто, особенно от людей, недавно занявшихся поисковой оптимизацией, приходится слышать просьбу раскрыть...
Подробнее...
Печать из Linux на Windows...
1. Предисловие Перед нами стоит задача печати документов на Win-принтере (Canon LBP — 810) из Linux (ALT Master 2.2/2.4). Canon LBP — 810 подключен (USB-подключение) и настроен на Win-компьютере...
Подробнее...
Своя CMS на PHP. Часть 1
Итак, с чего начнем... естественно с проектирования. Что должна уметь/иметь не крутая, простенькая CMS? Этот вопрос достаточно сложный, т.к. любая CMS, даже самая простая, пишется под конкретные...
Подробнее...
DOTNET - Да или Нет. С...
Руководитель IT департамента любой сколько-нибудь развившейся и вставшей на ноги компании почти наверняка имеет мечту. Мечту, в которой его предприятие совершает все деловые операции со всеми...
Подробнее...
Почему не нужно чистить реестр
Давным-давно, в незапамятные времена (еще до изобретения операционной системы Microsoft Windows 95), компьютеры Windows и программы, разработанные для них, включали в свой состав файлы...
Подробнее...
Какие типы данных...
Я не буду описывать подробно все изобилие типов mysql. Я уверен, что это лишнее.Дело в том, что в mysql-е числовые и текстовые группы типов очень многочисленны.Отличаются типы в этих группах...
Подробнее...
Трюки и спецэффекты в...
В наше время при помощи PhotoShop реализовывается множество различных проектов и задач, но основными являются несомненно те, которые связаны с созданием собственных изображений и визуальной...
Подробнее...
Red Hat и USB-устройства
Цель этой статьи — заставить работать мою USB мышь, USB камеру и USB жесткий диск с Linux«ом.Мой Компьютер с Emperor Linux и USBЯ начал использовать Red Hat 7.3. Хотя уже прошло много времени, и...
Подробнее...
DBI для mSQL/mySQL
УстановкаДля использования интерфейсов rnSQL и MySQL к модулям DataBase Dependent/DataBaseIndependent (DBI/DBD) или MsqlPerl и MysqlPerl необходимо иметь следующие компоненты :
Подробнее...
Собираем Apache + PHP +...
Итак попробуем все это собрать. Для начала нам понадобиться apache, php, sablot, xpat, iconv. Последние три представляют собой программы для обработки XML/XSLT файлов.
Подробнее...