D3DFVF
灵活顶点格式常量或 FVF 代码用于描述交错在将由固定函数管道处理的单个数据流中的顶点内容。
顶点数据标志
以下标志描述顶点格式。 有关顶点格式的信息,请参阅固定 函数 FVF 代码 (Direct3D 9) 。
#define | 说明 | 数据顺序和类型 |
---|---|---|
D3DFVF_DIFFUSE | 顶点格式包括漫射颜色分量。 | 按 ARGB 顺序排列的 DWORD。 请参阅 D3DCOLOR_ARGB。 |
D3DFVF_NORMAL | 顶点格式包括顶点法线向量。 此标志不能与 D3DFVF_XYZRHW 标志一起使用。 | float、float、float |
D3DFVF_PSIZE | 以点大小指定的顶点格式。 对于未转换和点亮的顶点,此大小以相机空间单位表示,对于转换和点亮顶点,以设备空间单位表示。 | FLOAT |
D3DFVF_SPECULAR | 顶点格式包括反射颜色分量。 | 按 ARGB 顺序排列的 DWORD。 请参阅 D3DCOLOR_ARGB。 |
D3DFVF_XYZ | 顶点格式包括未转换顶点的位置。 此标志不能与 D3DFVF_XYZRHW 标志一起使用。 | float、float、float。 |
D3DFVF_XYZRHW | 顶点格式包括已转换顶点的位置。 此标志不能与D3DFVF_XYZ或D3DFVF_NORMAL标志一起使用。 | float、float、float、float、 float。 |
通过D3DFVF_XYZB5 D3DFVF_XYZB1 | 顶点格式包含位置数据,以及用于多matrix 顶点混合操作的相应权重 (beta) 值。 目前,Direct3D 最多可与三个加权值和四个混合矩阵混合。 有关使用混合矩阵的详细信息,请参阅 索引顶点混合 (Direct3D 9) 。 | 1、2 或 3 个浮点数。 使用D3DFVF_LASTBETA_UBYTE4时,最后一个混合权重被视为 DWORD。 |
D3DFVF_XYZW | 顶点格式包含转换和剪切 (x、y、z、w) 数据。 ProcessVertices 不会调用剪辑器,而是在剪辑坐标中输出数据。 此常量专为可编程顶点管道而设计,并且只能与它一起使用。 | float、float、float、float |
纹理标志
以下标志描述了固定函数管道使用的纹理标志。
#define | 说明 |
---|---|
D3DFVF_TEX0 - D3DFVF_TEX8 | 此顶点的纹理坐标集的数目。 这些标志的实际值不是连续的。 |
D3DFVF_TEXCOORDSIZEN (coordIndex) | 定义纹理坐标数据集。 n 指示纹理坐标的尺寸。 coordIndex 指示纹理坐标索引号。 请参阅 D3DFVF_TEXCOORDSIZEN 和 纹理坐标和纹理阶段。 |
掩码标志
以下标志介绍固定函数管道使用的掩码标志。
#define | 说明 |
---|---|
D3DFVF_POSITION_MASK | 位置位的掩码。 |
D3DFVF_RESERVED0、D3DFVF_RESERVED2 | FVF 中保留位的掩码值。 请勿使用。 |
D3DFVF_TEXCOUNT_MASK | 纹理标志位的掩码值。 |
杂项标志
以下标志描述了固定函数管道使用的各种标志。
#define | 说明 | |
D3DFVF_LASTBETA_D3DCOLOR | 顶点位置数据中的最后一个 beta 字段的类型为 D3DCOLOR。 beta 字段中的数据与矩阵调色板外观一起使用,以指定矩阵索引。 | |
D3DFVF_LASTBETA_UBYTE4 | 顶点位置数据中的最后一个 beta 字段的类型为 UBYTE4。 beta 字段中的数据与矩阵调色板外观一起使用,以指定矩阵索引。
假设 FVF 声明为:D3DFVF_XYZB5 |D3DFVF_LASTBETA_UBYTE4。 Weight 和 MatrixIndices 包含在 beta[5]中,其中 D3DFVF_LASTBETA_UBYTE4 说将 beta[5] 中的最后一个 DWORD 解释为 UBYTE4 类型。 |
|
D3DFVF_TEXCOUNT_SHIFT | 移动整数值所依据的位数,该整数值标识顶点的纹理坐标数。 可以使用此值,如下所示。
|
示例
以下示例演示其他常见标志组合。
// 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 );
常量信息
要求 | 值 |
---|---|
标头 | d3d9types.h |
最低操作系统 | Windows 98 |
相关主题