我有一个来自gl.readPixels()调用的像素数组。我可以把这些像素放回绘图缓冲区或帧缓冲区吗?也就是说,我想调用像gl.drawPixels这样的东西,但是在WebGL应用程序接口中没有。我是要使用纹理并将其渲染为平面,还是我遗漏了什么?
发布于 2012-12-13 10:18:14
看看这个简短的帖子:http://www.opengl.org/discussion_boards/showthread.php/168346-Best-Substitute-for-glDrawPixels-Under-OpenGL-ES
金皮书告诉你的是正确的。上传纹理的最快方法是写入绑定到FBO的纹理。但你需要做的是生成你的像素作为几何体(尽可能优化),然后使用正交矩阵,GL_POINTS和glDrawArrays将它们绘制到FBO。
最优的解决方案(WebGL是GL-ES的一个分支)有点奇怪,但在浏览器中是有意义的,因为你不希望人们直接干扰内存。让应用程序和驱动程序来解决这个问题,代价是GL代码中一些类似巫毒的结构。
https://stackoverflow.com/questions/13837840
复制相似问题