0

我有一个来自 gl.readPixels() 调用的像素数组。我可以将这些像素放回绘图缓冲区或帧缓冲区吗?即我想调用类似gl.drawPixels 的东西,但WebGL API 中没有。我是要使用纹理并将其渲染成平面,还是我错过了什么?

4

1 回答 1

0

看看这个短线程:http ://www.opengl.org/discussion_boards/showthread.php/168346-Best-Substitute-for-glDrawPixels-Under-OpenGL-ES

金书告诉你的是正确的。上传纹理的最快方法是写入绑定到 FBO 的纹理。但是您需要做的是将像素生成为几何图形(尽可能优化),然后使用 Orth 矩阵、GL_POINTS 和 glDrawArrays 将它们绘制到 FBO。

最佳解决方案(WebGL 是 GL-ES 的一个分支)有点奇怪,但有一定意义,因为在浏览器中您不希望人们直接弄乱内存。让应用程序和驱动程序解决它,代价是 GL 代码中的一些类似巫术的结构。

于 2012-12-13T02:18:13.510 回答