OpenGL中绘制每帧新的全屏图像最快的方法是什么?

6
每一帧,我的程序会从USB视频摄像头接收一张新的图像。这个图像最初会在CPU内存中。在OpenGL中,将这个图像绘制到屏幕上以填满整个屏幕的最快方法是什么?
目前,我正在将图像数据上传到纹理中,然后渲染全屏四边形。但是,在我尝试的另一台机器上,这并不运行得很快。
2个回答

7
目前,我正在将图像数据上传到纹理中,然后渲染全屏四边形。但是,在另一台机器上运行时速度很慢。有什么建议吗?谢谢。
使用glTexSubImage2D可以更快地替换纹理图像(这意味着分配、对象设置等完整的纹理初始化不会被执行)。如果你想异步执行此操作,请查看Pixel Buffer Objects。

2

Blitting是一种可能的解决方案,此网页讨论了该方法。尽管它们没有给出很好的评价。


glDrawPixels和OpenGL-3核心中的大多数其他光栅操作已被弃用。 - datenwolf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接