【Unity Shader】Unity前向渲染

Unity的前向渲染包括ForwardBase和ForwardAddPass,主要处理逐像素光和逐顶点光。ForwardBase处理优先级高的平行光及顶点光,阴影与平行光关联。ForwardAdd用于渲染剩余的逐像素光,需与Base配合。光源按重要度排序,最亮方向光和重要光源始终为逐像素处理,其他可能用逐顶点或球谐函数表示。
摘要由CSDN通过智能技术生成

unity前向渲染Pass

ForwardBase Pass(优先渲染),渲染一个逐像素平行光和所有的顶点/球面调和光,阴影只和平行光有关系,那阴影应该是这个Pass中实现的
ForwardAdd Pass(需要和Base配合使用,否则不生效),渲染剩余全部逐像素灯光

决定一个光源使用哪种处理模式取决于它的类型和渲染模式

光源类型指的是该光源是平行光还是其他类型的光源
光源的渲染模式指的是该光源是否是重要的(Important)

Unity会根据场景中各个光源的设置以及这些光源对物体的影响程度(比如,距离该物体的远近光源强度等)对这些光源进行一个重要度排序。其中每个顶点最多计算4个逐顶点光照。其他的光以球谐函数(SH)的形式计算

逐像素的光源分类(默认最大4个)

最亮的方向光始终为每像素光源,就是场景中的主平行光
Render Mode 设置为 Important 的光源始终为每像素光源。

逐顶点的光源分类(默认最大4个)

Render Mode 设置为 Not Important 的光源始终为每顶点或 SH 光源。

球谐的光源分类(数量无限制)

Render Mode 设置为 Not Important 的光源始终为每顶点或 SH 光源。

参考

参考冯乐乐shader入门精要 https://zhuanlan.zhihu.com/p/509253252
官方 https://docs.unity3d.com/cn/current/Manual/RenderTech-ForwardRendering.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值