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) |
| |
| void | connectSignals (void) |
| |
| osg::Vec3f | computeWindDirection (float fDirection) |
| |
| void | setWindStrength (float fStrength) |
| |
| void | setWindDirection (float fDirection) |
| |
| bool | preUpdateCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest) |
| |
| bool | preRenderCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, osg::RenderInfo &renderInfo) |
| |
| void | postRenderCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, osg::RenderInfo &renderInfo) |
| |
| void | provideTimeCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, double &fTime) |
| |
| void | pushGraphicsState (osg::RenderInfo &renderInfo) |
| |
| void | popGraphicsState (osg::RenderInfo &renderInfo) |
| |
| virtual DtModelDefinition * | findModelDefinition (const std::string &modelDef) |
| |
| bool | createTree (DtTreeRecord &record) |
| |
| void | initTreeDesc (makOsgSpeedTree::TreeInstanceDescriptor &desc, DtTreeRecord &record, const DtVector &up, DtCoordinateConverter *converter) |
| |
| void | initTreeDesc (makOsgSpeedTree::TreeInstanceDescriptor &desc, DtTreeRecord &record, DtCoordinateConverter *converter, bool setupTopoFrame=true) |
| |
| void | applyModelDefParameters (makOsgSpeedTree::TreeInstanceDescriptor &desc, DtTreeRecord &record) |
| |
| virtual const bool | bindLightingAttributes (const osg::Node *node, const uint32 programID, DtOsgRenderer *osgRenderer, const std::string &searchNodeName) |
| |
| | DtForestObject (DtDe &de, DtUniqueID id) |
| |
| virtual makVrv::DtSpeedTreeForest::~DtSpeedTreeForest |
( |
| ) |
|
|
virtual |
| 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 |
| makVrv::DtSpeedTreeForest::DtSpeedTreeForest |
( |
| ) |
|
|
private |
Default Constructor not implemented.
Copy Constructor not implemented – Copy Not Allowed.
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 |
| void makVrv::DtSpeedTreeForest::setBoundingBox |
( |
const osg::BoundingBox & |
box | ) |
|
| const osg::BoundingBox& makVrv::DtSpeedTreeForest::getBoundingBox |
( |
void |
| ) |
const |
| osg::ref_ptr<osg::Node> makVrv::DtSpeedTreeForest::getRootNode |
( |
void |
| ) |
|
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 (done in the preUpdateCallback)
| 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::processUnitialized |
( |
| ) |
|
|
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.
check to see if this forest should be updated this frame and setup the fog color. This was moved from preUpdate so that it didn't happen in a background thread to avoid threading issues.
| void makVrv::DtSpeedTreeForest::init |
( |
const std::string & |
strVisManagerType | ) |
|
|
protected |
| void makVrv::DtSpeedTreeForest::connectSignals |
( |
void |
| ) |
|
|
protected |
| osg::Vec3f makVrv::DtSpeedTreeForest::computeWindDirection |
( |
float |
fDirection | ) |
|
|
protected |
| void makVrv::DtSpeedTreeForest::setWindStrength |
( |
float |
fStrength | ) |
|
|
protected |
| void makVrv::DtSpeedTreeForest::setWindDirection |
( |
float |
fDirection | ) |
|
|
protected |
this now just returns the results of the preCullSetup check to see if update should happen this frame or not.
| void makVrv::DtSpeedTreeForest::pushGraphicsState |
( |
osg::RenderInfo & |
renderInfo | ) |
|
|
protected |
| void makVrv::DtSpeedTreeForest::popGraphicsState |
( |
osg::RenderInfo & |
renderInfo | ) |
|
|
protected |
| virtual DtModelDefinition* makVrv::DtSpeedTreeForest::findModelDefinition |
( |
const std::string & |
modelDef | ) |
|
|
protectedvirtual |
Find a DtModelDefinition* from the model definition name.
No-op. Always returns true.
initialize a tree description. Pass in the coordinate converter since this can be called from both the main render thread or the merge thread
initialize a tree description. Pass in the coordinate converter since this can be called from both the main render thread or the merge thread
| void makVrv::DtSpeedTreeForest::applyModelDefParameters |
( |
makOsgSpeedTree::TreeInstanceDescriptor & |
desc, |
|
|
DtTreeRecord & |
record |
|
) |
| |
|
protected |
| 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. |
| 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 |
| bool makVrv::DtSpeedTreeForest::theEnableAsyncUpdate |
|
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 |
| osg::GLExtensions* makVrv::DtSpeedTreeForest::myExt |
|
protected |
| bool makVrv::DtSpeedTreeForest::myReceiveShadows |
|
protected |
| tbb::mutex makVrv::DtSpeedTreeForest::myForestMergeDrawMutex |
|
protected |
| tbb::mutex makVrv::DtSpeedTreeForest::myForestAddRemoveMutex |
|
protected |
| tbb::mutex makVrv::DtSpeedTreeForest::myForestMergeUpdateMutex |
|
protected |
| bool makVrv::DtSpeedTreeForest::myShouldUpdateThisFrame |
|
protected |
| unsigned int makVrv::DtSpeedTreeForest::myRestoreVisibilityNodeMask |
|
protected |
The documentation for this class was generated from the following file: