BRG を使用してレンダリングを行う最初のステップは、BatchRendererGroup のインスタンスを作成し、OnPerformCulling の実装で初期化することです。
OnPerformCulling コールバックは BRG のメインエントリーポイントで、Unity は可視オブジェクトをカリングするたびにこれを呼び出します。このコールバックが受け取るパラメーターについては、OnPerformCulling を参照してください。通常、OnPerformCulling コールバックが実行する必要があるタスクは、以下の 2 つです。
単純な実装では OnPerformCulling コールバックで直接これらのタスクを実行できますが、高性能な実装ではこの作業のほとんどを Burst ジョブで実行するのが効率的です。OnPerformCulling コールバックは、ジョブが BatchCullingOutputパラメーターに出力を書き込んだ後に完了する JobHandle を返します。ジョブを使用しない実装の場合は、空の JobHandle を返すことができます。
以下のコードサンプルは、BatchRendererGroup オブジェクトを作成して、コンパイル可能な最小限の OnPerformCulling コールバックでそれを初期化する方法の一例を示したものです。
using System;
using Unity.Collections;
using Unity.Collections.LowLevel.Unsafe;
using Unity.Jobs;
using UnityEngine;
using UnityEngine.Rendering;
public class SimpleBRGExample : MonoBehaviour
{
    private BatchRendererGroup m_BRG;
    private void Start()
    {
        m_BRG = new BatchRendererGroup(this.OnPerformCulling, IntPtr.Zero);
    }
    private void OnDisable()
    {
        m_BRG.Dispose();
    }
    public unsafe JobHandle OnPerformCulling(
        BatchRendererGroup rendererGroup,
        BatchCullingContext cullingContext,
        BatchCullingOutput cullingOutput,
        IntPtr userContext)
    {
        // この例はジョブを使用していないので、空の JobHandle を返します。
        // パフォーマンス負荷の高いアプリケーションの場合は、Burst ジョブを使用して
        // カリングと描画コマンドの出力を実装することが推奨されます。その場合、この関数は
        // Burst ジョブの終了時に完了するハンドルをここに返します。
        return new JobHandle();
    }
}
OnPerformCulling を使用して描画コマンドを作成する前に、描画したいメッシュと使用したいマテリアルをすべて BatchRendererGroup オブジェクトに提供する必要があります。詳細は次のトピック メッシュとマテリアルの登録 を参照してください。