Platform SDK: DirectX

D3DTEXTURESTAGESTATETYPE

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

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_ADDRESS        = 12, 
    D3DTSS_ADDRESSU       = 13, 
    D3DTSS_ADDRESSV       = 14, 
    D3DTSS_BORDERCOLOR    = 15, 
    D3DTSS_MAGFILTER      = 16, 
    D3DTSS_MINFILTER      = 17, 
    D3DTSS_MIPFILTER      = 18, 
    D3DTSS_MIPMAPLODBIAS  = 19, 
    D3DTSS_MAXMIPLEVEL    = 20, 
    D3DTSS_MAXANISOTROPY  = 21, 
    D3DTSS_BUMPENVLSCALE  = 22, 
    D3DTSS_BUMPENVLOFFSET = 23, 
    D3DTSS_TEXTURETRANSFORMFLAGS = 24,
    D3DTSS_FORCE_DWORD   = 0x7fffffff,
} D3DTEXTURESTAGESTATETYPE; 
D3DTSS_COLOROP
テクスチャ ステージ ステートはテクスチャ色の混合操作であり、D3DTEXTUREOP 列挙型のメンバにより識別される。最初のテクスチャ ステージ (ステージ 0) のデフォルト値は D3DTOP_MODULATE であり、それ以外のすべてのステージのデフォルト値は D3DTOP_DISABLE である。
D3DTSS_COLORARG1
テクスチャ ステージ ステートは、そのステージに対する最初の色引数であり、テクスチャ引数フラグにより識別される。デフォルト引数は D3DTA_TEXTURE である。
D3DTSS_COLORARG2
テクスチャ ステージ ステートは、そのステージに対する 2 番目の色引数であり、テクスチャ引数フラグにより識別される。デフォルト引数は D3DTA_CURRENT である。
D3DTSS_ALPHAOP
テクスチャ ステージ ステートは、テクスチャ アルファ ブレンディング処理であり、D3DTEXTUREOP 列挙型のメンバによって識別される。最初のテクスチャ ステージ (ステージ 0) のデフォルト値は D3DTOP_SELECTARG1 であり、それ以外のすべてのステージのデフォルト値は D3DTOP_DISABLE である。

DirectX 6.0 では、このステージにおけるデフォルトの動作は、テクスチャ処理として記述されない。その代わり、アルファ ブレンディングの動作は、D3DRENDERSTATE_TEXTUREMAPBLEND レンダリング ステートの動作を D3DTBLEND_MODULATE の値と一致させる。

D3DTSS_ALPHAARG1
テクスチャ ステージ ステートは、そのステージに対する最初のアルファ引数であり、テクスチャ引数フラグにより識別される。デフォルトの引数は D3DTA_TEXTURE である。ステージにテクスチャが設定されていない場合は D3DTA_DIFFUSE がデフォルトの引数となる。
D3DTSS_ALPHAARG2
テクスチャステージ ステートは、ステージの 2 番目のアルファ引数であり、テクスチャ引数フラグにより識別される。デフォルト引数は D3DTA_CURRENT である。
D3DTSS_BUMPENVMAT00
テクスチャ ステージ ステートは、バンプ マッピング行列の [0][0] 係数に対する D3DVALUE である。デフォルト値は 0 である。
D3DTSS_BUMPENVMAT01
テクスチャ ステージ ステートは、バンプ マッピング行列の [0][1] 係数に対する D3DVALUE である。デフォルト値は 0 である。
D3DTSS_BUMPENVMAT10
テクスチャ ステージ ステートは、バンプ マッピング行列の [1][0] 係数に対する D3DVALUE である。デフォルト値は 0 である。
D3DTSS_BUMPENVMAT11
テクスチャ ステージ ステートは、バンプ マッピング行列の [1][1] 係数に対する D3DVALUE である。デフォルト値は 0 である。
D3DTSS_TEXCOORDINDEX
このテクスチャ ステージで使用するために設定されたテクスチャ座標インデックス。デフォルトのインデックスは 0。このステートには、テクスチャ ステージで使用する、各頂点の座標セットのゼロベース インデックスを設定する (頂点 1 個に対して最大 8 組までのテクスチャ座標を設定できる)。頂点が、指定されたインデックスのテクスチャ座標セットを含んでいない場合は、u および v 座標 (0,0) がデフォルトで使用される。

また、アプリケーションでは、(設定されるインデックスとの論理和として) 以下のフラグのいずれかを設定して、テクスチャ トランスフォーム用の入力テクスチャ座標を自動的に生成するよう Direct3D に要求できる。ゼロに分解する D3DTSS_TCI_PASSTHRU を除いて、設定されるインデックスと以下のフラグのいずれかを使用すると、テクスチャ ラッピング モードの決定にインデックスが厳密に使用される。このフラグは環境マッピングを行う場合には特に有効である。

D3DTSS_TCI_PASSTHRU
頂点フォーマット内の指定されたテクスチャ座標を使用する。この値はゼロに分解する。
D3DTSS_TCI_CAMERASPACENORMAL
このステージのテクスチャ トランスフォームの入力テクスチャ座標として、カメラ空間にトランスフォームされた頂点法線を使用する。
D3DTSS_TCI_CAMERASPACEPOSITION
このステージのテクスチャ トランスフォームの入力テクスチャ座標として、カメラ空間にトランスフォームされた頂点位置座標を使用する。
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR
このステージのテクスチャ トランスフォームの入力テクスチャ座標として、カメラ空間にトランスフォームされた反射ベクトルを使用する。反射ベクトルは入力頂点位置座標と法線ベクトルから計算される。
D3DTSS_ADDRESS
D3DTEXTUREADDRESS 列挙型のメンバ。u 座標と v 座標の両方で使用するテクスチャ アドレッシング方法を選択する。デフォルト値は D3DTADDRESS_WRAP である。
D3DTSS_ADDRESSU
D3DTEXTUREADDRESS 列挙型のメンバ。u 座標で使用するテクスチャ アドレッシング方法を選択する。デフォルト値は D3DTADDRESS_WRAP である。
D3DTSS_ADDRESSV
D3DTEXTUREADDRESS 列挙型のメンバ。v 座標で使用するテクスチャ アドレッシング方法を選択する。デフォルト値は D3DTADDRESS_WRAP である。
D3DTSS_BORDERCOLOR
[0.0,1.0] の範囲の外にあるテクスチャ座標のラスタ化を実行するときに使用する色を記述する D3DCOLOR 値。デフォルト色は 0x00000000 である。
D3DTSS_MAGFILTER
テクスチャをプリミティブにレンダリングするときに使用するテクスチャ拡大フィルタを示す D3DTEXTUREMAGFILTER 列挙型のメンバ。デフォルト値は D3DTFG_POINT である。
D3DTSS_MINFILTER
D3DTEXTUREMINFILTER 列挙型のメンバで、テクスチャをプリミティブ上へレンダリングするときに使用するテクスチャ拡大フィルタを示す。デフォルト値は D3DTFN_POINT である。
D3DTSS_MIPFILTER
テクスチャをプリミティブにレンダリングするときに使用するテクスチャ拡大フィルタを示す D3DTEXTUREMIPFILTER 列挙型のメンバ。デフォルト値は D3DTFP_NONE である。
D3DTSS_MIPMAPLODBIAS
ミップマップ詳細バイアスのレベル。これを利用すると、テクスチャに質量感を与えたり、ぼやけた感じを与えることができる。デフォルトは 0。このステージの値は浮動小数点値である。IDirect3DDevice7::SetTextureStageState および IDirect3DDevice7::GetTextureStageStateDWORD 値を使用するため、以下のコード例で示すように、値を格納した変数をキャストしなければならない。
lpd3dDevice->SetTextureStageState( D3DTSS_MIPMAPLODBIAS, *((LPDWORD) (&fBias)) );
D3DTSS_MAXMIPLEVEL
アプリケーションで許容する最大ミップマップ詳細レベル ミップマップ チェーンの先頭を始点とするインデックスとして表現される (低い値の方が、ミップマップ チェーン内の高い詳細レベルを表す)。ゼロがデフォルト値で、全レベルが使用可能であることを示す。ゼロ以外の値は、指定されたインデックスより高い詳細レベルのミップマップを表示しないことを示す。
D3DTSS_MAXANISOTROPY
異方性レベルの最大値。デフォルト値は 1 である。
D3DTSS_BUMPENVLSCALE
バンプ マップ輝度に使用する D3DVALUE スケール。デフォルト値は 0 である。
D3DTSS_BUMPENVLOFFSET
バンプマップ輝度の D3DVALUE オフセット。デフォルト値は 0 である。
D3DTSS_TEXTURETRANSFORMFLAGS
テクスチャ ステージのテクスチャ座標のトランスフォームを制御する D3DTEXTURETRANSFORMFLAGS 列挙型のメンバ。デフォルトは D3DTTFF_DISABLE である。
D3DTSS_FORCE_DWORD
この列挙型を強制的に 32 ビット サイズにコンパイルする。この値は使用されていない。

注意

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

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 6.0 以降が必要。
  ヘッダー : d3dtypes.h で宣言。