Unity渲染路径

渲染路径(Render Path)

决定了光照如何应用到Shader

渲染路径的设置

可以在Project setting中设置全局的渲染路径,也可以在摄影机中设置摄影机的渲染路径,摄影机可以使用全局的渲染路径也可以使用自己设置的渲染路径。

显卡对渲染路径设置的影响

如果显卡不支持某个渲染路径,那么unity会自动使用更低一级的渲染路径。

Pass中关于渲染路径的设置

通过设置标签,编译指令来指定Pass使用的渲染路径。

前向渲染路径(Forward Rendering Path)

三种处理光照的方式

逐顶点处理,逐像素处理,球谐函数处理

决定处理方式的规则

1,场景中最亮的平行光按逐像素处理

2,渲染模式设置成Not Important的光源会按逐顶点或者SH处理

3,渲染模式设置成Importent的光源,会被逐像素处理

4,如果以上三条规则得到的逐像素光源数量小于Pixel Light Count,会有更多的光源被逐像素处理

前向渲染shader结构

两种Pass;Base Pass ,Additional Pass

将Pass设置成Base Pass的条件;

1,设置Pass的标签

2,设置编译指令

将Pass设置成Additional Pass的条件;

1,设置Pass的标签

2,设置编译指令

      #pragma multi_compile_fwdadd

      或者

      #pragma multi_compile_fwdadd_fullshadows

前向渲染两种Pass的作用

Base Pass可实现的光照效果有:平行光,逐顶点光源,SH光源处理,阴影,光照纹理,环境光,自发光
Additional Pass可实现的光照有:非平行光的逐像素光源,也可按逐顶点进行光照计算

Base Pass

一个Base Pass只执行一次,

渲染的平行光默认支持阴影,即物体可以接受来自平行光的阴影

Add Pass

会被需要执行的光源们都执行一次

默认不支持阴影,但可以用#pragma multi_compile_fwdadd_fullshadows为点光源和聚光灯打开阴影效果,即让使用这个shader的物体接收点光源和聚光灯的阴影

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值