Direct3D 10: новая степень реализма

36

Созданный для новой ОС от Microsoft и полностью переработанный набор интерфейсов прикладного программирования обещает настоящую революцию, обеспечивая невиданное ранее качество прорисовки мельчайших деталей в трехмерных сценах.

Direct3D 10 Direct3D 10 Direct3D создание сцены Direct3D создание сцены После более чем четырех лет напряженной работы компания Microsoft представила, наряду с Windows Vista, новую версию набора интерфейсов прикладного программирования, используемого главным образом для разработки игр. DirectX 10, как и его предшественники, обеспечивает связь между программами и аппаратной частью ПК. Основная часть нововведений приходится на интерфейс, отвечающий за обработку трехмерной графики — Direct3D 10.

Унифицированный шейдер: оптимальная загрузка GPU

Главным нововведением в Direct3D 10 стала шейдерная модель (Shader Model 4.0). До сих пор внутренние конвейеры видеопроцессора делились на вершинные шейдеры, используемые для обсчета формы модели, и пиксельные шейдеры, предназначенные для расчета качественных характеристик поверхностей. Из-за этого в видеопроцессоре часто оставались незадействованными многие операционные блоки. В Direct3D 10 использована так называемая архитектура унифицированных шейдеров, которая, в зависимости от текущих вычислительных потребностей, может решать самые разнообразные задачи. За счет такого пересмотра конструкции видеопроцессора значительно разгружается аппаратная часть компьютера и появляется возможность переложить на GPU некоторые дополнительные задачи — например, простые расчеты физических явлений.

Геометрический шейдер: GPU научит траву расти

Преимущества гибкого программирования в DirectX 10 можно использовать уже сейчас: новые геометрические шейдеры, как и вершинные, обсчитывают крупные поверхности объектов. Однако они, кроме того, могут изменять форму объекта за счет добавления треугольников. Благодаря этому, на первый взгляд не такому уж и сенсационному, новшеству видеопроцессор может напрямую влиять на элементы трехмерной сцены. Это позволит не только обойтись без участия центрального процессора в изображении таких впечатляющих эффектов, как рост травы (за счет создания цепочек треугольников), но и передаст видеопроцессору обсчет таких физических процессов, как клубящийся туман или волны на воде. Разгрузка центрального процессора позволит освободить достаточное количество ресурсов для придания 3D-сценам большей реалистичности и более точной передачи деталей.

Новый 3 D -драйвер: лучшая интеграция с ОС

Каждая очередная версия DirectX требует и новых драйверов для видеоплат. В случае с DirectX 10 предстоит настоящая революция: новая модель видеодрайвера, получившая название WDDM (Windows Display Driver Model), теперь работает в двух разных режимах, соответствующих режимам операционной системы. Первый из них, режим ядра (Kernel Mode), обеспечивает базовую функциональность ОС. В этом режиме работают драйверы, а во втором, пользовательском (User Mode), — прикладные программы. Каждый переход из одного режима в другой требует определенных затрат ресурсов. До настоящего времени драйверы видеоплат работали только в режиме ядра, в то время как игры, да и DirectX как приложение, были активны в пользовательском режиме.

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

Эта проблема, известная как Small Batch Problem (проблема мелких пакетов), в Windows Vista и DirectX 10 больше не существует. Теперь драйвер видеоплаты разделен на две части, каждая из которых работает в своем режиме: «пользовательская» обрабатывает все графические запросы, собирает их и единым пакетом передает той части, которая «отвечает» за базовый режим работы. Такое разделение позволяет резко сократить потери времени.

Видеоплаты с поддержкой DirectX 10 обеспечивают еще одно преимущество: после инсталляции драйвера в Windows Vista для них не требуется перезагрузка. Кроме того, операционная система может распознавать возможные сбои в работе видеопроцессора и даже самостоятельно перезапускать драйвер.

Полный комплект: в GPU должно быть все

В отличие от предыдущей версии, DirectX 9, разработчики видеоплат с поддержкой DirectX 10 уже не имеют «права выбора» и должны интегрировать в чип поддержку всего набора функций. Как известно, в DirectX 9 были «производительные биты» (capability bits), которые «делегировали» интерфейсу DirectX возможности графического процессора, что позволяло DirectX 9 эмулировать не поддерживаемые видеочипом функции.

Что же касается DirectX 10, то все его функции должны быть реализованы на аппаратном уровне. Однако это вовсе не значит, что все пользователи обязаны перейти на видеоплаты с поддержкой DirectX 10: от применения новой модели драйверов выиграют даже старое «железо» и программы.

ПОДЕЛИТЬСЯ


Предыдущая статьяOpera на устройствах чтения электронных книг
Следующая статьяДуэль: LCD против плазмы

КОММЕНТАРИИ




    Загрузка...