MadFinger在Unity上的Blog:
http://blogs.unity3d.com/2012/03/23/shadowgun-optimizing-for-mobile-sample-level/
官方提供的场景中一共有20个shader,有如下特点:
1. 不使用任何动态的光照计算,而是在光照图的基础上加入效果;
2. 一些原本需要在pixel shader中实时计算的效果,要放在vetexshader中运算,并且复杂运算尽量采用纹理查询的方式;
3. 擅用顶点颜色:一方面可以携带一些计算需要的数据(比如柔体计算的权重),另外也可以放入顶点alpha值之类。
4. 要使用尽量多的shader加速指令(如ARB_precision_hint_fastest)
角色
位置:Mobile/BRDFLit(Supports Backlight,Shadowgun style Light Probes)
类型:surface shader
光照模型:自定义(PseudoBRDF)
编译选项:#pragma surface surf PseudoBRDF exclude_path:prepassvertex:separateSH nolightmap noforwardadd noambient approxview
(不为延迟管线生成pass;使用顶点修正函数;不使用光照图;只支持一个方向光的像素运算;不使用环境光和light prob运算;在顶点shader中计算出视点方向)
这些选项的设