glReadPixel在OnPick函数中不起作用

时间:2012-12-17 19:47:07

标签: java android opengl-es-2.0

我尝试在Android应用中实现3D拾取。我使用的是OpenGL ES2.0。

现在我想读取深度缓冲区(在FBO中写入)但glReadPixels只返回0。 代码是正确的,因为我在调用RenderInTexture函数后尝试了相同的代码并返回正确的值。 在OnPick函数中调用RenderInTexture而不是调用glReadPixels也返回0。

有什么问题? 是不是可以在OnPick事件中读取帧缓冲区,还是必须设置一些变量?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

是否在主(UI)线程上调用了OnPick?可能你有两个线程,opengl渲染线程和发送事件的主应用程序线程。尝试在onPick方法中存储onpick坐标,并在opengl线程中进行计算。

希望有所帮助。