Microsoft DirectX 8.0 (C++) |
PointSprites サンプルでは、Microsoft® Direct3D® の新しいポイント スプライト機能の使い方を示す。ポイント スプライトとは、(x,y,z) 位置座標によってのみ参照される前向きの、テクスチャ処理された四角形である。ポイント スプライトは、粒子システムおよび関連エフェクトでよく使用される。
ポイント スプライトの一部の機能しかサポートしていないカードもある。ポイント スプライトの詳細については、Microsoft DirectX® SDK のマニュアルを参照すること。
ソース :(SDK ルート)\Samples\Multimedia\Direct3D\PointSprites
実行可能ファイル :(SDK ルート)\Samples\Multimedia\Direct3D\Bin
次の表は実装されているキーを示している。メニュー コマンドを使って同じ操作を行うことができる。
キー | アクション |
---|---|
Enter | シーンを開始および停止する。 |
Space | シーンを少しずつ進める。 |
W、S | 前後に移動する。 |
E、Q | 左右に移動する。 |
A、Z | 上下に回転する。 |
矢印キー | 上下左右にスライドする。 |
F1 | ヘルプまたは使用可能なコマンドを表示する。 |
F2 | 新しいレンダリング デバイスまたはディスプレイ モードを選択するようユーザーに指示する。 |
F3 | エミッタをアニメーションする。 |
F4 | 色を変更する。 |
Alt + Enter | フルスクリーン モードとウィンドウ モードを切り替える。 |
Esc | アプリケーションを終了する。 |
Direct3D サポートを使用しない場合は、ポイント スプライトは各フレームをビルボードと同様に視点の方に向ける 4 つの頂点を使って実装できる。Direct3D を使用する場合は、ポイント スプライトの中心位置と半径によって、各ポイント スプライトを参照できる。これによって、プロセッサの計算時間と、頂点情報をグラフィックス カードにアップロードするための帯域幅を節約できる。
このサンプルでは、各パーティクルは、複数のアルファ ブレンディングされたポイント スプライトを使用し、パーティクルにモーション ブラー エフェクトを与えて実現されている。
このサンプルでは、ヘルパー関数などのプログラミング要素から構成される共通の DirectX コードを使用している。このコードは DirectX SDK のほかのサンプルと共有されている。共通のヘッダーおよびソース コードは、(SDK ルート)\Samples\Multimedia\Common にある。