Enumerazione D3DDECLMETHOD
Definisce il metodo di dichiarazione dei vertici che è un'operazione predefinita eseguita dal tassellatore (o qualsiasi routine geometrica procedurale sui dati dei vertici durante la tassellatura).
Sintassi
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;
Costanti
-
D3DDECLMETHOD_DEFAULT
-
Valore predefinito. Il tassellatore copia i dati dei vertici (dati spline per le patch) così com'è, senza calcoli aggiuntivi. Quando viene usato il tassellatore, questo elemento viene interpolato. In caso contrario, i dati dei vertici vengono copiati nel registro di input. Il tipo di input e di output può essere qualsiasi valore, ma è sempre lo stesso tipo.
-
D3DDECLMETHOD_PARTIALU
-
Calcola la tangente in un punto del rettangolo o della patch di triangolo nella direzione U. Il tipo di input può essere uno dei seguenti:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
Il tipo di output è sempre D3DDECLTYPE_FLOAT3.
-
D3DDECLMETHOD_PARTIALV
-
Calcola la tangente in un punto del rettangolo o della patch di triangolo nella direzione V. Il tipo di input può essere uno dei seguenti:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
Il tipo di output è sempre D3DDECLTYPE_FLOAT3.
-
D3DDECLMETHOD_CROSSUV
-
Calcola la normale in un punto del rettangolo o della patch di triangolo prendendo il prodotto incrociato di due tangenti. Il tipo di input può essere uno dei seguenti:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
Il tipo di output è sempre D3DDECLTYPE_FLOAT3.
-
D3DDECLMETHOD_UV
-
Copiare i valori U, V in un punto del rettangolo o della patch di triangolo. Il risultato è un float 2D. Il tipo di input deve essere impostato su D3DDECLTYPE_UNUSED. Il tipo di dati di output è sempre D3DDECLTYPE_FLOAT2. Anche il flusso di input e l'offset sono inutilizzati (ma devono essere impostati su 0).
-
D3DDECLMETHOD_LOOKUP
-
Cercare una mappa di spostamento. Il tipo di input può essere uno dei seguenti:
- D3DDECLTYPE_FLOAT2
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
Solo i componenti .x e .y vengono usati per la ricerca della mappa delle trame. Il tipo di output è sempre D3DDECLTYPE_FLOAT1. Il dispositivo deve supportare il mapping di spostamento. Per altre informazioni sul mapping degli spostamenti, vedere Mapping dello spostamento (Direct3D 9). Questa costante è supportata solo dalla pipeline programmabile nei dati N-patch, se sono abilitate N-patch.
-
D3DDECLMETHOD_LOOKUPPRESAMPLED
-
Cercare una mappa di spostamento preimpostato. Il tipo di input deve essere impostato su D3DDECLTYPE_UNUSED; l'indice del flusso e l'offset del flusso devono essere impostati su 0. Il tipo di output per questa operazione è sempre D3DDECLTYPE_FLOAT1. Il dispositivo deve supportare il mapping di spostamento. Per altre informazioni sul mapping degli spostamenti, vedere Mapping dello spostamento (Direct3D 9). Questa costante è supportata solo dalla pipeline programmabile nei dati N-patch, se sono abilitate N-patch. Questo metodo può essere usato solo con D3DDECLUSAGE_SAMPLE.
Commenti
Il tassellatore esamina il metodo per determinare quali dati calcolare dai dati dei vertici durante la tassellatura. I dati mesh devono usare il valore predefinito. Le patch possono usare qualsiasi altro tipo implementato.
I dati dei vertici vengono dichiarati con una matrice di strutture D3DVERTEXELEMENT9 . Ogni elemento nella matrice contiene un metodo di dichiarazione dei vertici.
Oltre a usare D3DDECLMETHOD_DEFAULT, una mesh normale può usare metodi D3DDECLMETHOD_LOOKUP e D3DDECLMETHOD_LOOKUPPRESAMPLED quando sono abilitate le patch N.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Vedi anche