【发布时间】:2011-02-10 09:00:43
【问题描述】:
我正在为我正在为 android 编写的 OpenGL 游戏实现拾取。它使用“唯一颜色”方法将每个可触摸对象绘制为每个对象唯一的纯色。然后,用户输入在触摸位置读取 glReadPixels()。我已经完成了着色工作,并且 glReadPixels 工作了,但是我无法将“颜色”渲染与主要的实际渲染分开,这使得 glReadPixels 的使用变得复杂。
据说处理这个问题的技巧是将第二个场景(用于输入)渲染到屏幕外缓冲区,但这似乎有点问题。我已经研究过使用 OpenGL ES1.1 FBO 作为屏幕外缓冲区,但我的手机(Samsung Galaxy S Vibrant (2.2))似乎不支持 FBO。我不知道如何在没有用户看到的情况下正确渲染这个场景(并在上面运行 glReadPixels)。
有什么想法可以完成这种离屏渲染吗?
【问题讨论】: