D3DFVF
As constantes de formato de vértice flexível, ou códigos FVF, são usadas para descrever o conteúdo de vértices intercalados em um único fluxo de dados que será processado pelo pipeline de função fixa.
Sinalizadores de dados Vertex
Os sinalizadores a seguir descrevem um formato de vértice. Para obter informações sobre formatos de vértice, consulte Fixed Function FVF Codes (Direct3D 9).
#define | Descrição | Ordem e tipo de dados |
---|---|---|
D3DFVF_DIFFUSE | O formato Vertex inclui um componente de cor difusa. | DWORD na ordem ARGB. Ver D3DCOLOR_ARGB. |
D3DFVF_NORMAL | O formato de vértice inclui um vetor normal de vértice. Este sinalizador não pode ser usado com o sinalizador D3DFVF_XYZRHW. | flutuar, flutuar, flutuar |
D3DFVF_PSIZE | Formato de vértice especificado no tamanho do ponto. Este tamanho é expresso em unidades de espaço de câmara para vértices que não são transformados e iluminados, e em unidades de espaço-dispositivo para vértices transformados e iluminados. | flutuar |
D3DFVF_SPECULAR | O formato Vertex inclui um componente de cor especular. | DWORD na ordem ARGB. Ver D3DCOLOR_ARGB. |
D3DFVF_XYZ | O formato de vértice inclui a posição de um vértice não transformado. Este sinalizador não pode ser usado com o sinalizador D3DFVF_XYZRHW. | flutuar, flutuar, flutuar. |
D3DFVF_XYZRHW | O formato de vértice inclui a posição de um vértice transformado. Este sinalizador não pode ser usado com os D3DFVF_XYZ ou D3DFVF_NORMAL bandeiras. | flutuar, flutuar, flutuar, flutuar. |
D3DFVF_XYZB1 através D3DFVF_XYZB5 | O formato Vertex contém dados de posição e um número correspondente de valores de ponderação (beta) a serem usados para operações de mistura de vértices multimatrizes. Atualmente, o Direct3D pode se misturar com até três valores de ponderação e quatro matrizes de mistura. Para obter mais informações sobre como usar matrizes de mistura, consulte Indexed Vertex Blending (Direct3D 9). | 1, 2 ou 3 flutuadores. Quando D3DFVF_LASTBETA_UBYTE4 é utilizado, o último peso de mistura é tratado como um DWORD. |
D3DFVF_XYZW | O formato Vertex contém dados transformados e cortados (x, y, z, w). ProcessVertices não invoca o clipper, em vez disso, emite dados em coordenadas de clipe. Essa constante é projetada para, e só pode ser usada com, o pipeline de vértice programável. | flutuar, flutuar, flutuar, flutuar |
Sinalizadores de textura
Os sinalizadores a seguir descrevem sinalizadores de textura usados pelo pipeline de função fixa.
#define | Descrição |
---|---|
D3DFVF_TEX0 - D3DFVF_TEX8 | Número de conjuntos de coordenadas de textura para este vértice. Os valores reais para esses sinalizadores não são sequenciais. |
D3DFVF_TEXCOORDSIZEN(coordIndex) | Defina um conjunto de dados de coordenadas de textura. n indica a dimensão das coordenadas de textura. coordIndex indica o número do índice de coordenadas de textura. Consulte D3DFVF_TEXCOORDSIZEN e Coordenadas de textura e Estágios de textura. |
Bandeiras de máscara
Os sinalizadores a seguir descrevem sinalizadores de máscara usados pelo pipeline de função fixa.
#define | Descrição |
---|---|
D3DFVF_POSITION_MASK | Máscara para bits de posição. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | Mascarar valores para bits reservados no FVF. Não utilizar. |
D3DFVF_TEXCOUNT_MASK | Valor de máscara para bits de sinalizador de textura. |
Bandeiras diversas
Os sinalizadores a seguir descrevem uma variedade de sinalizadores usados pelo pipeline de função fixa.
#define | Descrição | |
D3DFVF_LASTBETA_D3DCOLOR | O último campo beta nos dados da posição do vértice será do tipo D3DCOLOR. Os dados nos campos beta são usados com o skinning da paleta de matriz para especificar índices de matriz. | |
D3DFVF_LASTBETA_UBYTE4 | O último campo beta nos dados da posição do vértice será do tipo UBYTE4. Os dados nos campos beta são usados com o skinning da paleta de matriz para especificar índices de matriz.
Dado que o FVF é declarado como: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Weight e MatrixIndices estão incluídos em beta[5], onde D3DFVF_LASTBETA_UBYTE4 diz para interpretar o último DWORD em beta[5] como tipo UBYTE4. |
|
D3DFVF_TEXCOUNT_SHIFT | O número de bits pelo qual deslocar um valor inteiro que identifica o número de coordenadas de textura para um vértice. Esse valor pode ser usado como mostrado abaixo.
|
Exemplos
Os exemplos a seguir mostram outras combinações de sinalizadores comuns.
// Untransformed vertex for lit, untextured, Gouraud-shaded content.
dwFVF = ( D3DFVF_XYZ | D3DFVF_DIFFUSE );
// Untransformed vertex for unlit, untextured, Gouraud-shaded
// content with diffuse material color specified per vertex.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE );
// Untransformed vertex for light-map-based lighting.
dwFVF = ( D3DFVF_XYZ | D3DFVF_TEX2 );
// Transformed vertex for light-map-based lighting with shared rhw.
dwFVF = ( D3DFVF_XYZRHW | D3DFVF_TEX2 );
// Heavyweight vertex for unlit, colored content with two
// sets of texture coordinates.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE |
D3DFVF_SPECULAR | D3DFVF_TEX2 );
Informação Constante
Exigência | Valor |
---|---|
Cabeçalho | d3d9types.h |
Sistema operativo mínimo | Janelas 98 |
Tópicos relacionados