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.

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.

Appareils Direct3D