定义自定义渲染管线使用的状态和绘制命令。
当您定义自定义 RenderPipeline 时,您可以使用 ScriptableRenderContext 来安排并将状态更新和绘制命令提交到 GPU。
RenderPipeline.Render 方法的实现通常会剔除渲染管线不需要为每个摄像机渲染的对象(请参阅 CullingResults),然后进行一系列对 ScriptableRenderContext.DrawRenderers 的调用,并与 ScriptableRenderContext.ExecuteCommandBuffer 调用交织在一起。这些调用设置全局着色器属性、更改渲染目标、分派计算着色器以及其他渲染任务。要实际执行渲染循环,请调用 ScriptableRenderContext.Submit。
其他资源:RenderPipeline。
BeginRenderPass | 安排新渲染传递的开始。任何时候只能有一个渲染传递处于活动状态。 |
BeginScopedRenderPass | 安排新渲染传递的开始。如果您在 using 语句中调用此方法,则 Unity 会在退出 using 块时自动调用 EndRenderPass。任何时候只能有一个渲染传递处于活动状态。 |
BeginScopedSubPass | 安排渲染传递内新子传递的开始。如果您在 using 语句中调用此方法,则 Unity 会在退出 using 块时自动执行 EndSubPass。渲染传递永远不能是独立的,它们必须始终包含至少一个子传递。任何时候只能有一个子传递处于活动状态。 |
BeginSubPass | 安排渲染传递内新子传递的开始。渲染传递永远不能是独立的,它们必须始终包含至少一个子传递。任何时候只能有一个子传递处于活动状态。 |
CreateGizmoRendererList | 创建一个新的 Gizmo RendererList。 |
CreateRendererList | 创建一个新的渲染器 RendererList。 |
CreateShadowRendererList | 创建一个新的阴影 RendererList。 |
CreateSkyboxRendererList | 创建一个新的天空盒 RendererList。 |
CreateUIOverlayRendererList | 创建一个新的 UIOverlay RendererList。 |
CreateWireOverlayRendererList | 创建一个新的 WireOverlay RendererList。 |
Cull | 根据通常从当前正在渲染的摄像机获取的 ScriptableCullingParameters 执行剔除。 |
CullShadowCasters | 对所有可见光执行阴影投射器剔除。 |
DrawGizmos | 安排为给定摄像机绘制 Gizmos 的子集(在后处理之前或之后)。 |
DrawUIOverlay | 绘制 UI 叠加层。 |
DrawWireOverlay | 安排为给定的场景视图摄像机绘制线框叠加层。 |
EndRenderPass | 安排当前活动渲染传递的结束。 |
EndSubPass | 安排当前活动子传递的结束。 |
ExecuteCommandBuffer | 安排自定义图形命令缓冲区的执行。 |
ExecuteCommandBufferAsync | 安排在异步计算队列上执行命令缓冲区。您传入的 ComputeQueueType 确定队列顺序。 |
HasInvokeOnRenderObjectCallbacks | 检查场景中的任何对象是否注册了 OnRenderObject 回调。 |
InvokeOnRenderObjectCallback | 安排对 MonoBehaviour 脚本的 OnRenderObject 回调的调用。 |
PrepareRendererListsAsync | 开始在后台处理提供的 RendererLists。 |
QueryRendererListStatus | 查询 RendererList 的状态。 |
SetupCameraProperties | 安排摄像机特定全局着色器变量的设置。 |
StartMultiEye | 安排在 ScriptableRenderContext 上细粒度地开始立体渲染。 |
StereoEndRender | 安排通知在单个帧上完成立体渲染。 |
StopMultiEye | 安排停止在 ScriptableRenderContext 上进行立体渲染。 |
Submit | 将所有已安排的命令提交到渲染循环以执行。 |
SubmitForRenderPassValidation | 此方法将所有已安排的命令提交到渲染循环以进行验证。验证检查是否使用 BeginRenderPass 调用启动的渲染传递可以执行已安排的命令。 |
EmitGeometryForCamera | 发出 UI 几何体以针对指定的摄像机进行渲染。 |
EmitWorldGeometryForSceneView | 将 UI 几何体发出到场景视图以进行渲染。 |
PopDisableApiRenderers | 启用将渲染器场景节点立即添加和删除到场景数组。 |
PushDisableApiRenderers | 防止将渲染器场景节点立即添加或删除到场景数组。这可以防止在计算剔除输出后对场景数组进行更改而导致的无效索引或悬空指针的创建。 |