Platform SDK: DirectX |
Direct3D では、各バンプ マップ ピクセルの Du および Dv コンポーネントに次の公式を適用する。
この公式では、Du および Dv 変数はバンプ マップ ピクセルから直接取得され、出力デルタ値 Du' および Dv' を生成するために 2×2 行列でトランスフォームされる。システムでは、この出力値を使用して、次のテクスチャ ステージの環境マップを処理するテクスチャ座標を修正する。トランスフォーム行列の係数は、D3DTSS_BUMPENVMAT00、D3DTSS_BUMPENVMAT10、D3DTSS_BUMPENVMAT01、および D3DTSS_BUMPENVMAT11 テクスチャ ステージ ステートで設定する。
u および v デルタ値のほかにも、システムでは、次のブレンディング ステージの環境マップの色調整に使用する輝度を計算できる。
この公式では、L' は計算される出力輝度である。L 変数はバンプ マップ ピクセルから取得される輝度であり、スケーリング係数 S で乗算され、変数 O の値でオフセットされる。D3DTSS_BUMPENVLSCALE および D3DTSS_BUMPENVLOFFSET テクスチャ ステージ ステートは、公式の変数 S および O の値を制御する。この公式が適用されるのは、バンプ マップを含むステージのテクスチャ ブレンディング処理が D3DTOP_BUMPENVMAPLUMINANCE に設定されている場合のみである。D3DTOP_BUMPENVMAP を使用するときは、L' の値に 1.0 が使用される。
出力デルタ値 Du' および Dv' の計算後、システムでは、これらの値を次のテクスチャ ステージのテクスチャ座標に追加し、選択されている色の輝度を調整して、ポリゴンに適用する色を生成する。
Direct3D では、各バンプ マップ ピクセルの Du および Dv コンポーネントに次の公式を適用する。
この公式では、Du および Dv 変数はバンプ マップ ピクセルから直接取得され、出力デルタ値 Du' および Dv' を生成するために 2×2 行列でトランスフォームされる。システムでは、この出力値を使用して、次のテクスチャ ステージの環境マップを処理するテクスチャ座標を修正する。トランスフォーム行列の係数は、D3DTSS_BUMPENVMAT00、D3DTSS_BUMPENVMAT10、D3DTSS_BUMPENVMAT01、および D3DTSS_BUMPENVMAT11 テクスチャ ステージ ステートで設定する。
u および v デルタ値のほかにも、システムでは、次のブレンディング ステージの環境マップの色調整に使用する輝度を計算できる。
この公式では、L' は計算される出力輝度である (L' は、0.0 と 1.0 を含む 0.0 〜 1.0 の範囲に固定される)。L 変数はバンプ マップ ピクセルから取得される輝度であり、スケーリング係数 S で乗算され、変数 O の値でオフセットされる。D3DTSS_BUMPENVLSCALE および D3DTSS_BUMPENVLOFFSET テクスチャ ステージ ステートは、公式の変数 S および O の値を制御する。この公式が適用されるのは、バンプ マップを含むステージのテクスチャ ブレンディング処理が D3DTOP_BUMPENVMAPLUMINANCE に設定されている場合のみである。D3DTOP_BUMPENVMAP を使用するときは、L' の値に 1.0 が使用される。
出力デルタ値 Du' および Dv' の計算後、システムでは、これらの値を次のテクスチャ ステージのテクスチャ座標に追加し、選択されている色の輝度を調整して、ポリゴンに適用する色を生成する。