Описание
Делегат, который можно использовать для вызова пользовательского кода в конце RenderPipeline.Render.
Когда Unity вызывает RenderPipeline.EndFrameRendering, выполняются методы из списка вызовов этого делегата.
В универсальном конвейере рендеринга (URP) и конвейере рендеринга высокого разрешения (HDRP) Unity автоматически вызывает RenderPipeline.EndFrameRendering. Если вы пишете собственный Scriptable Render Pipeline и хотите использовать этот делегат, вы должны добавить вызов RenderPipeline.EndFrameRendering в конце RenderPipeline.Render.
В следующем примере кода показано, как добавить метод в список вызовов этого делегата, а затем удалить его.
using UnityEngine;
using UnityEngine.Rendering;
public class ExampleClass : MonoBehaviour
{
void Start()
{
RenderPipelineManager.endFrameRendering += OnEndFrameRendering;
}
void OnEndFrameRendering(ScriptableRenderContext context, Camera[] cameras)
{
// Put the code that you want to execute at the end of RenderPipeline.Render here
// If you are using URP or HDRP, Unity calls this method automatically
// If you are writing a custom SRP, you must call RenderPipeline.EndFrameRendering
}
void OnDestroy()
{
RenderPipelineManager.endFrameRendering -= OnEndFrameRendering;
}
}
Смотрите так же: RenderPipeline.EndFrameRendering, RenderPipeline.BeginFrameRendering, RenderPipelineManager.beginFrameRendering, Unity Manual: Scriptable Render Pipeline