fxFoliageReplicator Class Reference

#include <fxFoliageReplicator.h>

Inheritance diagram for fxFoliageReplicator:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 fxFoliageReplicator ()
 ~fxFoliageReplicator ()
void StartUp (void)
void ShowReplication (void)
void HideReplication (void)
virtual bool prepRenderImage (SceneState *state, const U32 stateKey, const U32 startZone, const bool modifyBaseZoneState=false)
 Called when the SceneGraph is ready for the registration of RenderImages.
bool onAdd ()
 Called when the object is added to the sim.
void onRemove ()
 Called when the object is removed from the sim.
void onEditorEnable ()
 Called when the editor is activated.
void onEditorDisable ()
 Called when the editor is deactivated.
void inspectPostApply ()
 Called after any property of the object is changed in the world editor.
U32 packUpdate (NetConnection *conn, U32 mask, BitStream *stream)
 Instructs this object to pack its state for transfer over the network.
void unpackUpdate (NetConnection *conn, BitStream *stream)
 Instructs this object to read state data previously packed with packUpdate.
 DECLARE_CONOBJECT (fxFoliageReplicator)

Static Public Member Functions

static void initPersistFields ()
 Register dynamic fields in a subclass of ConsoleObject.

Public Attributes

fxFoliageReplicator::tagFieldData mFieldData

Protected Types

 FoliageReplicationMask = (1 << 0)
enum  { FoliageReplicationMask = (1 << 0) }

Protected Member Functions

void CreateFoliage (void)
void DestroyFoliage (void)
void DestroyFoliageItems ()
void SyncFoliageReplicators (void)
Box3F FetchQuadrant (Box3F Box, U32 Quadrant)
void ProcessQuadrant (fxFoliageQuadrantNode *pParentNode, fxFoliageCulledList *pCullList, U32 Quadrant)
void ProcessNodeChildren (fxFoliageQuadrantNode *pParentNode, fxFoliageCulledList *pCullList)
void SetupBuffers ()
void renderObject (ObjectRenderInst *ri, BaseMatInstance *)
void renderBuffers (SceneState *state)
void renderArc (const F32 fRadiusX, const F32 fRadiusY)
void renderPlacementArea (const F32 ElapsedTime)
void renderQuad (fxFoliageQuadrantNode *quadNode, const MatrixF &RenderTransform, const bool UseDebug)
void computeAlphaTex ()

Protected Attributes

U32 mCreationAreaAngle
bool mClientReplicationStarted
bool mAddedToScene
U32 mCurrentFoliageCount
Vector< fxFoliageQuadrantNode * > mFoliageQuadTree
Vector< fxFoliageItem * > mReplicatedFoliage
fxFoliageRenderList mFrustumRenderSet
GFXVertexBufferHandle< GFXVertexFoliage > mVertexBuffer
GFXPrimitiveBufferHandle mPrimBuffer
ShaderDatamShader
GBitmapmAlphaLookup
MRandomLCG RandomGen
F32 mFadeInGradient
F32 mFadeOutGradient
S32 mLastRenderTime
F32 mGlobalSwayPhase
F32 mGlobalSwayTimeRatio
F32 mGlobalLightPhase
F32 mGlobalLightTimeRatio
U32 mFrameSerialID
U32 mQuadTreeLevels
U32 mPotentialFoliageNodes
U32 mNextAllocatedNodeIdx
U32 mBillboardsAcquired
GFXTexHandle mAlphaTexture
ObjectRenderInst::RenderDelegate mRenderDelegate
GFXStateBlockRef mPlacementSB
GFXStateBlockRef mRenderSB
GFXStateBlockRef mDebugSB
GFXShaderConstBufferRef mFoliageShaderConsts
GFXShaderConstHandlemFoliageShaderProjectionSC
GFXShaderConstHandlemFoliageShaderWorldSC
GFXShaderConstHandlemFoliageShaderGlobalSwayPhaseSC
GFXShaderConstHandlemFoliageShaderSwayMagnitudeSideSC
GFXShaderConstHandlemFoliageShaderSwayMagnitudeFrontSC
GFXShaderConstHandlemFoliageShaderGlobalLightPhaseSC
GFXShaderConstHandlemFoliageShaderLuminanceMagnitudeSC
GFXShaderConstHandlemFoliageShaderLuminanceMidpointSC
GFXShaderConstHandlemFoliageShaderDistanceRangeSC
GFXShaderConstHandlemFoliageShaderCameraPosSC
GFXShaderConstHandlemFoliageShaderGroundAlphaSC
bool mDirty

Private Types

typedef SceneObject Parent

Classes

class  tagFieldData

Member Typedef Documentation

Reimplemented from SceneObject.


Member Enumeration Documentation

anonymous enum [protected]

Enumerator:
FoliageReplicationMask 


Constructor & Destructor Documentation

fxFoliageReplicator::fxFoliageReplicator (  ) 

fxFoliageReplicator::~fxFoliageReplicator (  ) 


Member Function Documentation

void fxFoliageReplicator::CreateFoliage ( void   )  [protected]

void fxFoliageReplicator::DestroyFoliage ( void   )  [protected]

void fxFoliageReplicator::DestroyFoliageItems (  )  [protected]

void fxFoliageReplicator::SyncFoliageReplicators ( void   )  [protected]

Box3F fxFoliageReplicator::FetchQuadrant ( Box3F  Box,
U32  Quadrant 
) [protected]

void fxFoliageReplicator::ProcessQuadrant ( fxFoliageQuadrantNode pParentNode,
fxFoliageCulledList pCullList,
U32  Quadrant 
) [protected]

void fxFoliageReplicator::ProcessNodeChildren ( fxFoliageQuadrantNode pParentNode,
fxFoliageCulledList pCullList 
) [protected]

void fxFoliageReplicator::SetupBuffers (  )  [protected]

void fxFoliageReplicator::renderObject ( ObjectRenderInst ri,
BaseMatInstance  
) [protected]

void fxFoliageReplicator::renderBuffers ( SceneState state  )  [protected]

void fxFoliageReplicator::renderArc ( const F32  fRadiusX,
const F32  fRadiusY 
) [protected]

void fxFoliageReplicator::renderPlacementArea ( const F32  ElapsedTime  )  [protected]

void fxFoliageReplicator::renderQuad ( fxFoliageQuadrantNode quadNode,
const MatrixF RenderTransform,
const bool  UseDebug 
) [protected]

void fxFoliageReplicator::computeAlphaTex (  )  [protected]

void fxFoliageReplicator::StartUp ( void   ) 

void fxFoliageReplicator::ShowReplication ( void   ) 

void fxFoliageReplicator::HideReplication ( void   ) 

virtual bool fxFoliageReplicator::prepRenderImage ( SceneState state,
const U32  stateKey,
const U32  startZone,
const bool  modifyBaseZoneState = false 
) [virtual]

Called when the SceneGraph is ready for the registration of RenderImages.

See also:
SceneState
Parameters:
state SceneState
stateKey State key of the current SceneState
startZone Base zone index
modifyBaseZoneState If true, the object needs to modify the zone state.

Reimplemented from SceneObject.

bool fxFoliageReplicator::onAdd (  )  [virtual]

Called when the object is added to the sim.

Reimplemented from SceneObject.

void fxFoliageReplicator::onRemove (  )  [virtual]

Called when the object is removed from the sim.

Reimplemented from SceneObject.

void fxFoliageReplicator::onEditorEnable (  )  [virtual]

Called when the editor is activated.

Reimplemented from SimObject.

void fxFoliageReplicator::onEditorDisable (  )  [virtual]

Called when the editor is deactivated.

Reimplemented from SimObject.

void fxFoliageReplicator::inspectPostApply (  )  [virtual]

Called after any property of the object is changed in the world editor.

See also:
inspectPreApply

Reimplemented from SceneObject.

U32 fxFoliageReplicator::packUpdate ( NetConnection conn,
U32  mask,
BitStream stream 
) [virtual]

Instructs this object to pack its state for transfer over the network.

Parameters:
conn Net connection being used
mask Mask indicating fields to transmit.
stream Bitstream to pack data to
Returns:
Any bits which were not dealt with. The value is stored by the networking system. Don't set bits you weren't passed.

Reimplemented from NetObject.

void fxFoliageReplicator::unpackUpdate ( NetConnection conn,
BitStream stream 
) [virtual]

Instructs this object to read state data previously packed with packUpdate.

Parameters:
conn Net connection being used
stream stream to read from

Reimplemented from NetObject.

static void fxFoliageReplicator::initPersistFields (  )  [static]

Register dynamic fields in a subclass of ConsoleObject.

See also:
addField(), addFieldV(), addDeprecatedField(), addGroup(), endGroup()

Reimplemented from SceneObject.

fxFoliageReplicator::DECLARE_CONOBJECT ( fxFoliageReplicator   ) 


Member Data Documentation