DirectX再入門3
頂点シェーダとピクセルシェーダ
頂点シェーダは頂点単位で処理を行うが、
ピクセルシェーダは一つ一つのピクセル単位で処理を行う。
そして、ピクセルシェーダが行う処理の中で特に重要なのが、テクスチャマッピングである。
テクスチャマッピング
模様(テクスチャ)画像から必要な部分を抜き出し、
ポリゴンに貼り付ける(マッピング)する処理のこと。
テクスチャ座標
テクスチャの抜き出す部分の座標のこと。
テクスチャステージ
テクスチャとポリゴンの合成値・方法を決めるところ。
合成値として以下の値を設定する。(arg1
- ディフューズ成分
- スペキュラー成分
- テクセルの色成分
- 定数値
合成方法として以下の方法から選択する。
- どちらかをそのまま出力する
- 両方を掛け合わせる
- 両方を足し合わせる
IDIRECT3DDEVICE9::SetTextureStageState(stage, type, value)
@param stage ステージ識別子
@param type D3DTEXTURESTAGESTATETYPE列挙型
@param value ステート値
D3DTEXTURESTAGESTATETYPE列挙型
- D3DTSS_COLOROP:valueがD3DTOP_SELECTARG1の場合、arg1をそのまま出力
テクスチャ
- LPDIRECT3DTEXTURE9でテクスチャの宣言
- D3DXCreateTextureFromFile(LPDIRECT3DDEVICE9*, fileName, LPDIRECT3DTEXTURE9*)でテクスチャの読み込み
- IDIRECT3DDEVICE9::SetTexture(stage, LPDIRECT3DTEXTURE9*)…stageはステージ識別子
ラッピングモードの設定
IDIRECT3DDEVICE9::SetSamplerState(stage, type, value)