Поделиться через


Архитектура Direct3D (Direct3D 9)

В этом разделе представлены два высокоуровневых представления архитектуры Direct3D:

Графический конвейер Direct3D

Графический конвейер обеспечивает мощность для эффективной обработки и отрисовки сцен Direct3D на дисплее, используя преимущества доступного оборудования. На следующей схеме показаны стандартные блоки конвейера:

Схема графического конвейера direct3d

Компонент конвейера Описание См. также
Данные вершин Нетрансформированные вершины модели хранятся в буферах памяти вершин. Буферы вершин (Direct3D 9),IDirect3DVertexBuffer9
Примитивные данные Геометрические примитивы, включая точки, линии, треугольники и многоугольник, ссылаются в данных вершин с помощью буферов индексов. Буферы индексов (Direct3D 9),IDirect3DIndexBuffer9, примитивы, примитивы более высокого порядка (Direct3D 9)
Тесселяция Блок тесселатора преобразует примитивы более высокого порядка, карты смещения и исправления сетки в расположения вершин и сохраняет эти расположения в буферах вершин. Тесселяции (Direct3D 9)
Обработка вершин Преобразования Direct3D применяются к вершинам, хранящимся в буфере вершин. Конвейер вершин (Direct3D 9)
Обработка геометрии К преобразованным вершинам применяются обрезка, отбраковка лиц, оценка атрибутов и растеризация. Конвейер пикселей (Direct3D 9)
Текстурированная поверхность Координаты текстур для поверхностей Direct3D передаются в Direct3D через интерфейс IDirect3DTexture9 . Текстуры Direct3D (Direct3D 9),IDirect3DTexture9
Выборка текстур Фильтрация на уровне детализации текстуры применяется к входным значениям текстуры. Текстуры Direct3D (Direct3D 9)
Обработка пикселей Операции шейдера пикселей используют геометрические данные для изменения входных данных вершин и текстур, возвращая выходные значения цвета пикселей. Конвейер пикселей (Direct3D 9)
Отрисовка пикселей Окончательные процессы отрисовки изменяют значения цвета пикселей с помощью альфа-тестирования, глубины или трафарета либо путем применения альфа-смешения или тумана. Все полученные пиксельные значения отображаются на выводе. Конвейер пикселей (Direct3D 9)

 

Интеграция системы Direct3D

На следующей схеме показаны связи между приложением Window, Direct3D, GDI и оборудованием:

Схема связи между direct3d и другими компонентами системы

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

Устройство hal обеспечивает аппаратное ускорение функций графического конвейера на основе набора функций, поддерживаемых графическим карта. Методы Direct3D предоставляются для получения возможностей отображения устройства во время выполнения. (См. раздел IDirect3DDevice9::GetDeviceCaps.) Если возможность не предоставляется оборудованием, hal не сообщает о ней в качестве аппаратной возможности.

Дополнительные сведения о hal и эталонных устройствах, поддерживаемых Direct3D, см. в разделе Типы устройств (Direct3D 9).

Начало работы