Enumeração D3DDECLMETHOD

Define o método de declaração de vértice que é uma operação predefinida executada pelo mosaico (ou qualquer rotina de geometria de procedimento nos dados de vértice durante a mosaico).

Sintaxe

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 padrão. O mosaico copia os dados de vértice (dados de spline para patches) como estão, sem cálculos adicionais. Quando o mosaico é usado, esse elemento é interpolado. Caso contrário, os dados de vértice serão copiados para o registro de entrada. O tipo de entrada e saída pode ser qualquer valor, mas são sempre do mesmo tipo.

D3DDECLMETHOD_PARTIALU

Calcula a tangente em um ponto no retângulo ou no patch de triângulo na direção U. O tipo de entrada pode ser um dos seguintes:

  • D3DDECLTYPE_D3DCOLOR
  • D3DDECLTYPE_FLOAT3
  • D3DDECLTYPE_FLOAT4
  • D3DDECLTYPE_SHORT4
  • D3DDECLTYPE_UBYTE4

O tipo de saída é sempre D3DDECLTYPE_FLOAT3.

D3DDECLMETHOD_PARTIALV

Calcula a tangente em um ponto no retângulo ou no patch de triângulo na direção V. O tipo de entrada pode ser um dos seguintes:

  • D3DDECLTYPE_D3DCOLOR
  • D3DDECLTYPE_FLOAT3
  • D3DDECLTYPE_FLOAT4
  • D3DDECLTYPE_SHORT4
  • D3DDECLTYPE_UBYTE4

O tipo de saída é sempre D3DDECLTYPE_FLOAT3.

D3DDECLMETHOD_CROSSUV

Calcula o normal em um ponto no retângulo ou no patch de triângulo tomando o produto cruzado de duas tangentes. O tipo de entrada pode ser um dos seguintes:

  • D3DDECLTYPE_D3DCOLOR
  • D3DDECLTYPE_FLOAT3
  • D3DDECLTYPE_FLOAT4
  • D3DDECLTYPE_SHORT4
  • D3DDECLTYPE_UBYTE4

O tipo de saída é sempre D3DDECLTYPE_FLOAT3.

D3DDECLMETHOD_UV

Copie os valores U, V em um ponto no retângulo ou no patch de triângulo. Isso resulta em um float 2D. O tipo de entrada deve ser definido como D3DDECLTYPE_UNUSED. O tipo de dados de saída é sempre D3DDECLTYPE_FLOAT2. O fluxo de entrada e o deslocamento também não são utilizados (mas devem ser definidos como 0).

D3DDECLMETHOD_LOOKUP

Procure um mapa de deslocamento. O tipo de entrada pode ser um dos seguintes:

  • D3DDECLTYPE_FLOAT2
  • D3DDECLTYPE_FLOAT3
  • D3DDECLTYPE_FLOAT4

Somente os componentes .x e .y são usados para a pesquisa do mapa de textura. O tipo de saída é sempre D3DDECLTYPE_FLOAT1. O dispositivo deve dar suporte ao mapeamento de deslocamento. Para obter mais informações sobre o mapeamento de deslocamento, consulte Mapeamento de deslocamento (Direct3D 9). Essa constante só terá suporte pelo pipeline programável em dados de N patch, se N-patches estiverem habilitados.

D3DDECLMETHOD_LOOKUPPRESAMPLED

Procure um mapa de deslocamento pré-mapeado. O tipo de entrada deve ser definido como D3DDECLTYPE_UNUSED; o índice de fluxo e o deslocamento do fluxo devem ser definidos como 0. O tipo de saída para essa operação é sempre D3DDECLTYPE_FLOAT1. O dispositivo deve dar suporte ao mapeamento de deslocamento. Para obter mais informações sobre o mapeamento de deslocamento, consulte Mapeamento de deslocamento (Direct3D 9). Essa constante só terá suporte pelo pipeline programável em dados de N patch, se N-patches estiverem habilitados. Esse método só pode ser usado com D3DDECLUSAGE_SAMPLE.

Comentários

O mosaico analisa o método para determinar quais dados calcular com base nos dados de vértice durante a mosaico. Os dados de malha devem usar o valor padrão. Os patches podem usar qualquer um dos outros tipos implementados.

Os dados de vértice são declarados com uma matriz de estruturas D3DVERTEXELEMENT9 . Cada elemento na matriz contém um método de declaração de vértice.

Além de usar D3DDECLMETHOD_DEFAULT, uma malha normal pode usar métodos D3DDECLMETHOD_LOOKUP e D3DDECLMETHOD_LOOKUPPRESAMPLED quando N patches são habilitados.

Requisitos

Requisito Valor
parâmetro
D3D9Types.h

Confira também

Enumerações Direct3D