Platform SDK: DirectX

ステップ 2.1 : ビューポイントを定義する

[Visual Basic]

ここでは、C および C++ でのアプリケーション開発について説明する。Visual Basic については、「Direct3D 直接モード Visual Basic チュートリアル」を参照すること。

[C++]

このチュートリアルでは、アプリケーション定義サブルーチン 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 : ビュー行列を作成および設定する」で説明する。