共用方式為


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方法。

規格需求

需求
標頭
D3D9Types.h

另請參閱

Direct3D 列舉