ShadowGun之Shader分析

本文详细分析了ShadowGun游戏中Shader的优化策略,包括不使用动态光照计算、利用顶点颜色传递数据、减少光照计算等,以提高性能。通过各种定制的Shader,如角色的BRDFLit Shader、场景的高光算法、特效的光晕效果,以及针对不同场景的特定解决方案,实现了在移动端的良好视觉效果和高效运行。
摘要由CSDN通过智能技术生成

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中计算出视点方向)

这些选项的设

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值