LightWeight RenderPipeline

本文介绍了在Unity中通过C#脚本配置和执行渲染的方法,包括SRP的前向渲染(ForwardShading)和延迟渲染(DeferredShading)原理、优缺点,还提及CommandBuffer拓展渲染管线。阐述了LWRP对性能的改进及特性,如精简管线、单通道前向渲染等,最后给出相关资料链接。

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

SRP

一种通过C#脚本在Unity中配置和执行渲染的方法

RenderPipeLine

11173460-1b15fa1ce3868c11.PNG
RenderPipeline.PNG

ForwardShading
原理:每个作用于物体的像素光单独计算一次,drawCall随着物体与光照数量增加而成倍增加
优点:不受硬件限制
缺点:光照计算开销成倍增加随着光源和物体数量增加。
每个物体接受光照数量有限。

DeferredShading
原理:物体颜色、法线、材质等信息先渲染到G-Buffer中,光照最后单独渲染,避免每个物体多个光照批次的问题
优点:作用于每个物体光照数量不再受到限制,光照计算不随着物体增加而增加
缺点:移动设备需要支持OpenGL3.0。
不支持MSAA。
半透明物体仍然使用前向渲染。

CommandBuffer
用于拓展Unity渲染管线。
包含一系列渲染命令,比如设置渲染目标,绘制网格等,并可以设置为在摄像机期间的各个点执行渲染。

LWRP对性能改进
DrawCall->SRP Batcher
填充率->NewShading
内存带宽->NewRender

LWRP特性
1.精简优化过的渲染管线:
聚焦于性能、针对移动和XR平台
2.Single-Pass ForwardRendering:
高性能和高一致性的PBR
新Shader库
一次渲染多个实时光
可插入ScriptableRenderPasses
3.基于C#源码:
渲染过程可读
4.图形功能课定制化
增加、修改、删除、学习

光照
1.实时光照:
按照每个物体进行光照剔除
在一个批次进行渲染
针对每个物体限制:一盏主方向光、四盏附加光
每个相机16盏可见光
2.给予物理的光照衰减:
只受强度控制,不受范围影响

相关资料:
官方LWRP讲解
https://www.bilibili.com/video/av38056528
LWRP管线剖析
https://blog.youkuaiyun.com/qq_37043683/article/details/80989492
民间文档https://blog.youkuaiyun.com/weixin_42163773/article/details/84317223

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值