您的位置:首页 > 移动开发 > Unity3D

Unity渲染路径比较

2016-04-05 17:32 351 查看
1 前向渲染
最常用的渲染路径。首先基础场景渲染非透明物体,然后每个光源需要一个pass。同时,也会有很多像素进行了FS后,被后面的测试抛弃。造成浪费。所以如果一个场景时多光源,性能会有严重的损失。
unity的前向渲染目前只许一盏 像素光源。
好处: 不需要特性,材质很灵活
坏处: 有很多被抛弃掉的像素也会执行FS,多光源的情况性能下降的厉害。

他的扩展有 Z-Pass 第一个pass渲染z-buffer。第二个pass进行比较,防止产生光照浪费。不过现在手机硬件都支持early-z,所以Z-pass不太需要。

2 延迟渲染
在屏幕空间进行渲染。第一个pass把 nomal,diffuse,special,environment等信息render到一个framebuffer(G-buffer)上,因为一个buffer存不下,所以需要MRT。第二个pass根据这些信息进行光照。
好处:多光源下 性能也不会下降太厉害。
坏处: 需要MRT的支持。G-buffer会很大。因为要把材质RT,所以材质参数不能太多。
3 延迟光照
基于延迟渲染改进,第一个pass只存储diffuse special信息。第二个pass根据这些信息进行光照。第三个pass在渲染一遍物体,然后跟第二遍pass生成的光照buffer进行混合。
好处: 可以处理多光源的情况,可以读取材质信息,可以进行多变。
坏处: 多一个pass

unity推荐延迟光照渲染
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: