Platform SDK: DirectX

チュートリアル 2 : 深度バッファを追加する

[C++]

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

[Visual Basic]

Direct3D アプリケーションでは、シーンのオブジェクトを正しく表示するのに、深度バッファに依存することが多い。概念的な概要については、「深度バッファ」を参照すること。深度バッファを使用するには、サポートされている深度バッファ フォーマットを列挙し、深度バッファ サーフェスを作成して、レンダリング ターゲット サーフェスに深度バッファ サーフェスをアタッチした後、レンダリング デバイスの深度バッファリングを有効にしなければならない。

サンプル ZBuffer では、次のステップを実行して、z バッファを使用する。

z バッファは、レンダリングされる各ピクセルのステート、すなわちレンダリングするピクセルが表示される深度を保持する。これにより、他のピクセル上でピクセルをレンダリングする場合、既にレンダリングされているピクセルの後ろに表示するかどうかを決定できる。

 :  サンプル ZBuffer のコードは、ほとんど、Triangle のコードと同一である。このチュートリアルでは、Zbuffer に特有な深度バッファ コードだけを取り上げ、Direct3D のセット アップ、レンダリング、シャット ダウン、アプリケーションによって起動されるイベントの処理については説明しないものとする。これらのタスクの詳細については、「チュートリアル 1 : 単一の三角形をレンダリングする」を参照すること。

レンダリング デバイスによっては、深度バッファをメモリの特定の場所に位置させる必要があるため、レンダリング デバイスを作成する前に、深度バッファ サーフェスを作成し、レンダリング ターゲット サーフェスにアタッチする必要がある。