我可以想到两种情况,在单个图像上会连续执行多个模糊。
首先,在执行大半径模糊时,如果先对图像进行下采样(这是模糊),然后对下采样的图像执行较小半径的模糊,则可能会减少总计算量。例如,对图像进行4倍下采样,然后对结果执行10px宽的高斯模糊,将近似对原始图像执行40px宽的高斯模糊,但是由于采样的局部性提高且采样减少,因此可能会明显更快总体。
最初的降采样滤波器通常只是一个盒子(如上所示),但它本身也可以是更复杂的东西,例如三角形或双三次滤波器,以提高近似度。
这是Mitchell-Netravali(三次)下采样,后跟高斯。有趣的是,事实证明,如果您的目标是使用高斯来产生更大的高斯,那么对初始下采样使用的高斯并不会产生太大的近似值。
出于类似的原因,在实现像景深和运动模糊之类的视觉效果时,也经常使用初始下采样步骤。
执行多个高斯模糊的第二个原因是通过在不同半径的各种高斯之间进行混合来近似不可分离的滤波器。例如,这通常用于盛开。标准的bloom效果通过首先阈值提取图像中的明亮物体,然后创建明亮物体的几个模糊副本(通常使用刚才讨论的下采样-然后-模糊技术),最后对它们进行加权和求和来起作用。这使艺术家可以更好地控制花朵的最终形状和外观。
例如,此处是三个高斯曲线(红线)的加权总和,产生的形状比单个高斯曲线(蓝线)的峰和尾部更窄。这是用于盛开的一种流行配置,因为窄而明亮的中心与宽而弥漫的光环的结合在视觉上很有吸引力。但是,由于这种滤镜形状不可分离,因此由高斯混合而成比直接滤镜要便宜。
这个想法的另一个变体是与用于皮肤渲染的次表面散射一起使用的扩散轮廓的概念。可以将不同的模糊半径用于红色,绿色和蓝色通道,以近似估计不同波长的光的散射方式,例如Eugene d'Eon和Dave Luebke撰写的GPU Gems 3皮肤着色章节中所述。实际上,该论文使用了七个不同的高斯混合体,分别具有不同的R,G和B权重,以近似人体皮肤复杂的,不可分离的,依赖于波长的散射响应。