Microsoft DirectX 8.0 (Visual Basic)

カメラ空間トランスフォーム

カメラ空間の頂点は、オブジェクトの頂点に Mwv 行列を乗算することによって計算される。

v = Vobject * Mwv

カメラ空間の法線は、オブジェクトの法線に逆転置行列 Mwv を乗算し、その結果を正規化することによって計算される。

N = Nobject * (Mwv-1)T

D3DRENDERSTATE_NORMALIZENORMALS が TRUE に設定されている場合、法線はカメラ空間へのトランスフォームの後、正規化される。

N = norm(N)

カメラ空間でのライトの位置座標 (Lpi) は、光源の位置座標に Mv を乗算することによって計算される。

Lpi = Lporiginal * Mv

D3DLIGHT_DIRECTIONAL ライトのカメラ空間でのライトへの方向は、光源の位置座標に Mv 行列を乗算し、その結果を正規化して否定することによって計算される。

Ldi = -norm(Ldi original * Mv)

D3DLIGHT_POINT および D3DLIGHT_SPOT の場合は、ライトへの方向は次のように計算される。

Ldi = norm(VLpi)