【发布时间】:2015-01-14 19:33:40
【问题描述】:
我正在实现 GLSL 拾取,它依赖于 readPixels() 来获取单个像素数据。
我的第一次尝试是简单地在屏幕上绘制颜色图(1x1 像素),读取像素,然后在其上绘制。 可悲的是,这导致 fps 从稳定的 60 下降到 30-40。
经过一番谷歌搜索,我发现问题是由 CPU 和 GPU 之间的同步引起的。所以我尝试在屏幕外缓冲区中进行渲染,如此处所述 http://coffeesmudge.blogspot.com/2013/08/implementing-picking-in-webgl.html
但它似乎并没有改变任何东西 - 我仍然在使用缓冲区时从缓冲区中读取(它必须处于活动状态才能 readPixels 工作)。
所以我的问题 - 我可以在屏幕外缓冲区不使用时以某种方式读取它吗?
【问题讨论】:
标签: webgl