MultiBatching

Description

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

Multi​Batching


public constructor MultiBatching → (1)

count in : int32

[>=1]
The number of aggregated batch containers.

Creates a new instance of MultiBatching.

Public / Methods

Set


public method Set → (3)

index in : int32

[0..MultiBatching.Count-1]
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>

this

Specifies a batch container.

Public / Attributes

Count


public attribute Count → (get)

value : int32

[>=1]
The number of aggregated batch containers.

The number of aggregated batch containers.

Filter​In


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).