Microsoft DirectX 8.0 (Visual Basic) |
ワールド トランスフォーム行列は、3D モデル空間でジオメトリを平行移動、スケーリング、および回転する方法を定義する。
次のコードでは、三角形を y 軸上で回転させた後、Microsoft® Direct3D® デバイスに現在のワールド トランスフォームを設定している。
Dim matWorld As D3DMATRIX D3DXMatrixRotationY matWorld, Timer * 4 g_D3DDevice.SetTransform D3DTS_WORLD, matWorld
最初のステップは、D3DXMatrixRotationY メソッドを呼び出して、Y 軸を中心に三角形を回転させることである。最初のパラメータは、返される行列を格納する D3DMATRIX 型である。2 番目のパラメータは、ラジアン単位の回転の角度である。
次のステップでは、Direct3DDevice8.SetTransform を呼び出して、現在のワールド トランスフォームを Direct3D デバイスに設定する。SetTransform で使用する最初のパラメータは、設定するトランスフォームを指定する。このサンプルでは、D3DTS_WORLD フラグを使用して、ワールド トランスフォームを指定する。2 番目のパラメータは、現在のトランスフォームとして設定する行列へのポインタである。
ワールド トランスフォームの詳細については、「ワールド トランスフォーム」を参照すること。
シーンのワールド トランスフォームを定義した後、ビュー トランスフォーム行列を準備できる。ここでも、トランスフォームを定義する順序は重要ではないことに注意すること。ただし、Direct3D では、(1) ワールド、(2) ビュー、(3) 射影の順序で、シーンに行列が適用される。
ビュー トランスフォーム行列の定義については、「ステップ 2 : ビュー トランスフォーム行列の定義」で説明する。