找回密码
 立即注册
查看: 341|回复: 0

Unity 延时渲染管线

[复制链接]
发表于 2022-4-15 10:56 | 显示全部楼层 |阅读模式
本期给大家分享面试Unity主程时经常被问的延时渲染管线的问题。记得点赞,收藏加 关注。
点击加入学习交流群


先来看Unity渲染管线,它包含内置渲染管线与自定义的可编程渲染管线。
Unity内置渲染管线包含了 向前渲染管线与延时渲染管线;
Unity可编程渲染管线允许用户自定义渲染管线。
Unity也通过Package的方式实现了高清渲染管线与轻量级渲染管线。


在讲解延时渲染管线之前,先讲解向前渲染管线处理多光源的机制
多光源下绘制3D物体,每个光源绘制一次3D物体,再叠加上一次绘制的颜色。
优点: 可以支持任意多的光源,并且渲染的效果比较好。
缺点: 就是每个光源都绘制一次物体, 导致多光源实时光照的性能开销极大。


为了提升多光源实时光照的性能,提出了延迟渲染管线的策略。
就是先按照普通的流程的把物体绘制出来,先不考虑光照计算,这样屏幕上就得到了一个个的“像素点”。把这些像素点的位置,法线等需要光照计算的数据存放到g-buffer。
最后针对每个光源,对每个”像素点”根据位置,法线等信息做光照计算。
优点:多光源实时光照计算性能好;
缺点: 是g-buffer需要的内存会比较大;
渲染的效果不如向前渲染那么好;
渲染半透明的物体无法使用光照;
不能使用基于硬件实现的多层抗锯齿。
好, 本期的延迟渲染管线就到这里,下一期我们将会讲解光照的一些优化技巧, 关注我,可以学习Unity游戏开发的编程技巧!
附:更多教学视频

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-16 23:52 , Processed in 0.092141 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表