一种基于glsl的高效Hexagon Bokeh实现方式
关于Hexagon Bokeh
找到这篇博文的应该已经知道Hexagon Bokeh是什么的。不过为了完整性,这里还是简单介绍下。
Bokeh是个源于日语的词,意思是焦外成像。指的是摄像机在拍摄画面时,超出焦距范围的部分会出现虚化的现象。这种散焦会导致焦距外的画面中,亮度比较高的区域进行模糊扩散,其中模糊扩散的形状是由镜头光圈的形状决定的。而Hexagon是六边形的意思,Hexagon Bokeh也就是指六边形的摄像机光圈焦散模糊的效果。
实现方式讲解
本文所描述的实现方式并非原创,早期想法来自于SIGGRAPH 2011中寒霜引擎的工作人员的技术分享,可以点击这里下载当时演讲的pdf.
Colin Barré-Brisebois在他的一篇博文中对这种方法也有精彩的讲解。
我在这篇博文中主要是讲解我在试图利用这种方式来实现Hexagon Bokeh效果,并使之尽量接近After Effects中的官方Camera Lens Blur插件的效果时遇到的问题和相应的解决办法。