Microsoft DirectX 8.0 (C++) |
StencilDepth サンプルでは、ステンシル バッファを使って、シーンの深度構造を表示する。シーンの深度構造は、各ピクセルの平均レンダリング回数として定義される。
ステンシル バッファは、ジオメトリをレンダリングするときに更新できる深度バッファの手法で、ほかのジオメトリを描画するためのマスクとして再度使用できる。一般的なエフェクトには、鏡、(高度な手法としての) 影、ディゾルブなどがある。
ソース :(SDK ルート)\Samples\Multimedia\Direct3D\StencilBuffer\StencilDepth
実行可能ファイル :(SDK ルート)\Samples\Multimedia\Direct3D\Bin
次の表は実装されているキーを示している。メニュー コマンドを使って同じ操作を行うことができる。
キー | アクション |
---|---|
Enter | シーンを開始および停止する。 |
Space | シーンを少しずつ進める。 |
F2 | 新しいレンダリング デバイスまたはディスプレイ モードを選択するようユーザーに指示する。 |
Alt + Enter | フルスクリーン モードとウィンドウ モードを切り替える。 |
Esc | アプリケーションを終了する。 |
深度構造の表示は、シーンのパフォーマンスを分析するための重要なツールである。オーバードローの多いシーンでは、ジオメトリを前から順に並べ替えるなど、シーンの最適化によってパフォーマンスが向上する場合がある。
ステンシルバッファ手法の一部の機能しかサポートしていないカードもある。一部のハードウェアでは、ステンシルバッファをサポートしていない場合や、一部しかサポートしていない場合がある。ステンシル バッファの詳細については、Microsoft® DirectX® SDK のマニュアルを参照すること。
このサンプルでは、ヘルパー関数などのプログラミング要素から構成される共通の DirectX コードを使用している。このコードは DirectX SDK のほかのサンプルと共有されている。共通のヘッダーおよびソース コードは、(SDK ルート)\Samples\Multimedia\Common にある。