【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
作者
BDFFZI
发布于
2024年5月31日
许可协议