【Unity】可编程渲染管线
【Unity】可编程渲染管线
Unity 最早的内置渲染管线,其代码写死在引擎内核,仅能进行一些有限的阶段控制。因此后来 SRP(可编程渲染管线)来了,使完全由用户定义渲染管线成为现实。
SRP 是一个封装的小型 API 层,提供了从 C# 脚本调度和配置渲染命令的功能。Unity 会将这些命令传递给低级图形框架,后者随后将指令发送给图形 API。
SRP 的组成部分
渲染管线实例和渲染管线资源
基于 SRP 的渲染管线都有两个关键的自定义元素,这是接入 SRP 的入口,必须要先实现它们。
- 渲染管线资源:负责存储渲染管线所需的数据和配置。
- 渲染管线实例:利用渲染管线资源提供的数据,进行实际的渲染流程。
ScriptableRenderContext
ScriptableRenderContext 是一个核心类,它是 C# 层代码与 Unity 低级图形代码的接口,借此就可以实际的调度 Unity 的图形功能。
入口点和回调
SRP 通过定时调用以下回调,以使用自定义的渲染流程。
- RenderPipeline.Render:渲染管线的核心函数,由每帧渲染时自动调用。
- RenderPipelineManager 类:提供了一些额外的渲染事件函数可供注册。
【Unity】可编程渲染管线
https://bdffzi-blog.pages.dev/posts/2520479343.html