sealed class Tinman.Terrain.Meshing.MultiBatching
<TBatch val : IBatchRenderable<TBatch>>

Derived from

BatchRendererBase<MultiBatch> abstract

The MultiBatching class traverses the filtered mesh (see IMeshFilters.FilterIn), computes a full join on the batches that have been generated by the aggregated batch containers and generates zero or more MultiBatch values accordingly.

This class assumes that a sector mark (see IMeshFilters.FilterIn) has been placed for each batch by each aggregated batch container. The filtered mesh is traversed, looking for sector marks and collecting the batches of each aggregated batch container. The found batches are joined into MultiBatch values. This is a full join, i.e. there may be one or more empty (i.e. non-existent) aggregated batches (see MultiBatch.Batches) in a joined batch.

Public / Constructors


public constructor MultiBatching → (1)

count in : int32

The number of aggregated batch containers.

Creates a new instance of MultiBatching.

Public / Methods


public method Set → (3)

index in : int32

The batch container index.

container in : IBatchRenderer<TBatch>

The batch container or null.

empty opt : TBatch = default(TBatch)

The batch value to use for empty regions.

returns → MultiBatching<TBatch>


Specifies a batch container.

Public / Attributes


public attribute Count → (get)

value : int32

The number of aggregated batch containers.

The number of aggregated batch containers.


public attribute FilterIn → (get,set)

value : MeshTreeFilter

The filter or null.

The mesh tree input filter to use for querying sector culling and marks.

The default value is null (i.e. all mesh sectors are visited).