关于Unity中的渲染路径/前向渲染/延迟渲染/TBDR

长期以来被渲染路径搞得晕头转向,尤其是前向渲染和延迟渲染。重读第二遍入门精要感觉有必要把这些模糊的知识点串联记录起来。

1.什么是渲染路径?
渲染路径指的是场景中光照的渲染方式。到底是用前向渲染的方式,还是用延迟渲染的方式。使用不同的方式决定了不同的光照计算结果。只有为shader正确的选择和设置需要的渲染路径,该shader的渲染路径才能正确被执行。

2.不同的摄像机可以使用不同的渲染路径。通过Camera组件中的Rendering Path来指定。

3.什么是前向渲染路径?

按我的理解就是,遵循从Geometry到VS到FS,每个逐像素光源都需要完整的完成这样一次这样线性渲染流程叫做前向渲染。

完成一次完整的前向渲染,需要渲染这个对象的渲染图元,计算深度缓冲区和颜色缓冲区。深度缓冲区决定可见性(深度测试不通过就舍弃),通过测试的片元需要与原来颜色缓冲区的颜色进行混合,更新颜色缓冲区的颜色值。
每个逐像素光源都必须完成一次完整的上述渲染流程。

4.Unity的前向渲染:
三种处理光照的方式:逐像素,逐顶点,球谐函数。
渲染模式:Light组件中的Render Mode决定是Important还是not Important。重要,按照逐像素光源处理。
Unity会根据场景中对各个光源的设置以及光源对物体的影响来排个序(如Render Mode),一定数目的光源会按照逐像素光源处理(与Pixel Light Count有关),最多四个按照逐顶点光源处理,剩下按照SH。

  • 场景中最亮的平行光总是按照逐像素处理的。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值