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
C++ openGL 4.3中无累积缓冲区的累积渲染_C++_Opengl - Fatal编程技术网

C++ openGL 4.3中无累积缓冲区的累积渲染

C++ openGL 4.3中无累积缓冲区的累积渲染,c++,opengl,C++,Opengl,我正在使用GLSL使用非常简单的路径跟踪器渲染场景。我使用路径跟踪中的一些信息在屏幕空间中创建了一个地图。在第一帧中,贴图看起来非常嘈杂,因为大部分为0,但在下一帧中,我更改了采样,希望新贴图与前一帧平均 我知道有积累缓冲区,但它已被弃用,我认为这将是一个如此简单的功能成本高昂的解决方案 在我的着色器中,我当前渲染贴图和最终图像,并显示第二个。在下一帧中,我想使用“计算新贴图”并将其与上一帧累积,以便渲染此新帧。理想情况下,我想积累5个后续帧 我希望我把问题说得足够清楚。我不想计算着色器中的采样

我正在使用GLSL使用非常简单的路径跟踪器渲染场景。我使用路径跟踪中的一些信息在屏幕空间中创建了一个地图。在第一帧中,贴图看起来非常嘈杂,因为大部分为0,但在下一帧中,我更改了采样,希望新贴图与前一帧平均

我知道有积累缓冲区,但它已被弃用,我认为这将是一个如此简单的功能成本高昂的解决方案

在我的着色器中,我当前渲染贴图和最终图像,并显示第二个。在下一帧中,我想使用“计算新贴图”并将其与上一帧累积,以便渲染此新帧。理想情况下,我想积累5个后续帧


我希望我把问题说得足够清楚。我不想计算着色器中的采样和累积,因为我希望程序仍然是交互式的,即使有噪声。

是什么使计算着色器中的平均值变得非交互式?如果我使用累积,我仍然可以显示有噪声的帧,如果我在着色器中执行所有操作,我必须执行相当于5次渲染的操作,然后显示帧。与使用渲染到纹理的方法进行累积相比,可以获得相同的结果。这就是驱动程序在为您模拟累积缓冲区存在时可能会做的事情。这就是我认为的,问题是我必须使用imageStore,因为同一着色器已经在编写帧缓冲区这是一个类似问题的答案,绘制如何使用FBO代替旧式累积缓冲区:。