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

RenderPipelineManager.beginContextRendering

Описание

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

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

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

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

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

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

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

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

void OnDestroy() { RenderPipelineManager.beginContextRendering -= OnBeginContextRendering; } }

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