【Unity学习】 Unity中的光照渲染(一)前向渲染和延迟渲染

本文介绍了Unity的两种主要渲染路径——前向渲染和延迟渲染。前向渲染适用于光源数量较少的情况,通过逐顶点和逐像素处理光照。延迟渲染则在面对大量光源时提供解决方案,利用G-缓冲进行光照计算。然而,延迟渲染不支持抗锯齿和半透明物体,并对硬件有一定要求。此外,文章还提及Unity的光源类型和光线衰减的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Unity的渲染路径

现在的Unity渲染路径主要有两种:
一、前向渲染路径(Forward Randering Path)
二、延迟渲染路径(Deferred Rendering Path)
三、顶点照明渲染路径(残留,已被抛弃)
四、旧的延迟渲染路径

在大多数情况下,我们可以通过Edit->Project Settings->Player->Other Settings->Rendering->Path中选择需要渲染的路径,默认是前向渲染路径。
但是我们也可以在Camera中单独设置这个摄像机的渲染路径。

在Shader中,通过指定Pass中的LightMode标签来实现:

Pass{
    Tags { "LightMode" = "ForwardBase" }
    ...

前向渲染路径

传统且常见的渲染方式。
原理:
Unity将各种光照按逐顶点处理、逐像素处理、球谐函数SH等方法计算出并混合。至于怎么处理:
1. 最多有四个光源按逐顶点处理
2. 场景中最亮的平行光是逐像素处理的
3. 被设置成not important,会按逐顶点或SH处理
4. Important的会逐像素处理
5. 如果逐像素渲染的数量小于Quality Setting中的逐像素数量,则会有更多的光源进行逐像素处理

使用#pragma multi_co

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值