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推荐延迟光照渲染
最常用的渲染路径。首先基础场景渲染非透明物体,然后每个光源需要一个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推荐延迟光照渲染
相关文章推荐
- ubuntu12.04开启虚拟机的unity模式
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(1)-前言与目录(持续更新中...)
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(52)-美化EasyUI皮肤和图标
- unity3D 编辑器扩展,MenuItem 和 ContextMenu 的使用方法
- Unity 捕捉Android按键
- Unity Event&Delegate 例子
- Cacti详解
- unity3d显示圆形或异形背景
- iTween基础之Color(变换颜色)
- Unity Shader 效果学习
- 使用Mali Graphics Debugger调优Unity程序(Killer示例)
- Unity3D 烘焙 对游戏包的影响
- Unity 设置图片和屏幕的分辨率
- 联机Unity Profile技巧--mac
- Unity 5.3 官方VR教程(二) 创建第一个VR项目
- Unity 如何让using resolution为真正的分辨率
- 承接Unity3D外包公司 — 技术分享
- Unity轻量数据保存
- Unity Animator的使用技巧
- unity animator 基本属性