|
Встречаем DirectX 10
Многие люди в свободное время играют в компьютерные игры. И получают немало удовольствия. Частично в этом "повинен" и DirectX 9. Действительно, мы играем в игры, разработанные под интерфейс прикладного программирования (API) DirectX 9 ещё в декабре 2002 года. Почти четыре года назад. И хотя многие подразумевают под словом "DirectX" только графику, в стандарт DirectX на самом деле входят разные API, отвечающие за различные игровые аспекты, из которых графика - только один. Популярные игры, такие, как Half-Life 2, F.E.A.R., Battlefield 2 и Oblivion, используют самую последнюю версию DirectX, а именно 9.0c.
В DirectX три ключевые области: устройства ввода, звук и видео. В следующей таблице приведён список API в последней версии DirectX.
Устройства ввода | |
API для устройств ввода, включая клавиатуры, мыши, джойстики, гейм-пады и устройства с силовой отдачей. В данной версии API поддерживаются функции контроллера Xbox360 при подключении к ПК с Windows XP SP1 или более поздней версией. | |
Звук | |
Низкоуровневый аппаратный API, который служит интерфейсом между приложениями и звуковой картой. Через этот API можно управлять аппаратными буферами, громкостью, высотой тона и позиционированием отдельных звуков. | |
Высокоуровневый API, способный смешивать множество звуков. Он может воспроизводить MIDI, а также различные звуки с индивидуальными уровнями громкости и другими параметрами. | |
Видео | |
Direct3D | API, благодаря которому на вашем экране появляется изображение. Это низкоуровневый интерфейс, который позволяет обрабатывать 3D-объекты с помощью аппаратных ускорителей (видеокарт). |
Раньше этот API был очень важен, но в текущей версии обработка 2D-функций была перенесена в Direct3D. |
В оставшейся части статьи мы поговорим о том API, который интересует большинство людей: Direct3D. И здесь с появлением DirectX 10 нас ждёт немало перемен. В Direct3D 10 появятся новые функции, призванные решить существующие графические проблемы, а также инструменты, позволяющие заняться новыми задачами рендеринга. Кроме того, 3D-конвейер будет упрощён, что тоже должно способствовать появлению лучших и более эффектных игр.
Что изменилось?
В октябре, после пленарного доклада по поводу DX10 на мероприятии nVidia, мы смогли поговорить с Дэвидом Блюфом (David Blythe), software-архитектором Microsoft Graphics Platform Unit по DirectX 10. Он прочитал доклад о важных улучшениях, сделанных в Direct3D 10. Разработчики ПО и производители "железа" уже давно накопили немалый багаж проблем, и, по словам Блюфа, Direct3D 10 решает большинство проблем и жалоб.
Direct3D 10 отличается пятью ключевыми изменениями:
- улучшенные возможности программирования (Shader Model 4.0 и геометрические шейдеры);
- строгие аппаратные спецификации;
- улучшенная производительность (снижение числа обрабатываемых команд на кадр);
- унифицированные наборы инструкций (HLSL 10);
- потоковый ввод/вывод (геометрический шейдер может записывать в память).
Позвольте привести графическую диаграмму конвейера Direct3D 10, которая показывает, как происходит рендеринг изображения. Она позволит отследить новые изменения.
С появлением линейки ATi Radeon X1000 концепция традиционного конвейера ушла в историю. Теперь говорить о том, что карта обладает каким-то числом пиксельных конвейеров совершенно бессмысленно. Просто выкиньте слово "пиксельные конвейеры" из головы, если только вы не рассматриваете устаревшие карты.