Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


BatchRendererGroup

A BatchRendererGroup is an object that lets you perform customizable high performance rendering.
Read time 2 minutesLast updated 6 days ago

Definition

public class BatchRendererGroup : IDisposable

Remarks

You can set up batches in advance to set up groups of instances with shared metadata values that describe how to load Material properties. Whenever Unity renders a
BatchRendererGroup
, it invokes the
OnPerformCulling
callback to perform visibility culling and to generate a variable sized list of draw commands that describe how to render the visible parts of the
BatchRendererGroup
. Each draw command instructs Unity to render a group of instances from a given batch with a specific Mesh and Material.

Constructors

Constructor

Description

BatchRendererGroup(UnityEngine.Rendering.BatchRendererGroup.OnPerformCulling,System.IntPtr)Constructor for a BatchRendererGroup object.
BatchRendererGroup(UnityEngine.Rendering.BatchRendererGroupCreateInfo)Constructor for a BatchRendererGroup object.

Static Properties

Property

Description

BufferTargetThe buffer target BatchRendererGroup.AddBatch accepts for the active graphics API.

Methods

Method

Description

AddBatchCreate a draw command batch that shares a single set of metadata values and a single
GraphicsBuffer
.
DisposeDeletes a group.
GetRegisteredMaterialReturns the previously registered Material associated with this MaterialID.
GetRegisteredMeshReturns the previously registered Mesh associated with this MeshID.
GetThreadedBatchContextGet the thread-safe API for interacting with a BatchRendererGroup from Burst jobs.
RegisterMaterialRegisters a Material in
BatchRendererGroup
and returns its
BatchMaterialID
. Each registration of a specific Material increases its number of owners by 1.
RegisterMeshRegisters a mesh in
BatchRendererGroup
and returns its
BatchMeshID
. Each registration of a specific mesh increases its number of owners by 1.
RemoveBatchDelete a batch that was previously created with
AddBatch
.
SetBatchBufferChange the
GraphicsBuffer
associated with the given batch.
SetEnabledViewTypesSet the combination of BatchCullingViewType for which this BatchRendererGroup should receive an
OnPerformCulling
callback.
SetErrorMaterialSet the error material for the
BatchRendererGroup
. This material will be used internally by Unity to render the draw commands referring to erroneous shaders. You can also pass 'null' to this method to unset the material.
SetGlobalBoundsSet the bounds of the
BatchRendererGroup
. The bounds should encapsulate the render bounds of every object rendered with this
BatchRendererGroup
. Unity uses these bounds internally for culling.
SetLoadingMaterialSet the loading material for the
BatchRendererGroup
.
SetPickingMaterialSet the material that Unity uses to render object picking data using the draw commands in the Scene view.
UnregisterMaterialUnregister the Material ID associated with
BatchRendererGroup
. Each deregistration of a specific Material reduces its number of owners by 1.
UnregisterMeshUnregister the mesh ID associated with
BatchRendererGroup
. Each deregistration of a specific mesh reduces its number of owners by 1.

Static Methods

Method

Description

GetConstantBufferMaxWindowSizeDefines the maxiumum amount (in bytes) the BatchRendererGroup constant buffer window size is visible from the shader.

Delegates

Delegate

Description

BatchRendererGroup.OnFinishedCullingFinished culling callback function.
BatchRendererGroup.OnPerformCullingCulling callback function.