Microsoft DirectX 8.0 (C++) |
カメラ空間の頂点は、オブジェクトの頂点に 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)