次の方法で共有


D3DDECLMETHOD 列挙

テセレータによって実行される定義済みの操作である頂点宣言メソッド (またはテセレーション中の頂点データに対する手続き型ジオメトリ ルーチン) を定義します。

構文

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

2 つのタンジェントのクロス積を取って、四角形または三角形のパッチ上の点で法線を計算します。 入力の種類には、次のいずれかを指定できます。

  • 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 パッチ が有効になっている場合、N パッチ データのプログラム可能なパイプラインでのみサポートされます。

D3DDECLMETHOD_LOOKUPPRESAMPLED

プリサンプリングされたディスプレイスメント マップを検索します。 入力の種類は、D3DDECLTYPE_UNUSEDに設定する必要があります。ストリーム インデックスとストリーム オフセットは 0 に設定する必要があります。 この操作の出力の種類は常にD3DDECLTYPE_FLOAT1。 デバイスは、ディスプレイスメント マッピングをサポートする必要があります。 ディスプレイスメント マッピングの詳細については、「 ディスプレイスメント マッピング (Direct3D 9)」を参照してください。 この定数は、N パッチ が有効になっている場合、N パッチ データのプログラム可能なパイプラインでのみサポートされます。 このメソッドは、D3DDECLUSAGE_SAMPLEでのみ使用できます。

解説

テセレータは、 メソッドを調べて、テセレーション中に頂点データから計算するデータを決定します。 メッシュ データでは既定値を使用する必要があります。 パッチでは、実装されているその他の任意の型を使用できます。

頂点データは、 D3DVERTEXELEMENT9 構造体の配列で宣言されます。 配列内の各要素には、頂点宣言メソッドが含まれています。

通常のメッシュでは、D3DDECLMETHOD_DEFAULTの使用に加えて、N パッチが有効になっている場合は、D3DDECLMETHOD_LOOKUPおよびD3DDECLMETHOD_LOOKUPPRESAMPLEDメソッドを使用できます。

要件

要件
ヘッダー
D3D9Types.h

関連項目

Direct3D 列挙