Enumeración D3DDECLMETHOD

Define el método de declaración de vértices que es una operación predefinida realizada por el teselador (o cualquier rutina de geometría de procedimientos en los datos de vértices durante la teselación).

Sintaxis

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

Valor predeterminado. El teselador copia los datos de vértice (datos spline para revisiones) tal cual, sin cálculos adicionales. Cuando se usa el teselador, este elemento se interpola. De lo contrario, los datos de vértices se copian en el registro de entrada. El tipo de entrada y salida puede ser cualquier valor, pero siempre son el mismo tipo.

D3DDECLMETHOD_PARTIALU

Calcula la tangente en un punto del rectángulo o la revisión de triángulos en la dirección U. El tipo de entrada puede ser uno de los siguientes:

  • D3DDECLTYPE_D3DCOLOR
  • D3DDECLTYPE_FLOAT3
  • D3DDECLTYPE_FLOAT4
  • D3DDECLTYPE_SHORT4
  • D3DDECLTYPE_UBYTE4

El tipo de salida siempre se D3DDECLTYPE_FLOAT3.

D3DDECLMETHOD_PARTIALV

Calcula la tangente en un punto del rectángulo o la revisión de triángulos en la dirección V. El tipo de entrada puede ser uno de los siguientes:

  • D3DDECLTYPE_D3DCOLOR
  • D3DDECLTYPE_FLOAT3
  • D3DDECLTYPE_FLOAT4
  • D3DDECLTYPE_SHORT4
  • D3DDECLTYPE_UBYTE4

El tipo de salida siempre se D3DDECLTYPE_FLOAT3.

D3DDECLMETHOD_CROSSUV

Calcula la normal en un punto del rectángulo o la revisión de triángulos tomando el producto cruzado de dos tangentes. El tipo de entrada puede ser uno de los siguientes:

  • D3DDECLTYPE_D3DCOLOR
  • D3DDECLTYPE_FLOAT3
  • D3DDECLTYPE_FLOAT4
  • D3DDECLTYPE_SHORT4
  • D3DDECLTYPE_UBYTE4

El tipo de salida siempre se D3DDECLTYPE_FLOAT3.

D3DDECLMETHOD_UV

Copie los valores de U, V en un punto del rectángulo o de la revisión del triángulo. Esto da como resultado un float 2D. El tipo de entrada debe establecerse en D3DDECLTYPE_UNUSED. El tipo de datos de salida siempre se D3DDECLTYPE_FLOAT2. El flujo de entrada y el desplazamiento también no se usan (pero deben establecerse en 0).

D3DDECLMETHOD_LOOKUP

Busque un mapa de desplazamiento. El tipo de entrada puede ser uno de los siguientes:

  • D3DDECLTYPE_FLOAT2
  • D3DDECLTYPE_FLOAT3
  • D3DDECLTYPE_FLOAT4

Solo se usan los componentes .x e .y para la búsqueda de mapa de texturas. El tipo de salida siempre se D3DDECLTYPE_FLOAT1. El dispositivo debe admitir la asignación de desplazamiento. Para obtener más información sobre la asignación de desplazamiento, vea Mapping Mapping (Direct3D 9) (Asignación de desplazamiento [Direct3D 9]). Esta constante solo es compatible con la canalización programable en los datos N-patch, si se habilitan N revisiones.

D3DDECLMETHOD_LOOKUPPRESAMPLED

Busque un mapa de desplazamiento preampleado. El tipo de entrada debe establecerse en D3DDECLTYPE_UNUSED; el índice de secuencia y el desplazamiento de secuencia deben establecerse en 0. El tipo de salida de esta operación siempre es D3DDECLTYPE_FLOAT1. El dispositivo debe admitir la asignación de desplazamiento. Para obtener más información sobre la asignación de desplazamiento, vea Mapping Mapping (Direct3D 9) (Asignación de desplazamiento [Direct3D 9]). Esta constante solo es compatible con la canalización programable en los datos N-patch, si se habilitan N revisiones. Este método solo se puede usar con D3DDECLUSAGE_SAMPLE.

Comentarios

El teselador examina el método para determinar qué datos se van a calcular a partir de los datos de vértice durante la teselación. Los datos de malla deben usar el valor predeterminado. Las revisiones pueden usar cualquiera de los otros tipos implementados.

Los datos de vértice se declaran con una matriz de estructuras D3DVERTEXELEMENT9 . Cada elemento de la matriz contiene un método de declaración de vértices.

Además de usar D3DDECLMETHOD_DEFAULT, una malla normal puede usar métodos D3DDECLMETHOD_LOOKUP y D3DDECLMETHOD_LOOKUPPRESAMPLED cuando se habilitan N revisiones.

Requisitos

Requisito Value
Encabezado
D3D9Types.h

Consulte también

Enumeraciones de Direct3D