1

OpenGL でピッキングを実行しようとしていますが、1 つで 3 つの質問があります。

  1. Unproject コマンドを 2 回使用します。1 回は 0 で、もう 1 回は 1 でニア/エンド プレーンとして使用します。ある記事では 0 と 1 は問題ないと言っていますが、別の記事では計算された深さを使用する必要があると言っています。どれを取ればいいですか?

  2. 次に、両方の結果を差し引くことができると仮定すると、光線が得られます (光線は「カメラ」から x、y、z として示される方向に向かっていますよね? x、y、z は絶対値または私の "カメラ」?

  3. 光線ができたので、どうすればそれを形状と交差させることができますか? ところで、既存の形状を一覧表示し、それらの座標と光線を計算するにはどうすればよいですか?

4

1 に答える 1

2

2 - レイはカメラに対して相対的になります。逆カメラ変換を掛けるだけです。

3 - ほぼすべての目的のために、空間細分割アルゴリズム (バイナリ スペース パーティション、バウンディング ボリューム階層など) が必要です。また、作成した形状のリストを維持する必要があります...

于 2011-07-27T07:00:44.070 に答える