Microsoft DirectX 8.0 (Visual Basic)

Billboard サンプル

説明

Billboard サンプルでは、ビルボーディングの手法を示している。複雑な 3D モデル (ポリゴン数の多い木のモデルなど) をレンダリングする代わりに、モデルの 2D イメージをレンダリングし、常に視点に向くように回転させる。この手法は、木、雲、煙、爆発などをレンダリングするために、一般的に使用される。詳細については、「ビルボーディング」を参照すること。

Billboard サンプルでは、カメラは木で覆われた丘の 3D シーンを飛行する。これらの木は 3D オブジェクトのように見えるが、実際は 2D ビルボード化されたイメージであり、視点に向かって回転する。丘の地形およびスカイボックス (空のテクスチャを含む立方体) は、.x ファイルからロードされるオブジェクトである。これらは視覚効果のために使用され、ビルボーディング手法とは無関係である。

パス

ソース :(SDK ルート)\Samples\Multimedia\VBSamples\Direct3D\Billboard

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

ユーザーズ ガイド

次の表は実装されているキーを示している。

キー 動作
F2 新しいレンダリング デバイスまたはディスプレイ モードの選択を求めるメッセージを表示する。
Alt + Enter フルスクリーン モードとウィンドウ モードを切り替える。
Esc アプリケーションを終了する。

プログラミング上の注意

このサンプルでは、ビルボーディング手法に重点を置いている。カメラは各フレームで移動するので、それに従って視点も変化する。視点が変化すると、ビルボードが新しい視点の方を向くように、y 軸に沿ってビルボードを回転させる回転行列が生成される。ビルボード行列の計算は FrameMove 関数で行われる。通常ビルボードには透明なピクセルが含まれているので、必要に応じて適切なアルファ ブレンディングを行うために、木もこの関数によって分類される。木は、DrawTrees 関数によって頂点バッファからレンダリングされる。

このサンプルのビルボードは、y 軸に沿ってのみ回転するように制限されている。このようにしないと、木の幹が地面に固定されているように見えない。3D フライト シミュレータやスペース シューティング ゲームの爆発などの効果では、ビルボードは通常 1 つの軸に制約されない。

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