Platform SDK: DirectX |
ここでは、C および C++ でのアプリケーション開発について説明する。Visual Basic については、「Direct3D 直接モード Visual Basic チュートリアル」を参照すること。
このチュートリアルでは、アプリケーション定義サブルーチン App_FrameMove を使用して、円の上でビューポイントを回転させる。ビューポイントは、視点、注視点、および上方向を定義するベクトルの 3 つの D3DVECTOR 構造体で定義するのが最も簡単である。
HRESULT App_FrameMove( LPDIRECT3DDEVICE7 pd3dDevice, FLOAT fTimeKey ) { D3DVECTOR vEyePt = D3DVECTOR( 5*sinf( fTimeKey), 3, 5*cosf( fTimeKey ) ); D3DVECTOR vLookatPt = D3DVECTOR( 4*sinf( fTimeKey+0.1f), 2.5, 4*cosf( fTimeKey+0.1f ) ); D3DVECTOR vUpVec = D3DVECTOR( 0, 1, 0 );
3 つのベクトルを使用して新しいビュー行列を作成する。
D3DMATRIX matView; SetViewMatrix( matView, vEyePt, vLookatPt, vUpVec );
上記のコードでは、視点、注視点、および上方向を定義するベクトルをプログラマ定義の SetViewMatrix メソッドに渡してデバイスに新しいビュー行列を作成する。これについては、「ステップ 2.2 : ビュー行列を作成および設定する」で説明する。