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 | 頂點格式包含位置資料,以及對應數目的加權 (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 |
相關主題