D3DTEXTURESTAGESTATETYPE 列挙

テクスチャ ステージの状態は、マルチブレンダー テクスチャ操作を定義します。 サンプラーの状態の一部は頂点処理を設定し、一部はピクセル処理を設定します。 テクスチャ ステージの状態は、ステートブロックを使用して保存および復元できます (状態ブロックの保存と復元の状態 (Direct3D 9)を参照)。

構文

typedef enum D3DTEXTURESTAGESTATETYPE { 
  D3DTSS_COLOROP                = 1,
  D3DTSS_COLORARG1              = 2,
  D3DTSS_COLORARG2              = 3,
  D3DTSS_ALPHAOP                = 4,
  D3DTSS_ALPHAARG1              = 5,
  D3DTSS_ALPHAARG2              = 6,
  D3DTSS_BUMPENVMAT00           = 7,
  D3DTSS_BUMPENVMAT01           = 8,
  D3DTSS_BUMPENVMAT10           = 9,
  D3DTSS_BUMPENVMAT11           = 10,
  D3DTSS_TEXCOORDINDEX          = 11,
  D3DTSS_BUMPENVLSCALE          = 22,
  D3DTSS_BUMPENVLOFFSET         = 23,
  D3DTSS_TEXTURETRANSFORMFLAGS  = 24,
  D3DTSS_COLORARG0              = 26,
  D3DTSS_ALPHAARG0              = 27,
  D3DTSS_RESULTARG              = 28,
  D3DTSS_CONSTANT               = 32,
  D3DTSS_FORCE_DWORD            = 0x7fffffff
} D3DTEXTURESTAGESTATETYPE, *LPD3DTEXTURESTAGESTATETYPE;

定数

D3DTSS_COLOROP

テクスチャ ステージ状態は、D3DTEXTUREOP 列挙型の 1 つのメンバーによって識別されるテクスチャ カラー ブレンド操作です。 最初のテクスチャ ステージ (ステージ 0) の既定値は D3DTOP_MODULATE です。他のすべてのステージでは、既定値は D3DTOP_DISABLE です。

D3DTSS_COLORARG1

テクスチャ ステージの状態は、D3DTA のいずれかで識別されるステージの最初の色引数です。 既定の引数は D3DTA_TEXTURE です。

D3DTA_TEMP を指定して、読み取りまたは書き込みの一時レジスタの色を選択します。 D3DPMISCCAPS_TSSARGTEMP デバイス機能が存在する場合は、D3DTA_TEMP がサポートされます。 レジスタの既定値は (0.0、0.0、0.0、0.0) です。

D3DTSS_COLORARG2

テクスチャ ステージの状態は、D3DTA で識別されるステージの 2 番目の色引数です。 既定の引数は D3DTA_CURRENT です。 D3DTA_TEMP を指定して、読み取りまたは書き込みの一時レジスタの色を選択します。 D3DPMISCCAPS_TSSARGTEMP デバイス機能が存在する場合は、D3DTA_TEMP がサポートされます。 レジスタの既定値は (0.0、0.0、0.0、0.0) です

D3DTSS_ALPHAOP

テクスチャ ステージ状態は、D3DTEXTUREOP 列挙型の 1 つのメンバーによって識別されるテクスチャ アルファ ブレンド操作です。 最初のテクスチャ ステージ (ステージ 0) の既定値は D3DTOP_SELECTARG1 です。他のすべてのステージでは、既定値は D3DTOP_DISABLE です。

D3DTSS_ALPHAARG1

テクスチャ ステージの状態は、D3DTA で識別されるステージの 最初のアルファ引数です。 既定の引数は D3DTA_TEXTURE です。 このステージにテクスチャが設定されていない場合、既定の引数は D3DTA_DIFFUSE です。 D3DTA_TEMP を指定して、読み取りまたは書き込みの一時レジスタの色を選択します。 D3DPMISCCAPS_TSSARGTEMP デバイス機能が存在する場合は、D3DTA_TEMP がサポートされます。 レジスタの既定値は (0.0、0.0、0.0、0.0) です。

D3DTSS_ALPHAARG2

テクスチャ ステージの状態は、D3DTA で識別されるステージの 2 番目のアルファ引数です。 既定の引数は D3DTA_CURRENT です。 D3DTA_TEMP を指定して、読み取りまたは書き込みの一時レジスタの色を選択します。 D3DPMISCCAPS_TSSARGTEMP デバイス機能が存在する場合は、D3DTA_TEMP がサポートされます。 レジスタの既定値は (0.0、0.0、0.0、0.0) です。

D3DTSS_BUMPENVMAT00

テクスチャ ステージの状態は、バンプ マッピング マトリックスの [0][0] 係数の浮動小数点値です。 既定値は 0.0 です。

D3DTSS_BUMPENVMAT01

テクスチャ ステージの状態は、バンプ マッピング マトリックスの [0][1] 係数の浮動小数点値です。 既定値は 0.0 です。

D3DTSS_BUMPENVMAT10

テクスチャ ステージの状態は、バンプ マッピング マトリックスの [1][0] 係数の浮動小数点値です。 既定値は 0.0 です。

D3DTSS_BUMPENVMAT11

テクスチャ ステージの状態は、バンプ マッピング マトリックスの [1][1] 係数の浮動小数点値です。 既定値は 0.0 です。

D3DTSS_TEXCOORDINDEX

このテクスチャ ステージで使用するテクスチャ座標セットのインデックスです。 頂点ごとに最大 8 セットのテクスチャ座標を指定できます。 頂点に指定したインデックスにテクスチャ座標のセットが含まれていない場合、システムは既定で u 座標と v 座標 (0,0) に設定されます。

頂点シェーダーを使用してレンダリングする場合は、各ステージのテクスチャ座標インデックスを既定値に設定する必要があります。 各ステージの既定のインデックスは、ステージ インデックスと同じです。 この状態を、このテクスチャ ステージが使用する各頂点の座標セットの 0 から始まるインデックスに設定します。

さらに、アプリケーションには、インデックスが設定されている論理 OR として、Direct3D がテクスチャ変換の入力テクスチャ座標を自動的に生成するように要求する定数の 1 つを含めることができます。 すべての定数の一覧については、「D3DTSS_TCI 」を参照してください。

ゼロに解決される D3DTSS_TCI_PASSTHRU を除き、次のいずれかの値が設定されているインデックスに含まれている場合、システムはインデックスを厳密に使用してテクスチャ ラッピング モードを決定します。 これらのフラグは、環境マッピングを実行するときに最も役立ちます。

D3DTSS_BUMPENVLSCALE

バンプ マップの輝度の浮動小数点スケール値です。 既定値は 0.0 です。

D3DTSS_BUMPENVLOFFSET

バンプ マップの輝度の浮動小数点オフセット値です。 既定値は 0.0 です。

D3DTSS_TEXTURETRANSFORMFLAGS

このテクスチャ ステージのテクスチャ座標の変換を制御するD3DTEXTURETRANSFORMFLAGS 列挙型のメンバーです。 既定値は D3DTTFF_DISABLE です。

D3DTSS_COLORARG0

D3DTA で識別されるトライアド演算 (乗算、加算、線形補間) の 3 番目の色オペランドの設定です。 この設定は、D3DTEXOPCAPS_MULTIPLYADD またはD3DTEXOPCAPS_LERP のデバイス機能が存在する場合にサポートされます。 既定の引数は D3DTA_CURRENT です。 D3DTA_TEMP を指定して、読み取りまたは書き込みの一時レジスタの色を選択します。 D3DPMISCCAPS_TSSARGTEMP デバイス機能が存在する場合は、D3DTA_TEMP がサポートされます。 レジスタの既定値は (0.0、0.0、0.0、0.0) です。

D3DTSS_ALPHAARG0

D3DTA で識別されるトライアド演算 (乗算、加算、線形補間) のアルファ チャネル セレクター オペランドの設定です。 この設定は、D3DTEXOPCAPS_MULTIPLYADD またはD3DTEXOPCAPS_LERP デバイス機能が存在する場合にサポートされます。 既定の引数は D3DTA_CURRENT です。 D3DTA_TEMP を指定して、読み取りまたは書き込みの一時レジスタの色を選択します。 D3DPMISCCAPS_TSSARGTEMP デバイス機能が存在する場合は、D3DTA_TEMP がサポートされます。 既定の引数は (0.0、0.0、0.0、0.0) です。

D3DTSS_RESULTARG

D3DTA で識別される、このステージの結果の宛先レジスタを選択する設定です。 この値は、D3DTA_CURRENT (既定値) または D3DTA_TEMP に設定できます。これは、入力引数として後続のステージに読み込むことができる単一の一時レジスタです。 霧ブレンダーとフレーム バッファーに渡される最終的な色は D3DTA_CURRENT から取得されるため、最後にアクティブなテクスチャ ステージの状態を現在の状態に書き込むように設定する必要があります。 この設定は、D3DPMISCCAPS_TSSARGTEMP デバイス機能が存在する場合にサポートされます。

D3DTSS_CONSTANT

ステージごとの一定の色です。 デバイスがステージごとの定数色をサポートしているかどうかを確認するには、「D3DPMISCCAPS の D3DPMISCCAPS_PERSTAGECONSTANT 定数」を参照してください。 D3DTSS_CONSTANT は、D3DTA_CONSTANT によって使用されます。 「D3DTA」 を参照してください。

D3DTSS_FORCE_DWORD

この列挙型を強制的に 32 ビットのサイズにコンパイルします。 この値がないと、一部のコンパイラでは、この列挙を 32 ビット以外のサイズにコンパイルします。 この値は使用されていません。

解説

この列挙型のメンバーは、テクスチャ状態の値を取得および設定するために、IDirect3DDevice9::GetTextureStageState メソッドと IDirect3DDevice9::SetTextureStageState メソッドと共に使用されます。

D3DTSS_BUMPENVMAT00、D3DTSS_BUMPENVMAT01、D3DTSS_BUMPENVMAT10、およびD3DTSS_BUMPENVMAT11のバンプ マッピング マトリックス係数の有効な値の範囲は、-8.0 以上 8.0 未満です。 数学表記で表されるこの範囲は (-8.0,8.0) です。

必要条件

要件 Value
ヘッダー
D3D9Types.h

関連項目

Direct3D 列挙

IDirect3DDevice9::GetTextureStageState

IDirect3DDevice9::SetTextureStageState