D3DTEXTURESTAGESTATETYPE 列挙型

D3DTEXTURESTAGESTATETYPE 列挙型

テクスチャ ステージ ステートを定義する。

構文

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;

定数

  • D3DTSS_COLOROP
    テクスチャ ステージ ステートはテクスチャ カラー ブレンディング処理であり、D3DTEXTUREOP 列挙型のメンバにより識別される。最初のテクスチャ ステージ (ステージ 0) のデフォルト値は D3DTOP_MODULATE であり、それ以外のすべてのステージのデフォルト値は D3DTOP_DISABLE である。

  • D3DTSS_COLORARG1
    テクスチャ ステージ ステートは、そのステージに対する最初の色引数であり、D3DTA のいずれかにより示される。デフォルトの引数は D3DTA_TEXTURE である。

    読み書き用のテンポラリ レジスタの色を選択するには、D3DTA_TEMP を指定する。D3DTA_TEMP は、D3DPMISCCAPS_TSSARGTEMP デバイス能力が存在する場合にサポートされる。このレジスタのデフォルト値は、(0.0, 0.0, 0.0, 0.0) である。

  • D3DTSS_COLORARG2
    テクスチャ ステージ ステートは、そのステージに対する 2 番目の色引数であり、D3DTA により識別される。デフォルトの引数は D3DTA_CURRENT である。読み書き用のテンポラリ レジスタの色を選択するには、D3DTA_TEMP を指定する。D3DTA_TEMP は、D3DPMISCCAPS_TSSARGTEMP デバイス能力が存在する場合にサポートされる。このレジスタのデフォルト値は、(0.0, 0.0, 0.0, 0.0) である。

  • D3DTSS_ALPHAOP
    テクスチャ ステージ ステートは、テクスチャ アルファ ブレンディング処理であり、D3DTEXTUREOP 列挙型のメンバによって識別される。最初のテクスチャ ステージ (ステージ 0) のデフォルト値は D3DTOP_SELECTARG1 であり、それ以外のすべてのステージのデフォルト値は D3DTOP_DISABLE である。

  • D3DTSS_ALPHAARG1
    テクスチャ ステージ ステートは、そのステージに対する最初のアルファ引数であり、D3DTA により識別される。デフォルトの引数は D3DTA_TEXTURE である。そのステージにテクスチャが設定されていない場合は、D3DTA_DIFFUSE がデフォルトの引数となる。読み書き用のテンポラリ レジスタの色を選択するには、D3DTA_TEMP を指定する。D3DTA_TEMP は、D3DPMISCCAPS_TSSARGTEMP デバイス能力が存在する場合にサポートされる。このレジスタのデフォルト値は、(0.0, 0.0, 0.0, 0.0) である。

  • D3DTSS_ALPHAARG2
    テクスチャ ステージ ステートは、ステージの 2 番目のアルファ引数であり、D3DTA により識別される。デフォルトの引数は D3DTA_CURRENT である。読み書き用のテンポラリ レジスタの色を選択するには、D3DTA_TEMP を指定する。D3DTA_TEMP は、D3DPMISCCAPS_TSSARGTEMP デバイス能力が存在する場合にサポートされる。このレジスタのデフォルト値は、(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
    このテクスチャ ステージで使うために設定されたテクスチャ座標のインデックス。頂点 1 個に対して最大 8 セットまでのテクスチャ座標を設定できる。頂点が、指定されたインデックスのテクスチャ座標セットを含んでいない場合は、u および v 座標 (0,0) がデフォルトで使われる。

    このフラグは、固定機能頂点処理でのみ使う。たとえば、頂点シェーダでは使わない。頂点シェーダを使ってレンダリングするときは、各ステージのテクスチャ インデックスをデフォルト値に設定する必要がある。各ステージのデフォルトのインデックスは、ステージ インデックスと同じである。このステートには、このテクスチャ ステージで使う各頂点に対する座標セットのゼロから始まるインデックスを設定する。

    また、アプリケーションでは、設定するインデックスとの論理としていずれかの定数を設定し、テクスチャ トランスフォーム用の入力テクスチャ座標を自動的に生成するように Microsoft® Direct3D® に要求できる。すべての定数の一覧については、「D3DTSS_TCI」を参照すること。

    ゼロに解決される D3DTSS_TCI_PASSTHRU を除き、設定されるインデックスと以下のフラグのいずれかを使うと、テクスチャ ラッピング モードの決定にインデックスが厳密に使われる。このフラグは環境マッピングを行う場合は特に有効である。

  • D3DTSS_BUMPENVLSCALE
    バンプマップ輝度に使う浮動小数点数のスケール値。デフォルト値は 0.0 である。

  • D3DTSS_BUMPENVLOFFSET
    バンプマップ輝度に使う浮動小数点数のオフセット。デフォルト値は 0.0 である。

  • D3DTSS_TEXTURETRANSFORMFLAGS
    D3DTEXTURETRANSFORMFLAGS 列挙型のメンバ。このテクスチャ ステージのテクスチャ座標のトランスフォームを制御する。デフォルト値は、D3DTTFF_DISABLE である。

  • D3DTSS_COLORARG0
    三項演算 (積和と線形補間) の 3 番目の色オペランドの設定。D3DTA によって識別される。この設定は、D3DTEXOPCAPS_MULTIPLYADD または D3DTEXOPCAPS_LERP デバイス能力が存在する場合にサポートされる。デフォルトの引数は D3DTA_CURRENT である。読み書き用のテンポラリ レジスタの色を選択するには、D3DTA_TEMP を指定する。D3DTA_TEMP は、D3DPMISCCAPS_TSSARGTEMP デバイス能力が存在する場合にサポートされる。このレジスタのデフォルト値は、(0.0, 0.0, 0.0, 0.0) である。

  • D3DTSS_ALPHAARG0
    三項演算 (積和と線形補間) のアルファ チャンネル セレクタ オペランドの設定。D3DTA によって識別される。この設定は、D3DTEXOPCAPS_MULTIPLYADD または D3DTEXOPCAPS_LERP デバイス能力が存在する場合にサポートされる。デフォルトの引数は D3DTA_CURRENT である。読み書き用のテンポラリ レジスタの色を選択するには、D3DTA_TEMP を指定する。D3DTA_TEMP は、D3DPMISCCAPS_TSSARGTEMP デバイス能力が存在する場合にサポートされる。デフォルトの引数は、(0.0, 0.0, 0.0, 0.0) である。

  • D3DTSS_RESULTARG
    このステージの結果の出力レジスタを選択するための設定。D3DTA によって識別される。この値は、D3DTA_CURRENT (デフォルト値) または D3DTA_TEMP に設定できる。D3DTA_TEMP は、入力引数として以降のステージに読み込むことができる単一のテンポラリ レジスタである。フォグ ブレンダおよびフレーム バッファに渡される最終的な色は D3DTA_CURRENT から取得するので、最後にアクティブなテクスチャ ステージ ステートはカレントへの書き込みに設定しなければならない。この設定は、D3DPMISCCAPS_TSSARGTEMP デバイス能力が存在する場合にサポートされる。

  • D3DTSS_CONSTANT
    ステージごとの定数カラー。デバイスがステージごとの定数カラーをサポートするかどうかを確認するには、D3DPMISCCAPS の D3DPMISCCAPS_PERSTAGECONSTANT 定数を調べる。D3DTSS_CONSTANT は D3DTA_CONSTANT で使う。「D3DTA」を参照すること。

  • D3DTSS_FORCE_DWORD
    この列挙型を強制的に 32 ビット サイズにコンパイルする。この値は使われていない。

注意

この列挙型のメンバは、テクスチャ ステート値を取得および設定するために IDirect3DDevice9::GetTextureStageState メソッドおよび IDirect3DDevice9::SetTextureStageState メソッドで使う。

D3DTSS_BUMPENVMAT00、D3DTSS_BUMPENVMAT01、D3DTSS_BUMPENVMAT10、および D3DTSS_BUMPENVMAT11 の各バンプ マッピング行列係数の有効範囲は、-8.0 以上 8.0 未満である。この範囲は、数学的には [-8.0,8.0) と表記する。

列挙型の情報

ヘッダー d3d9types.h
最低限のオペレーティング システム Windows 98

参照

IDirect3DDevice9::GetTextureStageStateIDirect3DDevice9::SetTextureStageState