AtlasClipMapBatcher Class Reference

#include <atlasClipMapBatcher.h>

List of all members.


Detailed Description

Manage optimal rendering of a set of AtlasGeomChunks with a clipmap applied.

Also provides functionality related to detail maps and lighting.


Public Member Functions

 AtlasClipMapBatcher ()
 ~AtlasClipMapBatcher ()
void initMaterials ()
void init (ClipMap *acm, SceneState *state, AtlasInstance *renderer)
void queue (const Point3F &camPos, AtlasResourceGeomStub *args)
void sort ()
void render (BaseMatInstance *overrideMat)
bool isDetailMappingEnabled ()
void isDetailMappingEnabled (bool value)

Static Public Member Functions

static void registerRenderPlugin (AtlasRenderPlugin *arp)
static void unregisterRenderPlugin (AtlasRenderPlugin *arp)

Public Attributes

F32 mDetailMapFadeEndDistance
F32 mDetailMapFadeStartDistance
F32 mDetailMapTextureMultiply

Private Member Functions

void renderClipMap (SceneGraphData &sgData, BaseMatInstance *overrideMat)
void renderDetail (SceneGraphData &sgData)
void renderFog (SceneGraphData &sgData)

Static Private Member Functions

static S32 cmpRenderNote (const void *a, const void *b)
 RenderNote comparison function; sorts by distance (closest first).

Private Attributes

ClipMapmClipMap
 What clipmap are we going to be rendering from?
SceneStatemState
bool mFixedFunction
BaseMatInstancemDetailMat
BaseMatInstancemFogMat
MaterialParameterHandlemBrightnessScaleSC
MaterialParameterHandlemDetDataSC
FreeListChunker< RenderNotemRenderNoteAlloc
Vector< RenderNote * > mRenderList [4]
 List of chunks to render for each shader.
Vector< RenderNote * > mDetailList
 RenderNotes to be rendered with detail maps.
Vector< RenderNote * > mFogList
 RenderNotes to be rendered with fog.
Vector< RenderNote * > mLightList
 RenderNotes to be rendered with lighting.
AtlasInstancemObject
bool mIsDetailMappingEnabled

Static Private Attributes

static Vector< AtlasRenderPlugin * > mRenderPlugins

Classes

struct  RenderNote


Constructor & Destructor Documentation

AtlasClipMapBatcher::AtlasClipMapBatcher (  ) 

AtlasClipMapBatcher::~AtlasClipMapBatcher (  ) 


Member Function Documentation

static S32 AtlasClipMapBatcher::cmpRenderNote ( const void a,
const void b 
) [static, private]

RenderNote comparison function; sorts by distance (closest first).

void AtlasClipMapBatcher::renderClipMap ( SceneGraphData sgData,
BaseMatInstance overrideMat 
) [private]

void AtlasClipMapBatcher::renderDetail ( SceneGraphData sgData  )  [private]

void AtlasClipMapBatcher::renderFog ( SceneGraphData sgData  )  [private]

void AtlasClipMapBatcher::initMaterials (  ) 

void AtlasClipMapBatcher::init ( ClipMap acm,
SceneState state,
AtlasInstance renderer 
)

void AtlasClipMapBatcher::queue ( const Point3F camPos,
AtlasResourceGeomStub args 
)

void AtlasClipMapBatcher::sort (  ) 

void AtlasClipMapBatcher::render ( BaseMatInstance overrideMat  ) 

bool AtlasClipMapBatcher::isDetailMappingEnabled (  )  [inline]

void AtlasClipMapBatcher::isDetailMappingEnabled ( bool  value  )  [inline]

static void AtlasClipMapBatcher::registerRenderPlugin ( AtlasRenderPlugin arp  )  [static]

static void AtlasClipMapBatcher::unregisterRenderPlugin ( AtlasRenderPlugin arp  )  [static]


Member Data Documentation

What clipmap are we going to be rendering from?

List of chunks to render for each shader.

RenderNotes to be rendered with detail maps.

Offsets to entries in mRenderList

RenderNotes to be rendered with fog.

RenderNotes to be rendered with lighting.