0

Android用のカバーフロービューを作成中ですが、ビューのクリックを処理するときに少し障害が発生しています。クリックの下にある正方形を特定できません。どの正方形がクリックされたかを判断するために、クリック イベントからの (X,Y) データが取得され、opengl ビュー スペースに変換されます。これを正方形に配置するときに問題が発生します。転置、回転、および比較はすべて Java で実行できますが、ビューをレンダリングするときにこれらすべての操作が行われるため、これは非常に無駄に思えます。

だから、私の質問は次のとおりです。opengl レンダリング プロセス中に 2D ビュー マップ オブジェクト座標を抽出するにはどうすればよいですか?

opengl のモデルと射影行列に実際に何が含まれているかを理解しようとして、頭が少しひねりましたが、行列の数値が実際に何を意味するかについての仕様を見つけることができないようです。

ありがとう!

4

2 に答える 2

2

オブジェクトとウィンドウ空間の間の変換にgluUnProject()andを使用して、数学を節約できます。gluProject()ドキュメントはこちらこちらです。

于 2012-07-02T20:12:25.253 に答える
1

シーン内のすべてのプリミティブが異なる色でレンダリングされる 1 つのフレームのレンダリングを含む別の手法があります。次に、タッチ イベントでピクセルの色をテストできます。ビューポートを縮小してタッチの周りの小さな領域だけにし、それをテクスチャにレンダリングしてユーザーに見えないようにするなど、この手法で遊ぶことができるトリックがあります。

于 2012-07-02T20:26:11.613 に答える