Microsoft DirectX 8.0 (C++) |
BumpLens サンプルでは、バンプ マッピングを使って実現できる水中のエフェクトを示す。バンプ マッピングは、粗い凹凸のあるサーフェスの外観をレンダリングするマルチテクスチャ ブレンディング手法であるが、ここに示すように、ほかのエフェクトにも使用できる。
バンプ マッピング手法の一部の機能しかサポートしていないカードもある。一部のハードウェアでは、バンプ マッピングをサポートしていない場合や、一部しかサポートしていない場合がある。バンプ マッピングの詳細については、「バンプ マッピング」を参照すること。
ソース :(SDK ルート)\Samples\Multimedia\Direct3D\BumpMapping\BumpUnderWater
実行可能ファイル :(SDK ルート)\Samples\Multimedia\Direct3D\Bin
次の表は実装されているキーを示している。メニュー コマンドを使って同じ操作を行うことができる。
キー | アクション |
---|---|
Enter | シーンを開始および停止する。 |
Space | シーンを少しずつ進める。 |
F2 | 新しいレンダリング デバイスまたはディスプレイ モードを選択するようユーザーに指示する。 |
Alt + Enter | フルスクリーン モードとウィンドウ モードを切り替える。 |
Esc | アプリケーションを終了する。 |
バンプ マップは摂動データを保存するテクスチャである。バンプ マッピングは 2 つのテクスチャを必要とする。1 つは環境マップで、シーン内で表示されるライトが含まれる。もう 1 つは実際のバンプ マッピングであり、環境マップのテクスチャ座標をバンプするために使用される値 (du および dv) が含まれる。一部のバンプ マップでは、特定のテクセルの輝きを制御する輝度の値も含まれる。
このサンプルでは、従来の方法とは異なる方法でバンプ マッピングを使用する。バンプ マッピングは環境マップを摂動するので、ほかのエフェクトにも使用できる。ここでは、バックグラウンド イメージを摂動して (その場でレンダリングできる)、水中のエフェクトを作成している。
このサンプルでは、ヘルパー関数などのプログラミング要素から構成される共通の DirectX コードを使用している。このコードは DirectX SDK のほかのサンプルと共有されている。共通のヘッダーおよびソース コードは、(SDK ルート)\Samples\Multimedia\Common にある。