2012-05-03 16 views
0

3Dでオブジェクトを表示するアプリケーションがあります。今私は自分のアプリケーションを改善したい。もし私がaillageのエリアをダブルクリックすると、このエリアを細分するために、このエリアに存在する逮捕されたサーフェイスとサーフェイスを取得したいと考えています。それらを受け取ることは可能ですか?ありがとう。マウスで選択した3Dメッシュのサーフェスを検出する

+0

このOpenGL、またはあなたが使っているlibはありますか? – Rolle

+0

私はこの部分を理解していません "私のaillageの領域をクリックして、私はそれらを逮捕したい" – SigTerm

答えて

0

ビューポートのクリックをワールド空間のレイに変換します。

次に、光線を使ってシーンを照会し、交差しているオブジェクトを見つけます(シーンのオクトツリーがある場合は、軸に沿った境界ボックスの検索に基づいています)。

三角形を検出する必要がある場合は、シーンクエリーで検出されたオブジェクトのすべての三角形に対してレイをテストします。必要に応じて、オブジェクトのメッシュのオクトツリーを構築することで、このステップを最適化することができます。レイ原点に最も近いものがヒットポイントです。

オブジェクトごとに、レイを独自のローカル座標系に変換できます。

関連する問題