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 |
|
Confira também