0

在基于 Qt 的应用程序中,我想在两个纹理(均为 1000x1000 像素)上执行片段着色器。

我画了一个矩形,片段着色器工作正常。

但是,现在我想将输出渲染到GL_AUX0帧缓冲区中,让结果读回并保存到文件中。

不幸的是,如果窗口大小小于 1000x1000 像素,则输出不正确。仅将窗口大小区域渲染到帧缓冲区上。

如何为整个纹理执行帧缓冲区?

4

1 回答 1

1

进行离屏处理的推荐方法是使用帧缓冲对象 (FBO)。这些缓冲区的作用类似于您已经知道的渲染缓冲区,但不受窗口分辨率或颜色深度的限制。您可以使用GPGPU 帧缓冲区对象类来隐藏低级 OpenGL 命令并立即使用 FBO。如果您更喜欢自己执行此操作,请查看扩展规范

于 2009-09-27T17:12:01.550 回答