Microsoft DirectX 8.0 (C++)

Pick サンプル

説明

Pick サンプルでは、ピッキングを実装する方法を示す。ピッキングとは、メッシュ内のどの三角形がレイに当たるかを見つけることである。ここでは、レイはマウス座標で指定する。

パス

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

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

ユーザーズ ガイド

次の表は実装されているキーを示している。メニュー コマンドを使って同じ操作を行うことができる。

キー アクション
Enter シーンを開始および停止する。
Space シーンを少しずつ進める。
F2 新しいレンダリング デバイスまたはディスプレイ モードを選択するようユーザーに指示する。
Alt + Enter フルスクリーン モードとウィンドウ モードを切り替える。
Esc アプリケーションを終了する。

マウスを使ってメッシュ内の任意のスポットをピックすると、その三角形が表示される。

プログラミング上の注意

マウスをクリックすると、カーソルのスクリーン座標が読み取られる。これらの座標は、射影行列およびビュー行列によって変換されて、視点からスクリーン上のクリックした位置を通ってシーンに達するレイに変わる。このレイは、ロードされたモデルの各三角形と共に IntersectTriangle に渡され、どの三角形がレイに当たるかが決定される。当たる三角形のテクスチャ座標も決定される。

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