Обзор DirectX 8.0

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

1. Прежние компоненты DirectDraw и Direct3D теперь объединены в один - DirectX Graphics. Это весьма упростило процедуру общей инициализации, которая производится вызовом 2-3 функций. Но самые важные изменения коснулись внутренней архитектуры Direct3D, где был заменен фиксированный графический конвейер и он впервые стал программируемым. Основой такого конвейера являются шейдеры (shaders) - небольшие микропрограммы, обрабатывающие поток графических данных.

Рисунок 1. Архитектура графического конвейера Direct3D

Как видно из рисунка, шейдеры делятся на два типа: вершинные и пиксельные (vertex shaders и pixel shaders). Вершинные шейдеры заменили блок T&L в фиксированном конвейере Direct3D, а пиксельные шейдеры заменили блок мультитекстурирования. Также в Direct3D 8.0 поддерживаются ряд новых возможностей, без которых необойтись в современных играх:

2. DirectMusic и DirectSound также объединены в один общий компонент - DirectAudio. Теперь wav-файлы могут быть загружены через DirectMusic и проиграны вместе с MIDI-музыкой.

3. Исправлен DirectPlay, увеличена его совместимость и легкость использования. Появилась возможность голосового общения между игроками.

4. Важные изменения коснулись и DirectInput. Программисту не надо настраивать различные устройства ввода, теперь ему достаточно назначить действия (action mapping) и DirectInput сам возмет на себя все необходимую работу.

Хочется сказать, что DirectX 8.0 впервые вплотную приблизился к функциональности OpenGL 1.2, а наличие дополнительных компонент для использования звука, устройств ввода и сетевых соединений, дает ему неоспоримые приемущества при выборе основного API.

Hosted by uCoz