Microsoft DirectX 8.0 (C++) |
VertexBlend サンプルでは、頂点ブレンディングと呼ばれる手法 (サーフェス スキニングとも呼ばれる) を示す。このサンプルでは、さまざまなスポットで曲がるように作成されたファイル ベースのオブジェクトを表示する。
頂点ブレンディングは、なめらかな結合部や、キャラクタ アニメーションでの肉付けけなどのエフェクトを作成するために使用される。
頂点ブレンディングの一部の機能しかサポートしていないカードもある。頂点ブレンディングの詳細については、Microsoft® DirectX® SDK のマニュアルを参照すること。
ソース :(SDK ルート)\Samples\Multimedia\Direct3D\VertexBlend
実行可能ファイル :(SDK ルート)\Samples\Multimedia\Direct3D\Bin
次の表は実装されているキーを示している。メニュー コマンドを使って同じ操作を行うことができる。
キー | アクション |
---|---|
Enter | シーンを開始および停止する。 |
Space | シーンを少しずつ進める。 |
F2 | 新しいレンダリング デバイスまたはディスプレイ モードを選択するようユーザーに指示する。 |
Alt + Enter | フルスクリーン モードとウィンドウ モードを切り替える。 |
Esc | アプリケーションを終了する。 |
Ctrl-V | カスタム頂点シェーダと Direct3D 頂点ブレンディングを切り替える。 |
頂点ブレンディングでは、各頂点にブレンドの重みを関連付ける必要がある。複数のワールド トランスフォームが SetTransformState を使って設定され、ブレンドの重みによって、各頂点を配置するときに各ワールド行列にどの程度影響するかを決定する。
このサンプルでは、共通ヘルパー コードを使ってメッシュがロードされる。独自の頂点および独自の FVF がどのように宣言され、メッシュの構築に使用されているかに注意すること。メッシュ オブジェクトについては、SetFVF の呼び出しを参照すること。メッシュ ヘルパー コードを使用しない場合も、この手法は同じである。ブレンドの重みを持つ頂点を格納する頂点バッファを作成し、適切な FVF を使用する。
このサンプルでは、ヘルパー関数などのプログラミング要素から構成される共通の DirectX コードを使用している。このコードは DirectX SDK のほかのサンプルと共有されている。共通のヘッダーおよびソース コードは、(SDK ルート)\Samples\Multimedia\Common にある。