Nebula
Loading...
Searching...
No Matches
CoreGraphics::BatchGroup Class Reference

#include <batchgroup.h>

Detailed Description

BatchGroup denotes a zero indexed name registry which corresponds to the type of materials being batched during a FrameBatch.

The name from the 'batchType' field gets converted into an index in this class, which is then used when retrieving all materials which utilizes this batch type.

Materials have the same field in their template definition, meaning that for each frame batch using a specific batch type, all materials with the same batch type defined will be rendered in this pass, which acts as the bridge between the frame shader system and the material rendering system.

Public Types

typedef Util::StringAtom Name
 human readable name of a ModelNodeType
 
typedef IndexT Code
 binary code for a ModelNodeType
 

Static Public Member Functions

static Code FromName (const Name &name)
 convert from string
 
static Name ToName (Code c)
 convert to string
 

Static Public Attributes

static const IndexT NumBatchGroups = 256
 maximum number of different ModelNodeTypes
 
static const IndexT InvalidBatchGroup = InvalidIndex
 invalid model node type code
 

Private Member Functions

 BatchGroup ()
 constructor
 

Private Attributes

Util::Dictionary< Name, IndexTnameToCode
 
Util::Array< NamecodeToName
 

Friends

class Graphics::GraphicsServer
 

Member Typedef Documentation

◆ Code

binary code for a ModelNodeType

◆ Name

human readable name of a ModelNodeType

Constructor & Destructor Documentation

◆ BatchGroup()

CoreGraphics::BatchGroup::BatchGroup ( )
private

constructor

Private constructor, only the ModelServer may create the central ModelNodeType registry.

Member Function Documentation

◆ FromName()

BatchGroup::Code CoreGraphics::BatchGroup::FromName ( const Name & name)
static

convert from string

◆ ToName()

BatchGroup::Name CoreGraphics::BatchGroup::ToName ( Code c)
static

convert to string

Friends And Related Symbol Documentation

◆ Graphics::GraphicsServer

friend class Graphics::GraphicsServer
friend

Member Data Documentation

◆ codeToName

Util::Array<Name> CoreGraphics::BatchGroup::codeToName
private

◆ InvalidBatchGroup

const IndexT CoreGraphics::BatchGroup::InvalidBatchGroup = InvalidIndex
static

invalid model node type code

◆ nameToCode

Util::Dictionary<Name, IndexT> CoreGraphics::BatchGroup::nameToCode
private

◆ NumBatchGroups

const IndexT CoreGraphics::BatchGroup::NumBatchGroups = 256
static

maximum number of different ModelNodeTypes


The documentation for this class was generated from the following files: