D3DFVF
彈性頂點格式常數或 FVF 程式代碼是用來描述頂點交錯在固定函式管線所處理之單一數據流中的內容。
頂點數據旗標
下列旗標描述頂點格式。 如需頂點格式的相關信息,請參閱 固定函式 FVF 代碼 (Direct3D 9)。
#define | 描述 | 數據順序和類型 |
---|---|---|
D3DFVF_DIFFUSE | 頂點格式包含擴散色彩元件。 | 以ARGB順序排列的 DWORD。 請參閱 D3DCOLOR_ARGB。 |
D3DFVF_NORMAL | 頂點格式包含頂點法向量。 這個旗標不能與 D3DFVF_XYZRHW 旗標搭配使用。 | float、float、float |
D3DFVF_PSIZE | 點大小中指定的頂點格式。 此大小會以未轉換和點亮的頂點相機空間單位,以及用於轉換和點亮頂點的裝置空間單位表示。 | 浮 |
D3DFVF_SPECULAR | 頂點格式包含反射色彩元件。 | 以ARGB順序排列的 DWORD。 請參閱 D3DCOLOR_ARGB。 |
D3DFVF_XYZ | 頂點格式包含未轉換頂點的位置。 這個旗標不能與 D3DFVF_XYZRHW 旗標搭配使用。 | float、float、float。 |
D3DFVF_XYZRHW | 頂點格式包含已轉換頂點的位置。 這個旗標不能與D3DFVF_XYZ或D3DFVF_NORMAL旗標搭配使用。 | float、float、float、float。 |
透過D3DFVF_XYZB5 D3DFVF_XYZB1 | 頂點格式包含位置數據,以及用於多線程頂點混合作業的對應加權值數目。 目前,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 |
相關主題