Traitement des données de vertex (Direct3D 9)
L’interface IDirect3DDevice9 prend en charge le traitement des vertex dans les logiciels et le matériel. En général, les fonctionnalités de l’appareil pour le traitement du vertex logiciel et matériel ne sont pas identiques. Les fonctionnalités matérielles sont variables, en fonction de l’adaptateur d’affichage et du pilote, tandis que les fonctionnalités logicielles sont fixes.
Les indicateurs suivants contrôlent le comportement de traitement des vertex pour la couche d’abstraction matérielle (HAL) et les appareils de référence.
- D3DCREATE_SOFTWARE_VERTEXPROCESSING
- D3DCREATE_HARDWARE_VERTEXPROCESSING
- D3DCREATE_MIXED_VERTEXPROCESSING
Spécifiez l’un des indicateurs de comportement de traitement des vertex lors de l’appel de IDirect3D9::CreateDevice. L’indicateur en mode mixte permet à l’appareil d’effectuer à la fois le traitement du vertex logiciel et matériel. Un seul indicateur de traitement de vertex peut être défini pour un appareil à la fois. Notez que l’indicateur de D3DCREATE_HARDWARE_VERTEXPROCESSING doit être défini lors de la création d’un appareil pur (D3DCREATE_PUREDEVICE).
Pour éviter les fonctionnalités de traitement double vertex sur un seul appareil, seules les fonctionnalités de traitement du vertex matériel peuvent être interrogées au moment de l’exécution. Les fonctionnalités de traitement du vertex logiciel sont fixes et ne peuvent pas être interrogées au moment de l’exécution.
Le membre VertexProcessingCaps de la structure D3DCAPS9 détermine les capacités de traitement du vertex matériel de l’appareil.
Pour le traitement du vertex logiciel, les fonctionnalités suivantes sont prises en charge.
- membre D3DVTXPCAPS_DIRECTIONALLIGHTS de D3DVTXPCAPS
- membre D3DVTXPCAPS_LOCALVIEWER de D3DVTXPCAPS
- membre D3DVTXPCAPS_MATERIALSOURCE7 de D3DVTXPCAPS
- D3DVTXPCAPS_POSITIONALLIGHTS membre de D3DVTXPCAPS
- membre D3DVTXPCAPS_TEXGEN de D3DVTXPCAPS
- membre D3DVTXPCAPS_TWEENING de D3DVTXPCAPS
En outre, le tableau suivant répertorie les valeurs définies pour les membres de la structure D3DCAPS9 pour un appareil en mode de traitement du vertex logiciel.
Membre | Fonctionnalités de traitement du vertex logiciel |
---|---|
MaxActiveLights | Illimité |
MaxUserClipPlanes | 6 |
MaxVertexBlendMatrices | 4 |
MaxStreams | 16 |
MaxVertexIndex | 0xFFFFFFFF |
En général, toute application liée au traitement des vertex doit utiliser un appareil HAL. Le traitement des vertex logiciels fournit un ensemble garanti de fonctionnalités de traitement des vertex, notamment un nombre illimité de lumières et une prise en charge complète des nuanceurs de vertex programmables. Vous pouvez basculer entre le traitement du vertex logiciel et matériel à tout moment lors de l’utilisation de l’appareil HAL (qui est le seul type d’appareil qui prend en charge à la fois le traitement du vertex matériel et logiciel). La seule exigence est que les mémoires tampons de vertex utilisées pour le traitement du vertex logiciel doivent être allouées dans la mémoire système.
Rubriques connexes