D3DDECLMETHOD 列舉
定義頂點宣告方法,這是鑲嵌器 (或頂點資料上任何程式幾何常式在鑲嵌) 期間執行的預先定義作業。
Syntax
typedef enum D3DDECLMETHOD {
D3DDECLMETHOD_DEFAULT = 0,
D3DDECLMETHOD_PARTIALU = 1,
D3DDECLMETHOD_PARTIALV = 2,
D3DDECLMETHOD_CROSSUV = 3,
D3DDECLMETHOD_UV = 4,
D3DDECLMETHOD_LOOKUP = 5,
D3DDECLMETHOD_LOOKUPPRESAMPLED = 6
} D3DDECLMETHOD, *LPD3DDECLMETHOD;
常數
-
D3DDECLMETHOD_DEFAULT
-
預設值。 鑲嵌程式會依原樣複製頂點資料 (曲線資料,以) ,而不需要額外的計算。 使用鑲嵌程式時,會插入此元素。 否則,頂點資料會複製到輸入暫存器中。 輸入和輸出類型可以是任何值,但一律是相同的類型。
-
D3DDECLMETHOD_PARTIALU
-
計算矩形或三角形修補程式上 U 方向點的正切值。 輸入類型可以是下列其中一項:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
輸出類型一律D3DDECLTYPE_FLOAT3。
-
D3DDECLMETHOD_PARTIALV
-
計算矩形或三角形修補程式上 V 方向點的正切值。 輸入類型可以是下列其中一項:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
輸出類型一律D3DDECLTYPE_FLOAT3。
-
D3DDECLMETHOD_CROSSUV
-
藉由取得兩個正切值的交叉乘積,計算矩形或三角形修補程式上的一點的法線。 輸入類型可以是下列其中一項:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
輸出類型一律D3DDECLTYPE_FLOAT3。
-
D3DDECLMETHOD_UV
-
複製矩形或三角形修補點上的 U、V 值。 這會導致 2D 浮點數。 輸入類型必須設定為 D3DDECLTYPE_UNUSED。 輸出資料類型一律D3DDECLTYPE_FLOAT2。 輸入資料流程和位移也未使用 (,但必須設定為 0) 。
-
D3DDECLMETHOD_LOOKUP
-
查閱位移地圖。 輸入類型可以是下列其中一項:
- D3DDECLTYPE_FLOAT2
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
紋理地圖查閱只會使用 .x 和 .y 元件。 輸出類型一律D3DDECLTYPE_FLOAT1。 裝置必須支援位移對應。 如需位移對應的詳細資訊,請參閱 位移對應 (Direct3D 9) 。 如果已啟用 N 修補程式,則只有可程式化管線支援此常數。
-
D3DDECLMETHOD_LOOKUPPRESAMPLED
-
查閱預先取樣的位移對應。 輸入類型必須設定為 D3DDECLTYPE_UNUSED;資料流程索引和資料流程位移必須設定為 0。 此作業的輸出類型一律D3DDECLTYPE_FLOAT1。 裝置必須支援位移對應。 如需位移對應的詳細資訊,請參閱 位移對應 (Direct3D 9) 。 如果已啟用 N 修補程式,則只有可程式化管線支援此常數。 這個方法只能與D3DDECLUSAGE_SAMPLE搭配使用。
備註
鑲嵌程式會查看 方法,以判斷在鑲嵌期間要從頂點資料計算的資料。 網格資料應該使用預設值。 修補程式可以使用任何其他實作類型。
頂點資料是以 D3DVERTEXELEMENT9 結構的陣列宣告。 陣列中的每個元素都包含頂點宣告方法。
除了使用D3DDECLMETHOD_DEFAULT之外,一般網格還可以在啟用 N 修補程式時使用D3DDECLMETHOD_LOOKUP和D3DDECLMETHOD_LOOKUPPRESAMPLED方法。
規格需求
需求 | 值 |
---|---|
標頭 |
|
另請參閱