本页说明可编程渲染管线 (SRP) 的工作原理,并介绍一些关键概念和术语。
SRP 是一个瘦 API 层,允许使用 C# 脚本来调度和配置渲染命令。SRP 将这些命令传递给 Unity 的低级图形架构,后者随后将指令发送给图形 API。
在 SRP 中编写 C# 渲染代码时,必须创建和自定义两个关键元素:
Rendering.RenderPipelineAsset
继承的脚本来定义渲染管线资源,然后在项目中创建并配置渲染管线资源的实例。Render()
方法的类,此方法作为 SRP 的入口点。要定义渲染管线实例,应创建从 RenderPipeline
继承的脚本。有关创建这些元素的信息,请参阅创建渲染管线资源和渲染管线实例。
可编程渲染上下文 (Scriptable Render Context) 是一个类,用作 C# SRP 代码与 Unity 的低级图形代码之间的接口。应使用 ScriptableRenderContext API 来调度和执行渲染命令。
有关使用可编程渲染上下文的信息,请参阅在可编程渲染管线中调度和执行渲染命令。
在 SRP 中,可以编写由 Unity 在特定时间调用的 C# 渲染代码。
Render()
方法是 SRP 的入口点。Unity 在每帧为当前渲染的每个 CameraType 调用一次此方法。通过自定义此方法可以自定义 SRP。Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.