Platform SDK: DirectX

ステップ 5.3 : ディスプレイを更新する

[Visual Basic]

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

[C++]

レンダリング ターゲット サーフェスに対するシーンのレンダリングを終了すると、その結果を画面上に表示することができる。ウィンドウ アプリケーションの場合、通常、レンダリング ターゲット サーフェスの内容をプライマリ サーフェスにブリットすることにより表示を行う。ページ フリッピングを採用しているフルスクリーン アプリケーションの場合、フリッピング チェーンのサーフェスをフリップするだけで表示を行う。サンプル Triangle は、ウィンドウで実行されるため、次のコードにより、前者の方法を使用する。

HRESULT ShowFrame()
{
    if( NULL == g_pddsPrimary )
        return E_FAIL;
 
    // ウィンドウ モードなので、バック バッファから
    // プライマリ サーフェスの正確な位置に、ブリットを実行する。
    return g_pddsPrimary->Blt( &g_rcScreenRect, g_pddsBackBuffer, 
                               &g_rcViewportRect, DDBLT_WAIT, NULL );
}

上記のアプリケーション定義関数は、レンダリング ターゲット サーフェスの内容全体を、デスクトップのウィンドウにブリットするだけであることに注意する。このチュートリアルでは、ブリット対象の矩形を、グローバル変数 g_rcScreenRect で追跡する。この矩形は、ユーザーがウィンドウを移動するたびに更新される。これについては、「ウィンドウの移動を処理する」で説明する。