-1

Android アプリで 3D ピッキングを実装しようとしています。私は OpenGL ES2.0 を使用しています。

今度は深度バッファ (FBO に書き込まれます) を読みたいのですが、glReadPixels は 0 しか返しません。RenderInTexture 関数を呼び出した後に同じコードを試したところ、正しい値が返されたため、コードは正しいです。OnPick 関数で RenderInTexture を呼び出し、glReadPixels を呼び出すと、0 が返されます。

何が問題ですか?OnPick イベントでフレームバッファを読み取ることはできませんか、それともいくつかの変数を設定する必要がありますか?

手伝ってくれてありがとう。

4

1 に答える 1

0

OnPickはメイン(UI)スレッドで呼び出されますか?おそらく、openglレンダリングスレッドとイベントが送信されるメインアプリケーションスレッドの2つのスレッドがあります。OnPickメソッドにonpick座標を保存してみて、openglスレッドで計算を行ってください。

お役に立てば幸いです。

于 2012-12-18T09:59:06.837 に答える