Microsoft DirectX 8.0 (Visual Basic)

CONST_D3DTEXTURESTAGESTATETYPE

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

Enum CONST_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_ADDRESSU              = 13
    D3DTSS_ADDRESSV              = 14
    D3DTSS_BORDERCOLOR           = 15
    D3DTSS_MAGFILTER             = 16 (&H10)
    D3DTSS_MINFILTER             = 17 (&H11)
    D3DTSS_MIPFILTER             = 18 (&H12)
    D3DTSS_MIPMAPLODBIAS         = 19 (&H13)
    D3DTSS_MAXMIPLEVEL           = 20 (&H14)
    D3DTSS_MAXANISOTROPY         = 21 (&H15)
    D3DTSS_BUMPENVLSCALE         = 22 (&H16)
    D3DTSS_BUMPENVLOFFSET        = 23 (&H17)
    D3DTSS_TEXTURETRANSFORMFLAGS = 24 (&H18)
    D3DTSS_ADDRESSW              = 25 (&H19)
    D3DTSS_COLORARG0             = 26 (&H1A)
    D3DTSS_ALPHAARG0             = 27 (&H1B)
    D3DTSS_RESULTARG             = 28 (&H1C)
End Enum

定数

D3DTSS_COLOROP
テクスチャ ステージ ステートは、テクスチャ カラー ブレンディング処理であり、CONST_D3DTEXTUREOP 列挙のメンバの 1 つによって示される。最初のテクスチャ ステージ (ステージ 0) のデフォルト値は D3DTOP_MODULATE であり、それ以外のすべてのステージのデフォルト値は D3DTOP_DISABLE である。
D3DTSS_COLORARG1
テクスチャ ステージ ステートは、そのステージに対する最初の色引数であり、テクスチャ引数フラグのいずれかにより示される。デフォルトの引数は D3DTA_TEXTURE である。
D3DTSS_COLORARG2
テクスチャ ステージ ステートは、そのステージに対する第 2 の色引数であり、テクスチャ引数フラグのいずれかにより示される。デフォルトの引数は D3DTA_CURRENT である。
D3DTSS_ALPHAOP
テクスチャ ステージ ステートはテクスチャ アルファ ブレンディング処理であり、CONST_D3DTEXTUREOP 列挙のメンバの 1 つによって示される。最初のテクスチャ ステージ (ステージ 0) のデフォルト値は D3DTOP_SELECTARG1 であり、それ以外のすべてのステージのデフォルト値は D3DTOP_DISABLE である。
D3DTSS_ALPHAARG1
テクスチャ ステージ ステートはそのステージに対する最初のアルファ引数であり、テクスチャ引数フラグのいずれかにより示される。デフォルトの引数は D3DTA_TEXTURE である。そのステージにテクスチャが設定されていない場合は、D3DTA_DIFFUSE がデフォルトの引数となる。
D3DTSS_ALPHAARG2
テクスチャ ステージ ステートはそのステージに対する第 2 のアルファ引数であり、テクスチャ引数フラグのいずれかにより示される。デフォルトの引数は D3DTA_CURRENT である。
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_PASSTHRU を除き、設定されるインデックスと以下のフラグのいずれかを使用すると、テクスチャ ラッピング モードの決定にインデックスが厳密に使用される。CONST_D3DTSS_TCI_FLAGS 列挙で定義されているこれらのフラグは、環境マッピングを行う場合に最も有効である。

D3DTSS_TCI_PASSTHRU
頂点フォーマット内の指定されたテクスチャ座標を使用する。この値はゼロに解決される。
D3DTSS_TCI_CAMERASPACENORMAL
このステージのテクスチャ トランスフォームに対する入力テクスチャ座標として、カメラ空間にトランスフォームされた頂点法線を使用する。
D3DTSS_TCI_CAMERASPACEPOSITION
このステージのテクスチャ トランスフォームに対する入力テクスチャ座標として、カメラ空間にトランスフォームされた頂点位置を使用する。
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR
このステージのテクスチャ トランスフォームに対する入力テクスチャ座標として、カメラ空間にトランスフォームされた反射ベクトルを使用する。反射ベクトルは入力頂点位置座標と法線ベクトルから計算される。
D3DTSS_ADDRESSU
CONST_D3DTEXTUREADDRESS 列挙のメンバ。u 座標で使用するテクスチャ アドレッシング方法を選択する。デフォルト値は D3DTADDRESS_WRAP である。
D3DTSS_ADDRESSV
CONST_D3DTEXTUREADDRESS 列挙のメンバ。v 座標で使用するテクスチャ アドレッシング方法を選択する。デフォルト値は D3DTADDRESS_WRAP である。
D3DTSS_BORDERCOLOR
[0.0, 1.0] の範囲の外にあるテクスチャ座標をラスタ化するときに使用する色を記述する値。デフォルト色は &H00000000 である。
D3DTSS_MAGFILTER
テクスチャをプリミティブにレンダリングするときに使用するテクスチャ拡大フィルタを示す CONST_D3DTEXTUREFILTERTYPE 列挙のメンバ。デフォルト値は D3DTEXF_POINT である。
D3DTSS_MINFILTER
テクスチャをプリミティブにレンダリングするときに使用するテクスチャ縮小フィルタを示す CONST_D3DTEXTUREFILTERTYPE 列挙のメンバ。デフォルト値は D3DTEXF_POINT である。
D3DTSS_MIPFILTER
ミップマップ レベル間で使用するテクスチャ フィルタを示す CONST_D3DTEXTUREFILTERTYPE 列挙のメンバ。デフォルト値は D3DTFN_POINT である。
D3DTSS_MIPMAPLODBIAS
ミップマップに対する詳細バイアスのレベル。これを利用すると、テクスチャに質量感を与えたり、ぼやけた感じを与えることができる。デフォルト値は 0.0 である。

バイアスの各単位 (+/-1.0) は、正確に 1 ミップマップ レベルごとに選択範囲を変更する。負のバイアスは、使用するミップマップ レベルを大きくする。結果はシャープになるが、ぎざぎざしたイメージになる。正のバイアスは、使用するミップマップ レベルを小さくする。結果はぼやけたイメージになる。また、正のバイアスを指定すると、参照されるテクスチャ データが少なくなり、システムによってはパフォーマンスが向上する場合がある。

D3DTSS_MAXMIPLEVEL
ミップマップ チェーンの先頭からのインデックスとして示された、アプリケーションで許容する最大ミップマップ詳細レベル。低い値の方が、ミップマップ チェーン内の高い詳細レベルを表す。ゼロがデフォルト値で、全レベルが使用可能であることを示す。ゼロ以外の値は、指定されたインデックスより高い詳細レベルのミップマップを表示できないことを示す。
D3DTSS_MAXANISOTROPY
異方性レベルの最大値。デフォルト値は 1 である。
D3DTSS_BUMPENVLSCALE
バンプ マップ輝度用のスケール。デフォルト値は 0.0 である。
D3DTSS_BUMPENVLOFFSET
バンプ マップ輝度用のオフセット。デフォルト値は 0.0 である。
D3DTSS_TEXTURETRANSFORMFLAGS
このテクスチャ ステージのテクスチャ座標のトランスフォームを制御する CONST_D3DTEXTURETRANSFORMFLAGS 列挙のメンバ。デフォルト値は D3DTTFF_DISABLE である。
D3DTSS_ADDRESSW
CONST_D3DTEXTUREADDRESS 列挙のメンバ。w 座標で使用するテクスチャ アドレッシング方法を選択する。デフォルト値は D3DTADDRESS_WRAP である。
D3DTSS_COLORARG0
三項演算 (積和および線形補間) の 3 番目の色オペランドの設定。テクスチャ引数フラグのいずれかによって識別される。この設定は、D3DTEXOPCAPS_MULTIPLYADD または D3DTEXOPCAPS_LERP デバイス能力が存在する場合にサポートされる。

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

D3DTSS_ALPHAARG0
三項演算 (積和および線形補間) のアルファ チャネル セレクタ オペランドの設定。テクスチャ引数フラグのいずれかによって識別される。この設定は、D3DTEXOPCAPS_MULTIPLYADD または D3DTEXOPCAPS_LERP デバイス能力が存在する場合にサポートされる。

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

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

この設定は、D3DPMISCCAPS_TSSARGTEMP デバイス能力が存在する場合にサポートされる。

注意

この列挙のメンバは、テクスチャ ステート値を取得および設定する Direct3DDevice8.GetTextureStageState メソッドと Direct3DDevice8.SetTextureStageState メソッドで使用される。

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

参照

Direct3DDevice8.GetTextureStageStateDirect3DDevice8.SetTextureStageState