понедельник, 8 февраля 2010 г.

DirectX 10.1: ожидается


Предварительный обзор
нового набора библиотек
Еще не успели выйти игры, разработанные
специально для платформ с поддержкой
DirectX 10, как Microsoft объявила,
что скоро выйдет DirectX 10.1.
В этой статье мы рассмотрим основные
нововведения DirectX 10.1 и совместимость
видеоплат линеек GeForce 8x00/
Radeon 2x00 с новым объемным API.
В августе 2007 года в состав DirectX
SDK вошли важные элементы DX10.1:
Direct3D 10.1 Tech Preview — обновленная
версия API для расчета трехмерной
графики и XAudio 2 Beta — новый API
для работы со звуком. Если первый является
эволюционным развитием Direct3D
10, то XAudio 2 заменит DirectSound
и, как ожидается, станет самым
серьезным изменением в звуковой системе
DirectX за последние семь лет.
Direct3D 10.1
Новый трехмерный API является надстройкой
над Direct3D 10, расширяющей
возможности графических плат.
Выход нового API можно сравнить с
обновлением ревизий Direct3D 9. Поэтому
D3D 10.1 полностью совместим
со всеми платами, поддерживающими
D3D 10. Однако при этом видеоплаты
линеек
GeForce 8x00/Radeon HD 2x00
будут поддерживать не все нововведения
D3D 10.1. Обязательными условиями
соответствия ускорителя спецификации
DirectX 10.1 являются поддержка
MSAA 4x и FP32-фильтрации.
Однако,
кроме того, D3D 10.1 обладает следующими
свойствами:
n новая шейдерная модель версии 4.1;
n поддержка массивов кубических текстур
с возможностью динамической
индексации в шейдерном коде;
n улучшенная поддержка многопоточной
обработки;
n улучшенная работа с тенями;
n возможность визуализации поблочно
сжатых текстур;
n улучшенная гибкость при копировании
ресурсов;
n поддержка блендинга на форматах
UNORM и SNORM, возможность задавать
независимые режимы блендинга
для разных объектов рендеринга;n улучшено управление полноэкранным
сглаживанием — приложение сможет
задавать расположение семплов из
шейдерного кода, появится возможность
выбирать из палитры модель
MSAA-семпла и получать соответствующие
позиции семпла. Разработчики
смогут задавать параметры сглаживания
в зависимости от игровой сцены;
n фильтрация чисел с плавающей точкой
с 32-разрядной точностью (FP32)
для улучшения качества рендеринга по
методу широкого динамического диапазона
(High Dynamic Range, HDR).
У владельцев видеоплат линеек GeForce
8x00/Radeon HD 2x00 возникнет резонный
вопрос: не окажутся ли бесполезными
недавно приобретенные
устройства? Совместимость DX 10.1 с
видеокартами
DX10 сохранилась, о чем
официально сообщили представители
Microsoft, но старые видеокарты не будут
поддерживать нововведений DX10.1
(хотя, по неподтвержденной информации,
часть из них будет работать). С одной
стороны, отсутствие аппаратной
поддержки новых свойств DX10.1 повлияет
на качество графики в играх, если
кто-то из разработчиков выпустит
игру, «заточенную» под возможности
D3D 10.1 (чего, вообще-то, может и не
случиться). С другой стороны, видеоплаты
с поддержкой D3D 10.1, возможно,
окажутся существенно быстрее своих
старых аналогов, что и станет основной
причиной для замены видеоплаты.
В дальнейших планах у Microsoft стоит
развитие трехмерной графики реального
времени. Корпорация планирует внедрить
в аппаратно-программный интерфейс
расчет освещения по алгоритмам
Global Illumination, аппаратный
расчет трассировки лучей, аппаратную
тесселяцию (в Radeon 2x00 уже есть соответствующие
блоки), рендеринг прозрачных
полигонов без предварительной
сортировки, аппаратное ускорение
компрессии текстур, новые форматы
сжатых текстур и многое другое. Столь
революционные нововведения могут
появиться уже в DirectX
11. Их значение
трудно переоценить — пожалуй, это будет
самый большой шаг вперед для всей
отрасли с того момента, как компания
3Dfx выпустила первый ускоритель
трехмерной графики.
XAudio 2
Напомним, что в Windows Vista полностью
изменился аудиостек, и DirectSound
больше не сможет обращаться к
звуковому драйверу напрямую. Вместо
этого приложения
будут работать с
драйвером аудиоплаты через сессии, которые
программируются при помощи
Windows Audio Session API (WASAPI).
DirectSound эмулируется программно,
поэтому о технологии EAX и аппаратных
трехмерных эффектах, вызываемых
через DirectSound 3D, теперь можно забыть.
Однако нововведения в Windows
Vista не коснулись сторонних
звуковых
API, таких как ASIO и OpenAL.
Компания Creative попыталась исправить
ситуацию, разработав ALchemy —
программу для преобразования вызовов
DirectSound 3D в OpenAL. Отсутствие
поддержки DirectSound 3D — один из
самых серьезных недостатков Windows
Vista. Устранить его призван XAudio 2,
новый низкоуровневый аудио-API, разработанный
Microsoft и позиционируемый
как замена DirectSound. К основным
возможностям XAudio 2 относятся:
n кросс-платформенность — поддержка
Xbox 360 и ПК;
n улучшенная поддержка мультиканальности
и объемного звучания с контролем
уровня звука на каждом канале;
n кросс-платформенная система программируемых
DSP-эффектов;
n поголосовая фильтрация, произвольное
субмикширование и мультитемповая
обработка звука;
n оптимизация под многоядерность;
n поддержка сжатых звуковых форматов
(ADPCM, WMA, XMA);
n 3D-позиционирование реализовано
при помощи отдельной математической
библиотеки X3DAudio, которую при необходимости
разработчик приложения
может заменить собственной;
n поддержка нескольких источников
объемного звука и воспроизведения для
нескольких слушателей;
n улучшенная модель определения расстояний
для 3D-звука.
Финальная версия XAudio 2 должна
появиться в марте 2008 года в соответствующих
релизах DirectX SDK и Xbox
360 SDK, а пока что желающие могут
ознакомиться с бета-версией — она доступна
на сайте Microsoft еще с августа.