апаратних рішень, що додало складності спільній обробці елементів GDI й Direct3D. Версія моделі відео драйвера (Windows Driver Model, WDM) для Windows XP - XPDM, чітко відображає послідовну природу обробки GDI й Direct3D.
Нова модель драйвера - Windows Vista Display Driver Model (WDDM), змінює пріоритети й виводить на перший план графічний процесор й Direct3D, надаючи зовсім інший смисл 3D рендерінгу картинки екрана за рахунок програмувального GPU. Завдяки використанню WDDM все графічне "залізо" тепер управляється винятково за допомогою Direct3D, і всі інші графічні інтерфейси взаємодіють із відеокартою тільки за допомогою Direct3D драйвери.
Версія Direct 9, уперше представлена під Windows в 2002 році й далі що неодноразово обновлявся в 2003 - 2005 роках, представила могутніші в порівнянні з попередниками моделі шейдерного програмування Direct3D. Версія Direct3D 9 є первинним графічним інтерфейсом і для Windows Vista, залишаючись бездоганним API для написання 3D ігор і додатків, сумісних з багатьма поколіннями відеокарт і випусків Windows. Більше того, для збереження повної сумісності зі старими версіями Windows деякі особливості старих моделей драйвера емулюються навіть новою моделлю драйвера Windows Vista. Тому, незважаючи на підтримку нових драйверів WDDM для ряду відеокарт, Windows Vista продовжує підтримувати можливість використання старих драйверів XPDM для апгрейдів і корпоративних версій. У системах зі старими драйверами підтримується Direct3D 9 і більше старі версії інтерфейсів, при цьому принцип їхньої роботи буде схожий з роботою під Windows XP. Для роботи драйвера WDDM потрібно Direct3D 9Ex, Direct3D 10 або наступні версії.
Що стосується так називаного Direct3D 9Ex інтерфейси, що є трохи вдосконаленою версією Direct3D 9 API, у ньому є можливість віртуалізації ресурсів і ряду інших можливостей для роботи під Windows Vista. Цей API працює тільки під Windows Vista і вимагає драйверів WDDM.
Таким чином, вибираючи API для графічного додатка, варто пам'ятати, що:
- Використання Direct3D 9 має на увазі підтримку Windows XP або більш ранніх версій Windows
- Використання Direct3D 9 з XPDM драйверами має на увазі підтримку Windows Vista для систем на базі "заліза" без підтримки Direct3D 10
- Використання Direct3D 10 дозволить оцінити всі принадності нового покоління відеокарт під Windows Vista
- Новий Direct3D 10 цілком усуває всі вузькі місця колишніх Direct3D API і дозволяє значним образом спростити програмування GPU і розвантажити ресурси CPU. Тепер програмувальна шейдерна модель уніфікована як для вертексних, так і для піксельних шейдерів, з більше чіткою обчислювальною моделлю й набором дій. Для обробки примітивів після стадії вертексних шейдерів додана нова стадія обробки геометричних шейдерів. У результаті потік вертексної й геометричної стадій роботи конвеєра може бути виведений у відеопам'ять для повторного використання, дозволяючи організувати комплексні багатопохідні операції GPU з мінімальним завантаженням CPU, розраховуючи анімацію один раз, а за цим даними багато разів, дозволяючи реалізувати текстурування, що заміщає (Displacement Mapping) і надаючи цікаві можливості по альтернативній інтерпретації даних. Більше того, така "розвантаження" GPU дозволяє використати зовсім нові, більш складні й точні методи імітації шкіри, прискорення морфінга, генерування тіней й екструзії, дрібних деталей, фізичних й інших ефектів.
Версія Direct 9, уперше представлена під Windows в 2002 році й далі що неодноразово обновлявся в 2003 - 2005 роках, представила могутніші в порівнянні з попередниками моделі шейдерного програмування Direct3D. Версія Direct3D 9 є первинним графічним інтерфейсом і для Windows Vista, залишаючись бездоганним API для написання 3D ігор і додатків, сумісних з багатьма поколіннями відеокарт і випусків Windows. Більше того, для збереження повної сумісності зі старими версіями Windows деякі особливості старих моделей драйвера емулюються навіть новою моделлю драйвера Windows Vista. Тому, незважаючи на підтримку нових драйверів WDDM для ряду відеокарт, Windows Vista продовжує підтримувати можливість використання старих драйверів XPDM для апгрейдів і корпоративних версій. У системах зі старими драйверами підтримується Direct3D 9 і більше старі версії інтерфейсів, при цьому принцип їхньої роботи буде схожий з роботою під Windows XP. Для роботи драйвера WDDM потрібно Direct3D 9Ex, Direct3D 10 або наступні версії.
Що стосується так називаного Direct3D 9Ex інтерфейси, що є трохи вдосконаленою версією Direct3D 9 API, у ньому є можливість віртуалізації ресурсів і ряду інших можливостей для роботи під Windows Vista. Цей API працює тільки під Windows Vista і вимагає драйверів WDDM.
Таким чином, вибираючи API для графічного додатка, варто пам'ятати, що:
- Використання Direct3D 9 має на увазі підтримку Windows XP або більш ранніх версій Windows
- Використання Direct3D 9 з XPDM драйверами має на увазі підтримку Windows Vista для систем на базі "заліза" без підтримки Direct3D 10
- Використання Direct3D 10 дозволить оцінити всі принадності нового покоління відеокарт під Windows Vista
- Новий Direct3D 10 цілком усуває всі вузькі місця колишніх Direct3D API і дозволяє значним образом спростити програмування GPU і розвантажити ресурси CPU. Тепер програмувальна шейдерна модель уніфікована як для вертексних, так і для піксельних шейдерів, з більше чіткою обчислювальною моделлю й набором дій. Для обробки примітивів після стадії вертексних шейдерів додана нова стадія обробки геометричних шейдерів. У результаті потік вертексної й геометричної стадій роботи конвеєра може бути виведений у відеопам'ять для повторного використання, дозволяючи організувати комплексні багатопохідні операції GPU з мінімальним завантаженням CPU, розраховуючи анімацію один раз, а за цим даними багато разів, дозволяючи реалізувати текстурування, що заміщає (Displacement Mapping) і надаючи цікаві можливості по альтернативній інтерпретації даних. Більше того, така