【发布时间】:2012-12-12 10:37:23
【问题描述】:
我有一个来自 gl.readPixels() 调用的像素数组。我可以将这些像素放回绘图缓冲区或帧缓冲区吗?即我想调用 gl.drawPixels 之类的东西,但 WebGL API 中没有。我是要使用纹理并将其渲染成平面,还是我遗漏了什么?
【问题讨论】:
标签: webgl gldrawpixels
我有一个来自 gl.readPixels() 调用的像素数组。我可以将这些像素放回绘图缓冲区或帧缓冲区吗?即我想调用 gl.drawPixels 之类的东西,但 WebGL API 中没有。我是要使用纹理并将其渲染成平面,还是我遗漏了什么?
【问题讨论】:
标签: webgl gldrawpixels
金书告诉你的是正确的。最快的方法 上传纹理是写入绑定到 FBO 的纹理。但是你什么 需要做的是将像素生成为几何图形(优化为 可能),然后使用 Orth 矩阵将它们绘制到 FBO, GL_POINTS 和 glDrawArrays。
最佳解决方案(WebGL 是 GL-ES 的一个分支)有点奇怪,但有一定道理,因为在浏览器中您不希望人们直接弄乱内存。让应用程序和驱动程序解决它,代价是 GL 代码中的一些类似巫术的结构。
【讨论】: