Fusion de sommets indexés (Direct3D 9)

Le mélange de sommets indexés étend la prise en charge du mélange de vertex dans Direct3D pour permettre l’utilisation de matrices pour le mélange. Ces matrices sont référencées à l’aide d’un index de matrice. Ces index sont fournis par sommet et font référence à une palette de 256 matrices maximum. Chaque index est de 8 bits et chaque sommet peut avoir jusqu’à quatre index, ce qui permet de fusionner quatre matrices par sommet. Les index sont regroupés dans un DWORD. Étant donné que les index sont spécifiés par sommet, jusqu’à 12 matrices peuvent affecter un triangle unique, et toute matrice de la palette peut affecter les sommets d’un appel de dessin. Cette approche présente les avantages suivants.

  • Il permet à plusieurs matrices d’affecter un triangle unique.
  • Il permet de passer davantage de triangles fusionnés dans le même appel de tirage.
  • Il rend le mélange de vertex indépendant des index de triangle. Cela permet aux maillages progressifs de fonctionner conjointement avec le mélange de vertex.

L’un des inconvénients de cette approche est qu’elle ne fonctionne pas avec les primitives de surface courbe lorsque la suxation se produit avant le traitement des sommets.

Le diagramme suivant montre comment quatre matrices peuvent affecter un sommet. Chaque sommet a jusqu’à quatre index, de sorte que quatre matrices peuvent être fusionnées par sommet. Le diagramme utilise les matrices indexées à 0, 2, 5 et 6.

diagramme de fusion de sommets indexés à l’aide de 4 des 256 matrices disponibles

Le diagramme suivant montre comment jusqu’à 12 matrices peuvent affecter un triangle. À l’aide d’index spécifiés par sommet, jusqu’à 12 matrices peuvent affecter le triangle.

diagramme de fusion de sommets indexés pour un triangle à l’aide de 12 des 256 matrices disponibles

L’équation suivante détermine la casse générale de l’effet des matrices sur un sommet.

équation de fusion de vertex indexés

Le modèle V est la position d’espace de vertex du modèle d’entrée. Index0.. Index3 sont les index de matrice par vertex regroupés dans un DWORD. M[] est le tableau de matrices mondiales qui sont indexées dans. b₀.. b₂ sont les pondérations de mélange. Vworld est la position de vertex d’espace du monde de sortie.

Pour plus d’informations sur le mélange de sommets indexés, consultez Utilisation du mélange de vertex indexés (Direct3D 9).

Fusion géométrique