Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интерфейс IDirect3DDevice9 поддерживает обработку вершин как в программном обеспечении, так и в оборудовании. Как правило, возможности устройств для обработки программного обеспечения и аппаратной вершины не идентичны. Возможности программного обеспечения фиксированы, а аппаратные возможности могут варьироваться в зависимости от адаптера дисплея и драйвера.
Следующие флаги управляют поведением обработки вершин для аппаратного уровня абстракции (HAL) и эталонных устройств.
- D3DCREATE_SOFTWARE_VERTEXPROCESSING
- D3DCREATE_HARDWARE_VERTEXPROCESSING
- D3DCREATE_MIXED_VERTEXPROCESSING
Укажите один из флагов поведения обработки вершин при вызове IDirect3D9::CreateDevice. Флаг смешанного режима позволяет устройству выполнять как программную, так и аппаратную обработку вершин. В любое время можно задать только один флаг обработки вершин для устройства. Обратите внимание, что при создании чистого устройства (D3DCREATE_PUREDEVICE) необходимо задать флаг D3DCREATE_HARDWARE_VERTEXPROCESSING.
Чтобы избежать возможности обработки двойной вершины на одном устройстве, можно запрашивать только аппаратные возможности обработки вершин во время выполнения. Возможности обработки вершин программного обеспечения исправлены и не могут запрашиваться во время выполнения.
Член VertexProcessingCaps структуры D3DCAPS9 определяет способности устройства по аппаратной обработке вершин.
Для обработки вершин программного обеспечения поддерживаются следующие возможности.
- элемент D3DVTXPCAPS_DIRECTIONALLIGHTS группы D3DVTXPCAPS
- элемент D3DVTXPCAPS_LOCALVIEWER структуры D3DVTXPCAPS
- компонент D3DVTXPCAPS_MATERIALSOURCE7 из D3DVTXPCAPS
- элемент D3DVTXPCAPS_POSITIONALLIGHTS из D3DVTXPCAPS
- член D3DVTXPCAPS_TEXGEN из D3DVTXPCAPS
- член D3DVTXPCAPS_TWEENING D3DVTXPCAPS
Кроме того, в следующей таблице перечислены значения, заданные для элементов структуры D3DCAPS9 устройства в режиме обработки вершин программного обеспечения.
| Член | Возможности обработки вершин программного обеспечения |
|---|---|
| MaxActiveLights | Неограниченный |
| MaxUserClipPlanes | 6 |
| MaxVertexBlendMatrices | 4 |
| MaxStreams | 16 |
| MaxVertexIndex | 0xFFFFFFFF |
Как правило, любое приложение, ограниченное обработкой вершин, должно использовать устройство типа HAL. Обработка вершин программного обеспечения обеспечивает гарантированный набор возможностей обработки вершин, включая неограниченное количество огней и полную поддержку программируемых шейдеров вершин. Вы можете переключаться между программной и аппаратной обработкой вершин в любое время при использовании устройства HAL (который является единственным типом устройства, поддерживающим обработку вершин оборудования и программного обеспечения). Единственное требование заключается в том, что буферы вершин, используемые для обработки вершин программного обеспечения, должны быть выделены в системной памяти.
Связанные разделы