DtSpeedTreeForest is the SpeedTree implementation of a distributed DtForestObject.
|
| | DtSpeedTreeForest (DtDe &de, DtUniqueID id) |
| |
| | DtSpeedTreeForest (DtDe &de, DtUniqueID id, const std::string &strVisManagerType) |
| |
| void | init (const std::string &strVisManagerType) |
| |
| virtual void | connectSignals (void) |
| |
| virtual osg::Vec3f | computeWindDirection (float fDirection) |
| |
| virtual void | setWindStrength (float fStrength) |
| |
| virtual void | setWindDirection (float fDirection) |
| |
| virtual void | preCull (DtOsgCullVisitor *cullVisitor) |
| |
| virtual void | preCullSetup (osg::Camera *osgCamera) |
| |
| virtual bool | preRenderCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, osg::RenderInfo &renderInfo) |
| |
| virtual void | postRenderCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, osg::RenderInfo &renderInfo) |
| |
| virtual void | provideTimeCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, double &fTime) |
| |
| virtual void | forestDeInitCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest) |
| |
| virtual void | pushGraphicsState (osg::RenderInfo &renderInfo) |
| |
| virtual void | popGraphicsState (osg::RenderInfo &renderInfo) |
| |
| virtual bool | createTree (DtTreeRecord &record) |
| |
| virtual void | initTreeDesc (makOsgSpeedTree::TreeInstanceDescriptor &desc, DtTreeRecord &record, const DtVector &up, DtCoordinateConverter *converter) |
| |
| virtual void | initTreeDesc (makOsgSpeedTree::TreeInstanceDescriptor &desc, DtTreeRecord &record, DtCoordinateConverter *converter, bool setupTopoFrame=true) |
| |
| virtual void | applyModelDefParameters (makOsgSpeedTree::TreeInstanceDescriptor &desc, DtTreeRecord &record) |
| |
| virtual const bool | bindLightingAttributes (const osg::Node *node, const uint32 programID, DtOsgRenderer *osgRenderer, const std::string &searchNodeName) |
| |
| virtual void | enablePlanarReflections (bool enable) |
| |
| | DtForestObject (DtDe &de, DtUniqueID id) |
| |
| virtual makVrv::DtSpeedTreeForest::~DtSpeedTreeForest |
( |
| ) |
|
|
virtual |
| makVrv::DtSpeedTreeForest::DtSpeedTreeForest |
( |
| ) |
|
|
delete |
Default Constructor not implemented.
Copy Constructor not implemented – Copy Not Allowed.
| makVrv::DtSpeedTreeForest::DtSpeedTreeForest |
( |
DtDe & |
de, |
|
|
DtUniqueID |
id |
|
) |
| |
|
protected |
Constructors are protected because this class is created via the creator pattern.
| makVrv::DtSpeedTreeForest::DtSpeedTreeForest |
( |
DtDe & |
de, |
|
|
DtUniqueID |
id, |
|
|
const std::string & |
strVisManagerType |
|
) |
| |
|
protected |
Assignment Operator Not implemented Assignment Not Allowed.
| virtual void makVrv::DtSpeedTreeForest::setVisible |
( |
bool |
isVisible | ) |
|
|
virtual |
set the visibility of this speed tree forest. When invisible, the node mask of the root node is cached and set to 0 and, if visible, the node mask is restored to the cached non-zero value.
| virtual void makVrv::DtSpeedTreeForest::addUniqueTree |
( |
DtTreeRecord & |
record | ) |
|
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::removeTree |
( |
DtUniqueID |
treeId | ) |
|
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::removeAllTrees |
( |
| ) |
|
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::removeAllUniqueTreesAndUniqueCell |
( |
DtUniqueID |
cellID | ) |
|
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::setTreeClippingPlane |
( |
float |
fFar | ) |
|
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::getTreeClippingPlane |
( |
float & |
fFar | ) |
|
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::setTree3DLodDistances |
( |
float |
fNear, |
|
|
float |
fFar |
|
) |
| |
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::getTree3DLodDistances |
( |
float & |
fNear, |
|
|
float & |
fFar |
|
) |
| |
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::setTreeBillboardDistances |
( |
float |
fStart, |
|
|
float |
fEnd |
|
) |
| |
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::getTreeBillboardDistances |
( |
float & |
fStart, |
|
|
float & |
fEnd |
|
) |
| |
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::setBillboardFadeOutRange |
( |
float |
fRange | ) |
|
|
virtual |
set the fade out distance for the billboards. The Range - Cull distance = start transition dist
Implements makVrv::DtForestObject.
| virtual void makVrv::DtSpeedTreeForest::getBillboardFadeOutRange |
( |
float & |
fRange | ) |
|
|
virtual |
get the fade out distance for the billboards. The Range - Cull distance = start transition dist
Implements makVrv::DtForestObject.
| virtual void makVrv::DtSpeedTreeForest::enableBillboardRendering |
( |
bool |
enable | ) |
|
|
virtual |
| virtual bool makVrv::DtSpeedTreeForest::isBillboardRenderingEnabled |
( |
| ) |
const |
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::enable3DTreeRendering |
( |
bool |
enable | ) |
|
|
virtual |
| virtual bool makVrv::DtSpeedTreeForest::is3DTreeRenderingEnabled |
( |
| ) |
const |
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::enableReceiveShadows |
( |
bool |
enable | ) |
|
|
virtual |
| virtual bool makVrv::DtSpeedTreeForest::isReceiveShadowsEnabled |
( |
| ) |
const |
|
inlinevirtual |
| virtual void makVrv::DtSpeedTreeForest::setBoundingBox |
( |
const osg::BoundingBox & |
box | ) |
|
|
virtual |
| virtual const osg::BoundingBox& makVrv::DtSpeedTreeForest::getBoundingBox |
( |
void |
| ) |
const |
|
virtual |
| virtual osg::ref_ptr<osg::Node> makVrv::DtSpeedTreeForest::getRootNode |
( |
void |
| ) |
|
|
virtual |
gets the root node for this forest which contains the stateset for the forest
callback from when a shader is loaded in speedtree so VRV can bind its own uniforms
| virtual void makVrv::DtSpeedTreeForest::slot_reloadShaders |
( |
| ) |
|
|
virtual |
Indicate to the SpeedTreeForest that it should recompile the SpeedTree (and related) shaders.
| virtual void makVrv::DtSpeedTreeForest::slot_treeProfilingChanged |
( |
bool |
active | ) |
|
|
virtual |
| virtual void makVrv::DtSpeedTreeForest::slot_useGlobalAmbientChanged |
( |
bool |
enabled | ) |
|
|
virtual |
Runs when the user checks the Use Global Ambient Checkbox.
| virtual void makVrv::DtSpeedTreeForest::slot_useGlobalDiffuseChanged |
( |
bool |
enabled | ) |
|
|
virtual |
Runs when the user checks the Use Global Diffuse Checkbox.
| virtual void makVrv::DtSpeedTreeForest::slot_perPixelLightingEnabledChanged |
( |
bool |
enabled | ) |
|
|
virtual |
Runs when the user checks the Display Light Rendering Settings Enable Lighting checkbox.
| virtual void makVrv::DtSpeedTreeForest::slot_planarReflectionsShowSpeedTreesChanged |
( |
bool |
enabled | ) |
|
|
virtual |
handles the flag that sets whether trees should be rendered in the planar reflections.
| virtual void makVrv::DtSpeedTreeForest::processUninitialized |
( |
| ) |
|
|
virtual |
called by job system post merge.
| virtual bool makVrv::DtSpeedTreeForest::initialized |
( |
| ) |
|
|
virtual |
has this forest been initialized yet.
| virtual tbb::mutex& makVrv::DtSpeedTreeForest::mergeDrawMutex |
( |
| ) |
|
|
virtual |
mutex for preventing the vis manager from being changed during draw
| virtual tbb::mutex& makVrv::DtSpeedTreeForest::mergeUpdateMutex |
( |
| ) |
|
|
virtual |
mutex for preventing the merge and update functions from running at the same time.
accessor for the underlying speedtree forest.
| void makVrv::DtSpeedTreeForest::init |
( |
const std::string & |
strVisManagerType | ) |
|
|
protected |
Non-Virtual. Called by constructor.
| virtual void makVrv::DtSpeedTreeForest::connectSignals |
( |
void |
| ) |
|
|
protectedvirtual |
| virtual osg::Vec3f makVrv::DtSpeedTreeForest::computeWindDirection |
( |
float |
fDirection | ) |
|
|
protectedvirtual |
| virtual void makVrv::DtSpeedTreeForest::setWindStrength |
( |
float |
fStrength | ) |
|
|
protectedvirtual |
| virtual void makVrv::DtSpeedTreeForest::setWindDirection |
( |
float |
fDirection | ) |
|
|
protectedvirtual |
| virtual void makVrv::DtSpeedTreeForest::preCull |
( |
DtOsgCullVisitor * |
cullVisitor | ) |
|
|
protectedvirtual |
Does work to prepare for culling. Only called from the main thread.
| virtual void makVrv::DtSpeedTreeForest::preCullSetup |
( |
osg::Camera * |
osgCamera | ) |
|
|
protectedvirtual |
Computes if the forest update should be called for the given camera. Sets the directional lighting and zoom values for the forest.
| virtual void makVrv::DtSpeedTreeForest::pushGraphicsState |
( |
osg::RenderInfo & |
renderInfo | ) |
|
|
protectedvirtual |
| virtual void makVrv::DtSpeedTreeForest::popGraphicsState |
( |
osg::RenderInfo & |
renderInfo | ) |
|
|
protectedvirtual |
No-op. Always returns true.
| virtual void makVrv::DtSpeedTreeForest::initTreeDesc |
( |
makOsgSpeedTree::TreeInstanceDescriptor & |
desc, |
|
|
DtTreeRecord & |
record, |
|
|
const DtVector & |
up, |
|
|
DtCoordinateConverter * |
converter |
|
) |
| |
|
protectedvirtual |
initialize a tree description. Pass in the coordinate converter since this can be called from both the main render thread or the merge thread
| virtual void makVrv::DtSpeedTreeForest::initTreeDesc |
( |
makOsgSpeedTree::TreeInstanceDescriptor & |
desc, |
|
|
DtTreeRecord & |
record, |
|
|
DtCoordinateConverter * |
converter, |
|
|
bool |
setupTopoFrame = true |
|
) |
| |
|
protectedvirtual |
initialize a tree description. Pass in the coordinate converter since this can be called from both the main render thread or the merge thread
| virtual void makVrv::DtSpeedTreeForest::applyModelDefParameters |
( |
makOsgSpeedTree::TreeInstanceDescriptor & |
desc, |
|
|
DtTreeRecord & |
record |
|
) |
| |
|
protectedvirtual |
| virtual const bool makVrv::DtSpeedTreeForest::bindLightingAttributes |
( |
const osg::Node * |
node, |
|
|
const uint32 |
programID, |
|
|
DtOsgRenderer * |
osgRenderer, |
|
|
const std::string & |
searchNodeName |
|
) |
| |
|
protectedvirtual |
Recursively walk up the scenegraph searching for a node to bind lighting attributes to the shader program. This method assumes myExt is valid for this object. Returns true if search node was found.
- Parameters
-
| node | The current node to operate with. |
| programID | The shader program to bind attributes to. |
| osgRenderer | A valid pointer to the renderer. |
| searchNodeName | The node name to search for. |
| virtual void makVrv::DtSpeedTreeForest::enablePlanarReflections |
( |
bool |
enable | ) |
|
|
protectedvirtual |
sets whether trees should be rendered in the planar reflections.
| static bool makVrv::DtSpeedTreeForest::isReflectionCamera |
( |
osg::Camera * |
camera | ) |
|
|
staticprotected |
is the current camera in the render info a reflection camera
| friend class DtSpeedTreeForestClassesCreator |
|
friend |
| const float makVrv::DtSpeedTreeForest::myCellSize |
|
staticprotected |
| unsigned int makVrv::DtSpeedTreeForest::theLastImGuiFrameNumber |
|
staticprotected |
| unsigned int makVrv::DtSpeedTreeForest::theLastFrameShadersReloaded |
|
staticprotected |
| makOsgSpeedTree::TreeInstanceDescriptor makVrv::DtSpeedTreeForest::myScratchTreeInstanceDesc |
|
protected |
| makOsgSpeedTree::TreeInstanceDescriptorCollection makVrv::DtSpeedTreeForest::myScratchTreeInstanceDescCollection |
|
protected |
| makOsgSpeedTree::TreeInstanceCollection makVrv::DtSpeedTreeForest::myScratchInstanceCollection |
|
protected |
| int makVrv::DtSpeedTreeForest::myPreviousTU |
|
protected |
| osg::Camera* makVrv::DtSpeedTreeForest::myCamera |
|
protected |
| std::unordered_map<int, bool> makVrv::DtSpeedTreeForest::myShaderBoundMap |
|
protected |
| float makVrv::DtSpeedTreeForest::myFarPlane |
|
protected |
The forest is a collection of trees under a group node.
| osg::ref_ptr<osg::PositionAttitudeTransform> makVrv::DtSpeedTreeForest::myPat |
|
protected |
| osg::BoundingBox makVrv::DtSpeedTreeForest::myBoundingBox |
|
protected |
| unsigned int makVrv::DtSpeedTreeForest::myLastShaderHash |
|
protected |
shader hash for the last shaders passed down to SpeedTree
| bool makVrv::DtSpeedTreeForest::myReloadShaders |
|
protected |
Should we reload the SpeedTree shaders.
| const std::string makVrv::DtSpeedTreeForest::mySpeedTreeDefaultUserFuncsVertexShader |
|
protected |
| const std::string makVrv::DtSpeedTreeForest::mySpeedTreeDefaultUserFuncsPixelShader |
|
protected |
| const std::string makVrv::DtSpeedTreeForest::mySpeedTreeMultiViewUserFuncsVertexShader |
|
protected |
| osg::ref_ptr<osg::Uniform> makVrv::DtSpeedTreeForest::myProjectionMatrixInverseUniform |
|
protected |
| osg::ref_ptr<osg::Uniform> makVrv::DtSpeedTreeForest::myNormalMatrixUniform |
|
protected |
| bool makVrv::DtSpeedTreeForest::myReceiveShadows |
|
protected |
| tbb::mutex makVrv::DtSpeedTreeForest::myForestMergeDrawMutex |
|
protected |
| tbb::mutex makVrv::DtSpeedTreeForest::myForestAddRemoveMutex |
|
protected |
| tbb::mutex makVrv::DtSpeedTreeForest::myForestMergeUpdateMutex |
|
protected |
| unsigned int makVrv::DtSpeedTreeForest::myRestoreVisibilityNodeMask |
|
protected |
| bool makVrv::DtSpeedTreeForest::myUpdateUserDefinedShaders |
|
protected |
| int makVrv::DtSpeedTreeForest::myLastPerFrameUpdateFrameNumber |
|
protected |
The documentation for this class was generated from the following file: