图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,代码写的不好,请大家见谅。