Dolphin VS サンプル
Dolphin VS サンプル
説明
Dolphin VS サンプルでは、イルカと海底にコースティック エフェクトを適用した、イルカが泳ぐ水中のシーンを示す。イルカはトゥイーニングと呼ばれる手法を使ってアニメーションされる。水中のエフェクトにはフォグを使用し、ウォーター コースティクスにはアニメーションした一連のテクスチャを使用している。これらのエフェクトは、頂点シェーダを使って実現されている。
パス
ソース ファイル : (SDK ルート)\Samples\C++\Direct3D\DolphinVS
実行可能ファイル : (SDK ルート)\Samples\C++\Direct3D\Bin
ユーザーズ ガイド
次の表は、実装されているキーを示している。メニュー コマンドを使って同じ操作を行うことができる。
キー | 動作 |
---|---|
Enter | シーンを開始および停止する。 |
Space キー | シーンを少しずつ進める。 |
F2 | 新しいレンダリング デバイスまたはディスプレイ モードを選択するようユーザーに指示する。 |
Alt+Enter | フルスクリーン モードとウィンドウ モードを切り替える。 |
Esc | アプリケーションを終了する。 |
プログラミング上の注意
このサンプルでは、複数の処理が行われている。
- 2 つの頂点シェーダが使用されている。1 つはイルカに、もう 1 つは海底に使用されている。頂点シェーダは、DolphinTween.vsh と SeaFloor.vsh の 2 つのファイルからアセンブルされるアセンブリ命令である。
- イルカにはトゥイーニング (モーフィングの一種) を適用する。これを行うために、複数の頂点ストリームで 3 種類のイルカを渡す。頂点シェーダは、各メッシュの重み付けされた座標位置を使って、出力位置を生成する。次に、頂点をライティングし、テクスチャ座標を計算し、フォグを追加する。
- 海底も同様に処理されるが、トゥイーニングの必要はない。コースティク エフェクトは、32 の一連のテクスチャをアニメーションして、別のアルファ ブレンディング パスで追加する。コースティクスのテクスチャ座標は頂点シェーダで生成され、TEXCOORDINDEX ステージ 1 として保存される。
このサンプルでは、ヘルパー関数などのプログラミング要素から構成される共通の Microsoft® DirectX® コードを使っている。このコードは DirectX ソフトウェア開発キット (SDK) の他のサンプルと共有されている。サンプル フレームワークのヘッダーは (SDK ルート)\Samples\C++\Common\Include、ソース コードは (SDK ルート)\Samples\C++\Common\Src にある。