Ошибка: Failed to parse the Currency Converter XML document.
$20 352.04


Ошибка: Failed to parse the Currency Converter XML document.
$1 853.68


Ошибка: Failed to parse the Currency Converter XML document.
$2 499.01


Эволюция 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 раз производительнее существующих решений.

 

Интересное

Графический счётчик на PHP
Данный пример демонстрирует работу простого графического счетчика. По функциональности он совершенно идентичен текстовому счетчику.Для работы этого счетчика необходимо создать графическое...
Подробнее...
Учимся работать с DelphiX
Говоря техническим языком, DirectX — набор объектов COM (Component Object Model), которые реализуют интерфейсы для облегчения работы с видеоаппаратурой, звуком, межкомпьютерными соединениями и...
Подробнее...
Установка и настройка...
1. Сохранение настроек пользователя при миграции с более ранней версии системыДля того, чтобы пользователи могли продолжать работать на вновь установленной системе без каких-либо неудобств,...
Подробнее...
Тестирование настроек...
Можно смело предположить, что нет таких пользователей, которые были бы полностью довольны производительностью своих dial-up соединений в Интернет. Приходится долго ждать загрузки web-страниц,...
Подробнее...
Правила написания и...
Структура reg-файловЗнание реестра Windows будет не полным без умения написать reg-файл. Начнем с того, что это такое. Reg-файл — это файл, имеющий определенную структуру и содержащий...
Подробнее...
Средства Delphi 7 для...
Рассмотрим наборы компонентов, которые присутствуют в библиотеке компонентов delphi 7, предназначенных для работы с базами данных. Вы узнаете, что такое набор данных, источник данных и...
Подробнее...
CGI Perl FAQ
Что такое CGI и зачем мне все это нужно, если я не умею программировать, да и учиться на старости лет нет особого желания?CGI (Common Gateway Interface) — это шлюз, с помощью которого...
Подробнее...
Советы по графике в Delphi
Вы наверное часто видели довольно хитроумные картины, на которых непонятно что изображено, но все равно необычность их форм завораживает и приковывает внимание. Как правило, это хитроумные формы...
Подробнее...
Поисковый маркетинг губит...
Что такое «маркетинг веб-сайта»? В 99% случаев первое, что приходит на ум — это SEM, то есть поисковый маркетинг, во многом из-за сходства терминов. Однако подобная логика часто приводит к...
Подробнее...
Массивы в РНР
Если Вы четко представляете себе, что такое массив, предлагаю Вам сразуперейти к чтению следующего абзаца. Если нет, тогда именно это Вы сейчаси узнаете. Массив – это ряд переменных, упорядоченных...
Подробнее...