Unity 6.3
0 онлайн 53 гостей 3 в системе
Вход

RenderPipelineManager.endContextRendering

Описание

Делегирование, которое можно использовать для вызова пользовательского кода в конце RenderPipeline.Render.

Когда Unity вызывает RenderPipeline.EndContextRendering в конце RenderPipeline.Render, он выполняет методы в списке вызовов этого делегированного.

В Universal Render Pipeline (URP) и High Definition Render Pipeline (HDRP) Unity автоматически вызывает RenderPipeline.EndContextRendering. Если вы пишете пользовательский Scriptable Render Pipeline, вы должны вызвать метод самостоятельно. Эта функция не совместима с Built-in Render Pipeline.

Этот делегат работает так же, как RenderPipelineManager.endFrameRendering, за исключением того, что эта версия не вызывает выделения кучи.

В следующем примере кода показано, как добавить метод в список вызовов этого делегированного, а затем удалить его.

using UnityEngine;
using UnityEngine.Rendering;
using System.Collections.Generic;

public class ExampleClass : MonoBehaviour { void Start() { RenderPipelineManager.endContextRendering += OnEndContextRendering; }

void OnEndContextRendering(ScriptableRenderContext context, List<Camera> cameras) { // Put the code that you want to execute at the end of RenderPipeline.Render here }

void OnDestroy() { RenderPipelineManager.endContextRendering -= OnEndContextRendering; } }

Дополнительные ресурсы: RenderPipeline.EndContextRendering, RenderPipelineManager.beginContextRendering, RenderPipeline.BeginContextRendering, Unity Руководство: Scriptable Render Pipeline.