Share via


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
D3D9Types.h

Vedi anche

Enumerazioni Direct3D