Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 片段着色器渲染到屏幕外帧缓冲区_Opengl_Shader_Framebuffer - Fatal编程技术网

Opengl 片段着色器渲染到屏幕外帧缓冲区

Opengl 片段着色器渲染到屏幕外帧缓冲区,opengl,shader,framebuffer,Opengl,Shader,Framebuffer,在基于Qt的应用程序中,我希望在两个纹理(均为1000x1000像素)上执行片段着色器 我画了一个矩形,片段着色器工作得很好 但是,现在我想将输出渲染到GL\u AUX0帧缓冲区中,让结果读回并保存到文件中 不幸的是,如果窗口大小小于1000x1000像素,则输出不正确。仅窗口大小区域渲染到帧缓冲区上 如何为整个纹理执行帧缓冲区?建议使用帧缓冲区对象(FBO)进行屏幕外处理。这些缓冲区的作用类似于已知的渲染缓冲区,但不受窗口分辨率或颜色深度的约束。可以使用隐藏低级OpenGL命令并立即使用FBO

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

我画了一个矩形,片段着色器工作得很好

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

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


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

建议使用帧缓冲区对象(FBO)进行屏幕外处理。这些缓冲区的作用类似于已知的渲染缓冲区,但不受窗口分辨率或颜色深度的约束。可以使用隐藏低级OpenGL命令并立即使用FBO。如果您更喜欢自己做这件事,请看一下