Version: 2023.2

BatchRendererGroup

class in UnityEngine.Rendering

切换到手册

描述

A BatchRendererGroup is an object that lets you perform customizable high performance rendering.

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.

静态变量

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

构造函数

BatchRendererGroupConstructor for a BatchRendererGroup object.

公共函数

AddBatchCreate a draw command batch that shares a single set of metadata values and a single GraphicsBuffer.
Dispose删除组。
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.

静态函数

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

委托

OnPerformCulling剔除回调函数。