图1 用glow11场景做的god ray

图2

去年看到无尽之剑中的godray效果就想自己模拟一下

其实原理很简单。

1.渲染场景

2.只渲染需要godray的部分

3.进行第一次过滤

4.进行第二次过滤

5.再过滤

6........

7.然后可原图进行alpha addictive,大功告成。

这真的是一个很消耗效率的过程。

发现这个效果只有在iphone5,ipad3以上的机器才大规模使用。

其实Unity也可以有同样的效果,主要依靠SetReplacementShader来替换原来的shader显示出想要效果的光芒。

无尽之剑对其做了优化,主要是把一些ps的操作放到了vs里,所有我这里也有两个版本。GodRayOptimize和GodRay,优化和没有优化的版本。

大家看了我的代码就应该理解了,不知道unity有没有自带的方法。因为是demo,代码写的不好,请大家见谅。