阴影贴图上的高斯模糊(FBO/纹理)
Posted
技术标签:
【中文标题】阴影贴图上的高斯模糊(FBO/纹理)【英文标题】:Gaussian blur on shadow map (FBO/texture) 【发布时间】:2017-05-08 11:43:16 【问题描述】:我已按照here 提供的教程创建阴影贴图。
我想做的是对阴影进行某种后处理步骤,在阴影贴图上应用高斯模糊(或任何模糊)。了解我严格遵循本教程,并且在涉及 OpenGL 时我非常缺乏经验。我不知道它是否应该应用于 depthMapFBO 或 depthMap 本身。或者,如果我需要创建新的 FBO/纹理。
用这种方式甚至可以模糊深度值吗?你会如何模糊阴影贴图?
请注意,我对真实感不感兴趣,我只想对所有阴影进行统一的模糊处理。
【问题讨论】:
【参考方案1】:模糊阴影深度纹理没有意义。
深度纹理包含深度值。例如,0.5 的值意味着什么。它指定纹素的深度。对于阴影贴图,它意味着更具体的东西:它指定场景中特定位置与遮挡表面的光的最近距离。
如果一个位置的最近距离是 0.5,那么用 0.6 的距离“模糊”这个是什么意思?这实际上意味着您更改了物体到灯光的距离。但由于这不会反映在实际几何体中,这意味着模糊阴影贴图不再准确地表示几何体。所以现在,会有一些应该被阴影而不是阴影的位置,以及被阴影但不应该被阴影的位置。
简而言之,它会让你的深度纹理毫无意义。
您似乎想要的是更柔和的阴影。有一些方法可以使用阴影贴图来实现,但模糊深度纹理不是其中之一。
【讨论】:
以上是关于阴影贴图上的高斯模糊(FBO/纹理)的主要内容,如果未能解决你的问题,请参考以下文章