如何在GPU中将纹理从GPU内存复制到CPU?我在运行时使用texSubImage2D更新纹理。
我想避免:
还有其他办法吗?
已经读过这些(对于在执行期间未更新的纹理非常有用):
答案 0 :(得分:4)
除了将纹理附加到FBO并执行readPixels之外别无他法。
答案 1 :(得分:1)
readPixels或(因为readPixels往往有点慢)你可以在画布大小的四边形上渲染它。
用
var img = canvas.toDataURL("image/png");
纹理将在img变量中。要做到这一点,你需要为你做准备 gl有这样的东西
gl = canvas.getContext("experimental-webgl", {preserveDrawingBuffer: true});