D3DFVF
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 de vértice
Os sinalizadores a seguir descrevem um formato de vértice. Para obter informações sobre formatos de vértice, consulte Códigos FVF de função fixa (Direct3D 9).
#define | Descrição | Ordem e tipo de dados |
---|---|---|
D3DFVF_DIFFUSE | O formato de vértice inclui um componente de cor difusa. | DWORD na ordem ARGB. Consulte D3DCOLOR_ARGB. |
D3DFVF_NORMAL | O formato de vértice inclui um vetor normal de vértice. Esse sinalizador não pode ser usado com o sinalizador D3DFVF_XYZRHW. | float, float, float |
D3DFVF_PSIZE | Formato de vértice especificado no tamanho do ponto. Esse tamanho é expresso em unidades de espaço da câmera para vértices que não são transformados e acesos e em unidades de espaço do dispositivo para vértices transformados e iluminados. | FLOAT |
D3DFVF_SPECULAR | O formato de vértice inclui um componente de cor especular. | DWORD na ordem ARGB. Consulte D3DCOLOR_ARGB. |
D3DFVF_XYZ | O formato de vértice inclui a posição de um vértice nãotransformado. Esse sinalizador não pode ser usado com o sinalizador D3DFVF_XYZRHW. | float, float, float. |
D3DFVF_XYZRHW | O formato de vértice inclui a posição de um vértice transformado. Esse sinalizador não pode ser usado com os sinalizadores D3DFVF_XYZ ou D3DFVF_NORMAL. | float, float, float, float. |
D3DFVF_XYZB1 por meio de D3DFVF_XYZB5 | O formato de vértice contém dados de posição e um número correspondente de valores de ponderação (beta) a serem usados para operações de mesclagem de vértice multimatrix. Atualmente, o Direct3D pode se misturar com até três valores de ponderação e quatro matrizes de mesclagem. Para obter mais informações sobre como usar matrizes de mesclagem, consulte Indexed Vétex Blending (Direct3D 9). | 1, 2 ou 3 floats. Quando D3DFVF_LASTBETA_UBYTE4 é usado, o último peso de mesclagem é tratado como um DWORD. |
D3DFVF_XYZW | O formato de vértice contém dados transformados e recortados (x, y, z, w). ProcessVertices não invoca o clipper, em vez de gerar dados em coordenadas de clipe. Essa constante foi projetada para e só pode ser usada com o pipeline de vértice programável. | float, float, float, float |
Sinalizadores de textura
Os sinalizadores a seguir descrevem os 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 esse vértice. Os valores reais desses 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 de índice da coordenada de textura. Confira coordenadas de D3DFVF_TEXCOORDSIZEN e Textura e Estágios de Textura. |
Sinalizadores de máscara
Os sinalizadores a seguir descrevem os sinalizadores de máscara usados pelo pipeline de função fixa.
#define | Descrição |
---|---|
D3DFVF_POSITION_MASK | Mascarar para bits de posição. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | Mascarar valores para bits reservados no FVF. Não use. |
D3DFVF_TEXCOUNT_MASK | Valor de máscara para bits de sinalizador de textura. |
Sinalizadores diversos
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 de posição do vértice será do tipo D3DCOLOR. Os dados nos campos beta são usados com a capa da paleta de matrizes para especificar índices de matriz. | |
D3DFVF_LASTBETA_UBYTE4 | O último campo beta nos dados de posição do vértice será do tipo UBYTE4. Os dados nos campos beta são usados com a capa da paleta de matrizes 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], em que D3DFVF_LASTBETA_UBYTE4 diz interpretar o último DWORD em beta[5] como o tipo UBYTE4. |
|
D3DFVF_TEXCOUNT_SHIFT | O número de bits pelos quais deslocar um valor inteiro que identifica o número de coordenadas de textura para um vértice. Esse valor pode ser usado conforme 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ções constantes
Requisito | Valor |
---|---|
parâmetro | d3d9types.h |
Sistema operacional mínimo | Windows 98 |
Tópicos relacionados