高品质后处理渲染技术分享:十种图像模糊算法的总结与实现(11)


文章图片


完整的Runtime + Shader实现可见:

https://github.com/QianMo/X-PostProcessing-Library/tree/master/Assets/X-PostProcessing/Effects/TiltShiftBlurV2


这里也有了另一个版本的实现:

https://github.com/QianMo/X-PostProcessing-Library/tree/master/Assets/X-PostProcessing/Effects/TiltShiftBlur


对模糊半径(Blur Radius)参数的调节 , 可以用于控制移轴Bokeh半径的变化:

高品质后处理渲染技术分享:十种图像模糊算法的总结与实现
文章图片


在一定的区域平滑度(Area Smooth)设置下 , 调节区域尺寸(Area Size)可以控制移轴模糊区域的变化:

高品质后处理渲染技术分享:十种图像模糊算法的总结与实现
文章图片


七、光圈模糊(Iris Blur)


光圈模糊(Iris Blur)是Photoshop CS6中新增的功能 , 用于模拟浅景深的效果 。

可以根据用户不同的输入参数 , 将普通照片模拟出景深以及散景的效果 。 (PS: Photoshop中也同样有Tilf-Shift Blur功能)

高品质后处理渲染技术分享:十种图像模糊算法的总结与实现
文章图片

图 Photoshop中的光圈模糊(Iris Blur)功能


高品质后处理渲染技术分享:十种图像模糊算法的总结与实现
文章图片

图 Photoshop中的光圈模糊(Iris Blur)功能


在后处理渲染中进行光圈模糊的模拟 , 可以采用一个径向的Grident uv算法沿轴心控制画面区域模糊强度 , 并配合全屏模糊算法的方式来实现 。

采用径向Grident uv算法控制画面区域模糊强度的Shader核心实现如下:

float IrisMask(float2 uv)
{
float2 center = uv * 2.0 - 1.0 + _Offset; // [0,1] -> [-1,1]
return dot(center, center) * _AreaSize;
}


得到的屏幕模糊强度的mask图如下:

高品质后处理渲染技术分享:十种图像模糊算法的总结与实现
文章图片


同样 , 配合合适的全屏图像模糊算法 , 如Bokeh Blur , 便可以营造出移轴摄影的画面感:

高品质后处理渲染技术分享:十种图像模糊算法的总结与实现
文章图片


光圈模糊(Iris Blur)完整的Runtime + Shader实现可见:

https://github.com/QianMo/X-PostProcessing-Library/tree/master/Assets/X-PostProcessing/Effects/IrisBlurV2


推荐阅读