Microsoft DirectX 8.0 (C++)

BumpWaves サンプル

説明

BumpWave サンプルでは、Microsoft® Direct3D® のバンプ マッピング機能を示す。バンプ マッピングは、粗い凹凸のあるサーフェスの外観をレンダリングするマルチテクスチャ ブレンディング手法である。このサンプルでは、4 つの三角形だけで水辺のシーンをレンダリングしている。シーン内の波はすべてバンプ マップを使って作成されている。

バンプ マッピング手法の一部の機能しかサポートしていないカードもある。一部のハードウェアでは、バンプ マッピングをサポートしていない場合や、一部しかサポートしていない場合がある。バンプ マッピングの詳細については、Microsoft DirectX® SDK のマニュアルを参照すること。

このサンプルでは、射影テクスチャと呼ばれるテクスチャ座標生成手法も使用するが、このサンプルの中心ではない。テクスチャ座標の生成の詳細については、「バンプ マッピング」を参照すること。

パス

ソース :(SDK ルート)\Samples\Multimedia\Direct3D\BumpMapping\BumpWaves

実行可能ファイル :(SDK ルート)\Samples\Multimedia\Direct3D\Bin

ユーザーズ ガイド

次の表は実装されているキーを示している。メニュー コマンドを使って同じ操作を行うことができる。

キー アクション
Enter シーンを開始および停止する。
Space シーンを少しずつ進める。
F2 新しいレンダリング デバイスまたはディスプレイ モードを選択するようユーザーに指示する。
Alt + Enter フルスクリーン モードとウィンドウ モードを切り替える。
Esc アプリケーションを終了する。

プログラミング上の注意

バンプ マップは摂動データを保存するテクスチャである。バンプ マッピングは 2 つのテクスチャを必要とする。1 つは環境マップで、シーン内で表示されるライトが含まれる。もう 1 つは実際のバンプ マッピングであり、環境マップのテクスチャ座標をバンプするために使用される値 (du および dv) が含まれる。一部のバンプ マップでは、特定のテクセルの輝きを制御する輝度の値も含まれる。

このサンプルでは、バンプ マッピングを使ってシーン内の波を生成している。背景は環境マップの射影テクスチャとして使用されているので、波で反射する。波自体は、多くのポリゴンを使って生成されたように見える。しかし、それは 1 つの大きな四角形である。

このサンプルでは、ヘルパー関数などのプログラミング要素から構成される共通の Microsoft DirectX コードを使用している。このコードは DirectX SDK のほかのサンプルと共有されている。共通のヘッダーおよびソース コードは、(SDK ルート)\Samples\Multimedia\Common にある。