OpenCL中的景深

OpenCL中的景深,opencl,Opencl,这可能是一个“家庭作业”问题,但我想我已经做得够多了,所以我可以在这里得到帮助 在我的作业中,我们有一个工作的OpenGL/OpenCL应用程序。OpenGL应用程序渲染场景,OpenCL应应用景深效果。OpenCL部件获取纹理,其中每个像素都有原始颜色和深度,并且应该输出给定像素的颜色。我应该只更改每像素函数,这是OpenCL的一部分 我已经有了使用可变大小高斯滤波器的工作解决方案,即对计算像素周围的区域进行采样。但即使在我专用的NVidia图形卡上,它在更高的分辨率上也会变得滞后。我尝试优化

这可能是一个“家庭作业”问题,但我想我已经做得够多了,所以我可以在这里得到帮助

在我的作业中,我们有一个工作的OpenGL/OpenCL应用程序。OpenGL应用程序渲染场景,OpenCL应应用景深效果。OpenCL部件获取纹理,其中每个像素都有原始颜色和深度,并且应该输出给定像素的颜色。我应该只更改每像素函数,这是OpenCL的一部分

我已经有了使用可变大小高斯滤波器的工作解决方案,即对计算像素周围的区域进行采样。但即使在我专用的NVidia图形卡上,它在更高的分辨率上也会变得滞后。我尝试优化了大多数冗余操作,但没有获得多少性能提升

我也尝试过搜索网页,但我发现的所有算法都与OpenGL或DirectX的图形管道密切相关,没有什么可以在我的场景中使用


有什么算法可以在我的情况下工作吗?

AMD应用程序SDK有一个名为URNGGL(具有OpenGL/OpenCL互操作性的统一随机噪声发生器)的示例。

看看。

什么样的OpenCL应用程序?更具体地说,每像素代码的作用是什么?@delnan请参见编辑。我应该填写每像素代码实现自由度效果的功能。你是否已经利用了高斯模糊的可分离性(因此将二维卷积作为两个一维卷积)?如果你这样做了,但速度仍然很慢:你真的需要一个完美的高斯模糊来完成你的任务吗,还是一个质量稍低的模糊也可以接受?