Énumération D3DDECLMETHOD
Définit la méthode de déclaration de vertex qui est une opération prédéfinie effectuée par le tessellateur (ou toute routine de géométrie procédurale sur les données de vertex pendant le pavage).
Syntaxe
typedef enum D3DDECLMETHOD {
D3DDECLMETHOD_DEFAULT = 0,
D3DDECLMETHOD_PARTIALU = 1,
D3DDECLMETHOD_PARTIALV = 2,
D3DDECLMETHOD_CROSSUV = 3,
D3DDECLMETHOD_UV = 4,
D3DDECLMETHOD_LOOKUP = 5,
D3DDECLMETHOD_LOOKUPPRESAMPLED = 6
} D3DDECLMETHOD, *LPD3DDECLMETHOD;
Constantes
-
D3DDECLMETHOD_DEFAULT
-
Valeur par défaut. Le tessellateur copie les données de vertex (données spline pour les correctifs) telles quelles, sans calcul supplémentaire. Lorsque le tessellateur est utilisé, cet élément est interpolé. Sinon, les données de vertex sont copiées dans le registre d’entrée. Les types d’entrée et de sortie peuvent être n’importe quelle valeur, mais sont toujours du même type.
-
D3DDECLMETHOD_PARTIALU
-
Calcule la tangente à un point du rectangle ou du triangle dans la direction U. Le type d’entrée peut être l’un des suivants :
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
Le type de sortie est toujours D3DDECLTYPE_FLOAT3.
-
D3DDECLMETHOD_PARTIALV
-
Calcule la tangente à un point sur le rectangle ou le triangle dans la direction V. Le type d’entrée peut être l’un des suivants :
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
Le type de sortie est toujours D3DDECLTYPE_FLOAT3.
-
D3DDECLMETHOD_CROSSUV
-
Calcule la normale à un point du rectangle ou du triangle en prenant le produit croisé de deux tangentes. Le type d’entrée peut être l’un des suivants :
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
Le type de sortie est toujours D3DDECLTYPE_FLOAT3.
-
D3DDECLMETHOD_UV
-
Copiez les valeurs U, V à un point du rectangle ou du triangle. Il en résulte un float 2D. Le type d’entrée doit être défini sur D3DDECLTYPE_UNUSED. Le type de données de sortie est toujours D3DDECLTYPE_FLOAT2. Le flux d’entrée et le décalage sont également inutilisés (mais doivent être définis sur 0).
-
D3DDECLMETHOD_LOOKUP
-
Recherchez une carte de déplacement. Le type d’entrée peut être l’un des suivants :
- D3DDECLTYPE_FLOAT2
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
Seuls les composants .x et .y sont utilisés pour la recherche de mappage de textures. Le type de sortie est toujours D3DDECLTYPE_FLOAT1. L’appareil doit prendre en charge le mappage de déplacement. Pour plus d’informations sur le mappage de déplacement, consultez Mappage de déplacement (Direct3D 9). Cette constante est prise en charge uniquement par le pipeline programmable sur les données N-patch, si les N-patchs sont activés.
-
D3DDECLMETHOD_LOOKUPPRESAMPLED
-
Recherchez une carte de déplacement pré-échantillonnée. Le type d’entrée doit être défini sur D3DDECLTYPE_UNUSED ; l’index de flux et le décalage de flux doivent être définis sur 0. Le type de sortie de cette opération est toujours D3DDECLTYPE_FLOAT1. L’appareil doit prendre en charge le mappage de déplacement. Pour plus d’informations sur le mappage de déplacement, consultez Mappage de déplacement (Direct3D 9). Cette constante est prise en charge uniquement par le pipeline programmable sur les données N-patch, si les N-patchs sont activés. Cette méthode ne peut être utilisée qu’avec D3DDECLUSAGE_SAMPLE.
Notes
Le tessellateur examine la méthode pour déterminer les données à calculer à partir des données de vertex pendant le pavage. Les données de maillage doivent utiliser la valeur par défaut. Les correctifs peuvent utiliser n’importe quel autre type implémenté.
Les données de vertex sont déclarées avec un tableau de structures D3DVERTEXELEMENT9 . Chaque élément du tableau contient une méthode de déclaration de vertex.
En plus d’utiliser D3DDECLMETHOD_DEFAULT, un maillage normal peut utiliser des méthodes D3DDECLMETHOD_LOOKUP et D3DDECLMETHOD_LOOKUPPRESAMPLED lorsque les N-patchs sont activés.
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Voir aussi