VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Friends
makVrv::DtOsgRenderer Class Reference

The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneGraph The component responsible for drawing 3D images onto a screen is the DtRenderer. Each display engine owns one. The DtRenderer provides an interface for updating the scene graph and rendering the scene. Its update() and render() functions are called each display engine tick.

The core VR-Vantage Toolkit framework abstracts away from the underlying rendering implementation. This separation ensures that the rendering-independent code remains independent of OSG, while the rendering code exists in the libraries that depend on OSG. (VR-Vantage can support alternate rendering solutions.) The DtOsgRenderer is the OSG implementation of the DtRenderer and draws 3D images via OpenSceneGraph.

Inheritance diagram for makVrv::DtOsgRenderer:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtOsgRenderer ()
 
virtual void cleanup () override
 
virtual void update ()
 
virtual void render ()
 
virtual bool viewExists () const
 
virtual void resetSceneGraph ()
 
virtual void removeChannelRoot (DtChannel *channel)
 
virtual bool isSceneRootEmpty (const DtSceneRoot &sr)
 
virtual void addNodeToRoot (osg::Node *node, const DtSceneRoot &sr, bool createOnAccess=true)
 
virtual void addSceneRootToRoot (const DtSceneRoot &childRoot, const DtSceneRoot &parentRoot, bool createOnAccess=true)
 
virtual void removeNodeFromRoot (osg::Node *node, const DtSceneRoot &sr)
 
virtual void removeSceneRootFromRoot (const DtSceneRoot &childRoot, const DtSceneRoot &parentRoot)
 
virtual void traverseRoot (osg::NodeVisitor &nv, const DtSceneRoot &sr)
 
virtual void setSceneRootNodeMask (const DtSceneRoot &sr, osg::Node::NodeMask nodemask)
 
virtual osg::Node::NodeMask sceneRootNodeMask (const DtSceneRoot &sr)
 
virtual osg::BoundingSphere sceneRootBound (const DtSceneRoot &sr)
 
virtual osg::BoundingSphere sceneRootListBound (const DtSceneRootList &srList)
 
virtual void addChannelToModelSetRoot (int modelSetId, DtChannel *channel)
 
virtual void removeChannelFromModelSetRoot (int modelSetId, DtChannel *channel)
 
virtual void addChannelToVisualizerRoot (int modelSetId, int visualizerType, DtChannel *channel)
 
virtual void removeChannelFromVisualizerRoot (int modelSetId, int visualizerType, DtChannel *channel)
 
virtual void setSceneDataToRenderRoot (osgViewer::View &view)
 
virtual void addSceneToCamera (osg::Camera *camera)
 
virtual void addSceneRootToNode (const DtSceneRoot &sr, osg::Group *node, bool createOnAccess=true)
 
virtual osg::Group * findSceneRootChildByName (const DtSceneRoot &parent, const std::string &rootName)
 
virtual bool matchesSceneRoot (const DtSceneRoot &sr, osg::Group *group)
 
virtual void releaseResources ()
 
virtual void releaseResources (osg::State *state)
 
void setRootNode (osg::Group *, bool copyChildrenFromOldRoot)
 
void resetRoot ()
 
void registerPagedLODs (osg::Node *node)
 
void clearPagedLODs ()
 
virtual void setWireframeRendering (bool enabled)
 
virtual void setDdsFlip (bool flip)
 
virtual bool wireframeRendering () const
 
virtual void setShadowState (bool enabled)
 
virtual bool shadowsEnabled () const
 
virtual bool multiViewVrEnabled () const
 
virtual void setMultiViewVrEnabled (bool enabled)
 
virtual DtMultiViewDatagetOrCreateMultiViewData (const osg::Camera *camera)
 
void clearMultiViewData ()
 
void setTerrainScalingEnabled (bool enabled)
 
void setTerrainScaleFactor (double scaleFactor)
 
virtual bool makeContextCurrent ()
 
DtFontManagerfontManager ()
 
const DtFontManagerfontManager () const
 
DtEffectManagereffectManager ()
 
const DtEffectManagereffectManager () const
 
virtual void debugDrawBox (const osg::Vec3 &center, const osg::Vec3 &extents)
 
virtual void debugDrawBox (const osg::Vec3 &center, const osg::Vec3 &extents, const osg::Quat &orientation)
 
virtual void setChannelShadowState (DtOsgChannel *osgChannel, bool enable)
 
virtual bool channelShadowSettings (DtOsgChannel *osgChannel, DtShadowSettingsObject **shadowSettingObject, bool *isPlanView) const
 
virtual bool channelCloudShadowMap (DtOsgChannel *osgChannel, unsigned int *textureIndex, osg::Matrix *textureViewProjMatrix, unsigned int *textureIndex2, osg::Matrix *textureViewProjMatrix2) const
 
virtual bool cameraCloudShadowMap (osg::Camera *camera, unsigned int *textureIndex, osg::Matrix *textureViewProjMatrix, unsigned int *textureIndex2, osg::Matrix *textureViewProjMatrix2) const
 
osg::StateSet * sgRenderRootStateSet ()
 
void clearStateGraphForAllChannels (void)
 
virtual void addMainThreadPersistantJob (osg::Operation *opp)
 
virtual void removeMainThreadPersistantJob (osg::Operation *opp)
 
virtual void addMainThreadPreDrawJob (osg::Operation *opp)
 
virtual void addParallelThreadCullJob (osg::Operation *opp)
 
virtual void removeParallelThreadCullJob (osg::Operation *opp)
 
virtual void addParallelThreadSwapBufferJob (osg::Operation *opp)
 
virtual bool addMainThreadTransientJob (osg::Operation *operation, bool requiredThisFrame)
 
virtual void launchPreCullTasks (DtOsgCullVisitor *cv)
 
virtual void launchSwapBufferTasks ()
 
virtual DtMainThreadJobsManagercreateJobsManager ()
 
virtual int alphaToCoverageRenderBin ()
 
virtual void setNewProfilerState (int value)
 
virtual int newProfilerState ()
 
- Public Member Functions inherited from makVrv::DtRenderer
 DtRenderer (DtDe &de)
 
virtual ~DtRenderer ()
 
virtual void postUpdate ()
 
DtObserverObjectManagerobserverObjectManager ()
 
DtTickableManagerInterfacetickableManager ()
 
const DtTickableManagerInterfacetickableManager () const
 
DtOverlayManageroverlayManager ()
 
const DtOverlayManageroverlayManager () const
 
void createManagers ()
 
const DtRenderMaprenderMap () const
 

Static Public Member Functions

static DtOsgRendererfindInstance (DtDe &de)
 

Public Attributes

boost::signalslib::signal
< void(int modelSet, int
visualType) > 
signal_visualizerRootAdded
 
boost::signalslib::signal
< void(DtChannel *) > 
signal_channelRootAdded
 
boost::signalslib::signal
< void(bool active) > 
signal_treeProfilingChanged
 
boost::signalslib::signal
< void(bool active) > 
signal_diguyProfilingChanged
 
boost::signalslib::signal< void() > signal_shadowsRemoved
 
- Public Attributes inherited from makVrv::DtRenderer
boost::signalslib::signal
< void(double simTime)> 
signal_update
 
boost::signalslib::signal
< void(double simTime)> 
signal_preObserverUpdate
 
boost::signalslib::signal
< void(double simTime)> 
signal_postUpdate
 
boost::signalslib::signal< void()> signal_releaseResources
 

Static Public Attributes

static const int SKY_RENDERBIN = -10
 
static const int DEFAULT_RENDERBIN = 0
 
static const int DEPTH_ONLY_RENDERBIN = 5
 
static const int OCEAN_RENDERBIN = 6
 
static const int LIGHTPOINT_RENDERBIN = 7
 
static const int CLOUD_RENDERBIN = 8
 
static const int OCCLUSION_RENDERBIN = 9
 
static const int DEFAULT_TRANSPARENT_RENDERBIN = 10
 
static const int COCKPIT_RENDERBIN = 25
 
static const std::string AlphaToCoverageBin
 
static const std::string SkyBin
 
static const std::string DepthOnlyBin
 
static const std::string OceanBin
 
static const std::string LightPointBin
 
static const std::string CloudBin
 
static const std::string OcclusionRenderBin
 
static const std::string CockpitBin
 

Friends

class DtSceneGraph
 
class DtOsgRendererCreator
 
class DtSceneGraphTreeLogic
 

Utility functions for getting scene root index objects.

typedef boost::unordered_map
< int, osg::ref_ptr
< osg::Group > > 
RootMap
 
typedef boost::unordered_map
< int, osg::ref_ptr
< osgShadow::ShadowedScene > > 
ShadowedSceneMap
 
typedef int ModelSet
 
typedef int VisualizerType
 
typedef boost::unordered_map
< ModelSet, osg::ref_ptr
< osg::Group > > 
ModelSetRootMap
 
typedef boost::unordered_map
< VisualizerType, osg::ref_ptr
< osg::Group > > 
VisualizerTypeRootMap
 
typedef boost::unordered_map
< ModelSet,
VisualizerTypeRootMap
ModelSetVisualizerTypeRootMap
 
typedef boost::unordered_map
< DtChannel *, ModelSetRootMap
ChannelRootMap
 
typedef osg::ref_ptr
< osg::Operation > 
OperationRef
 
typedef std::vector< OperationRefOperationVector
 
DtSceneGraphmySceneGraph
 
DtFontManagermyFontManager
 
DtEffectManagermyEffectManager
 
DtOsgWindowManagermyOsgWindowManager
 
osg::ref_ptr< osgViewer::Viewer > myDefaultViewer
 
osg::ref_ptr< osg::Group > myRenderRoot
 
osg::ref_ptr< osg::Group > myDebugRoot
 
osg::ref_ptr< osg::Group > myNormalizedOverlayRoot
 
osg::ref_ptr< osg::Group > myStatic3dDebugRoot
 
osg::ref_ptr< osg::Geode > myDebugBox
 
osg::ref_ptr< osg::Group > myEnvironmentRoot
 
osg::ref_ptr< osg::Group > myTerrainRoot
 
osg::ref_ptr< osg::Group > myMinimapTerrainRoot
 
osg::ref_ptr< osg::Group > myMinimapFallbackTerrainRoot
 
osg::ref_ptr< osg::Group > myPropsRoot
 
osg::ref_ptr< osg::Group > myIntersectOnlyPropsRoot
 
osg::ref_ptr< osg::Group > myOceanRoot
 
osg::ref_ptr
< DtFastMatrixTransform
myScaledTerrainRoot
 
osg::ref_ptr
< DtFastMatrixTransform
myScaledPropsRoot
 
osg::Matrix myScaleMatrix
 
ModelSetRootMap myModelSetMap
 
ModelSetRootMap myIntersectOnlyRootMap
 
ModelSetVisualizerTypeRootMap myVisualizerRootMap
 
ChannelRootMap myChannelRootMap
 
ShadowedSceneMap myShadowedSceneMap
 
RootMap myShadowRootMap
 
osg::ref_ptr< osgUtil::RenderBin > myAlphaToCoverageBin
 
osg::ref_ptr< osgUtil::RenderBin > mySkyBin
 
osg::ref_ptr< osgUtil::RenderBin > myDepthOnlyBin
 
osg::ref_ptr< osgUtil::RenderBin > myOceanBin
 
osg::ref_ptr< osgUtil::RenderBin > myLightPointBin
 
osg::ref_ptr< osgUtil::RenderBin > myCloudBin
 
osg::ref_ptr< osgUtil::RenderBin > myCockpitBin
 
osg::ref_ptr< osgUtil::RenderBin > myOcclusionNodeBin
 
bool myWireframeOn
 
bool myShadowsEnabled
 
bool myMultiViewVrEnabled
 
std::map< const osg::Camera
*, DtMultiViewData * > 
myMultiViewData
 
DtTaxiwaySignManagermyTaxiwaySignManager
 
DtRunwayMarkingManagermyRunwayMarkingManager
 
DtLightIndicatorManagermyLightIndicatorManager
 
double myTerrainScaleFactor
 
bool myTerrainScaleFactorChanged
 
bool myTerrainScalingEnabled
 
bool myTerrainScalingEnabledChanged
 
bool myResourcesReleased
 
int myAlphaToCoverageRenderBin
 
int myNewProfilerState
 
DtMainThreadJobsManagermyMainThreadJobsManager
 
bool myReaddJobSystem
 
bool myInitializedInRender
 
unsigned int myActiveThreads
 
DtImguiHelpermyImGuiHelper
 
osg::ref_ptr
< DtOsgGlobalShaderComponent
myGlobalShaderComponent
 
OperationVector myParallelCullJobs
 
OperationVector myParallelSwapBufferJobs
 
static DtSceneRoot theRenderRoot
 
static DtSceneRoot theEnvironmentRoot
 
static DtSceneRoot theTerrainRoot
 
static DtSceneRoot theMinimapTerrainRoot
 
static DtSceneRoot theMinimapFallbackTerrainRoot
 
static DtSceneRoot thePropRoot
 
static DtSceneRoot theOceanRoot
 
static DtSceneRoot theIntersectOnlyPropRoot
 
static DtSceneRoot theNormalizedOverlayRoot
 
static std::string theShadowedSceneName
 
static DtOsgGlTextureListener theOsgGlTextureListener
 
static DtSceneRoot renderRoot ()
 
static DtSceneRoot environmentRoot ()
 
static DtSceneRoot terrainRoot ()
 
static DtSceneRoot minimapTerrainRoot ()
 
static DtSceneRoot minimapFallbackTerrainRoot ()
 
static DtSceneRoot propRoot ()
 
static DtSceneRoot intersectOnlyPropRoot ()
 
static DtSceneRoot oceanRoot ()
 
static DtSceneRoot intersectOnlyRoot (int modelSet)
 
static DtSceneRoot normalizedOverlayRoot ()
 
static DtSceneRoot modelSetRoot (int modelSet)
 
static DtSceneRoot visualizerTypeRoot (int modelSet, int visualizerType)
 
static DtSceneRoot channelRoot (int modelSet, DtChannel *channel)
 
static const std::string & shadowedSceneName (void)
 
static const
DtOsgGlTextureListener
osgGlTextureListener (void)
 
osg::Group * sgRenderRoot ()
 
osg::Group * sgEnvironmentRoot ()
 
osg::Group * sgPropsRoot ()
 
osg::Group * sgIntersectoOnlyPropsRoot ()
 
osg::Group * sgTerrainRoot ()
 
osg::Group * sgScaledTerrainRoot ()
 
osg::Group * sgScaledPropsRoot ()
 
osg::Group * sgMinimapTerrainRoot ()
 
osg::Group * sgMinimapFallbackTerrainRoot (bool createOnAccess)
 
osg::Group * sgNormalizedOverlayRoot ()
 
osg::Group * sgStatic3dDebugRoot ()
 
osg::Group * sgOceanRoot ()
 
virtual osg::Group * modelSetSpecificShadowRoot (int modelSet)
 
virtual osgShadow::ShadowedScene * modelSetSpecificShadowScene (int modelSet)
 
osg::Group * sgIntersectOnlyRoot (int modelSet)
 
virtual osgViewer::ViewerBase & viewer ()
 
virtual void clearMainThreadJobsManager ()
 
virtual DtImGuiLoaderStatsDataimGuiLoaderStatsData ()
 
virtual DtImguiHelperimGuiHelper ()
 
const DtMainThreadJobsManagermainThreadJobsManager () const
 
virtual void addIntStat (const std::string &name, int value)
 
virtual void addFloatStat (const std::string &name, float value)
 
virtual void addIntStat (const std::string &subsystem, const std::string &name, int value)
 
virtual void addFloatStat (const std::string &subsystem, const std::string &name, float value)
 
virtual unsigned int numActiveThreads () const
 
void advanceTime ()
 
virtual void moveRootToShadowRoot (const DtSceneRoot &targetRoot, osg::Group *shadowRoot, osg::Group *modelSetRoot)
 
 DtOsgRenderer (DtDe &de)
 
osg::Group * sgModelSetRoot (int modelSet)
 
osg::Group * sgVisualizerRoot (int modelSet, int visualizerType, bool createOnAccess=true)
 
osg::Group * sgChannelRoot (int modelSet, DtChannel *channel, bool createOnAccess=true)
 
void slot_onViewCreated ()
 
void slot_onViewToBeDestroyed ()
 
void slot_onWireframeModeChanged (bool mode)
 
void slot_onDdsFlipChanged (bool flip)
 
void slot_onOcclusionCullingChanged (bool enabled)
 
void slot_onShadowStateChanged (bool shadowMode)
 
void slot_onTerrainScalingEnabledChanged (bool enabled)
 
void slot_onTerrainScaleFactorChanged (double scaleFactor)
 
void slot_onCoordinateSystemChanged (const std::string &coordinateSystemType)
 
void updateSceneGraph ()
 
void clearEmptyWindows ()
 
void clearFrameBufferIfChannelChanged ()
 
virtual void removeShadows ()
 
virtual void createShadowRoots ()
 
virtual bool exportTerrainAndProps (const std::string &)
 
virtual osg::Group * createModelSetRoot (int modelSet)
 
virtual osg::Group * createVisualizerRoot (int modelSet, int visualizer)
 
virtual osg::Group * createChannelRoot (int modelSet, DtChannel *)
 
virtual osgShadow::ShadowedScene * createModelSetSpecificShadowRootAndScene (int modelSet)
 
virtual void updateTerrainScaling ()
 
virtual void initAerodromeManagers ()
 
virtual void updateAerodrome ()
 
void swapChildren (osg::Node *currentChild, osg::Node *newChild)
 
void postInitialize ()
 
void setupAtcVirtualProgram ()
 
virtual void processBackgroundLoaderIcoTasksIfNecessary (void)
 
virtual void setupTextureManagement (osg::TextureObjectManager *tom)
 
virtual void runMainThreadJobs (double timeBudget)
 
virtual int numDatabasePagerThreads (osgViewer::CompositeViewer &viewer) const
 
virtual bool isNahimicServiceRunning ()
 

Additional Inherited Members

- Public Types inherited from makVrv::DtRenderer
typedef boost::unordered_map
< DtElementID, double
DtRenderMap
 
- Protected Attributes inherited from makVrv::DtRenderer
DtDemyDe
 
DtObserverObjectManagermyObserverObjectManager
 
DtTickableManagerInterfacemyTickableManager
 
DtOverlayManagermyOverlayManager
 
DtRenderMap myRenderMap
 
DtSignalConnectionManager myConnections
 

Member Typedef Documentation

typedef boost::unordered_map<int, osg::ref_ptr<osg::Group> > makVrv::DtOsgRenderer::RootMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

typedef boost::unordered_map<int, osg::ref_ptr<osgShadow::ShadowedScene> > makVrv::DtOsgRenderer::ShadowedSceneMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

typedef boost::unordered_map< ModelSet, osg::ref_ptr<osg::Group> > makVrv::DtOsgRenderer::ModelSetRootMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

typedef boost::unordered_map< VisualizerType, osg::ref_ptr<osg::Group> > makVrv::DtOsgRenderer::VisualizerTypeRootMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

typedef boost::unordered_map< DtChannel*, ModelSetRootMap > makVrv::DtOsgRenderer::ChannelRootMap
protected

DtChannelSpecificGroup that contains only the channel it represents. This will allow for osg nodes to be parented on a channel basis under each model set. As an observer changes which model set it is viewing on the channel, the channel will be removed fom the channel specific group, however, the root itself will stay. The only time the root is removed is when the channel itself is destroyed.

typedef osg::ref_ptr<osg::Operation> makVrv::DtOsgRenderer::OperationRef
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

typedef std::vector<OperationRef> makVrv::DtOsgRenderer::OperationVector
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

Constructor & Destructor Documentation

virtual makVrv::DtOsgRenderer::~DtOsgRenderer ( )
virtual

DTOR.

makVrv::DtOsgRenderer::DtOsgRenderer ( DtDe de)
protected

CTOR

This is protected, use the creator instead.

Member Function Documentation

static DtOsgRenderer* makVrv::DtOsgRenderer::findInstance ( DtDe de)
static

Attempt to get the Osg renderer for the de. If the de is not initialized or the Renderer is of a different type the returned pointer will be null.

Return values
0If the de does not have an OSG renderer.
virtual void makVrv::DtOsgRenderer::cleanup ( )
overridevirtual

called by the DtDe before things are destroyed in order to stop the pager before stuff starts getting deleted.

Implements makVrv::DtRenderer.

virtual void makVrv::DtOsgRenderer::update ( )
virtual

Add functionality to update, update dynamic objects.

Reimplemented from makVrv::DtRenderer.

virtual void makVrv::DtOsgRenderer::render ( )
virtual

Render.

Implements makVrv::DtRenderer.

virtual bool makVrv::DtOsgRenderer::viewExists ( ) const
virtual

Returns whether or not a view (typically a window) exists.

virtual void makVrv::DtOsgRenderer::resetSceneGraph ( )
virtual

Removes all nodes from the scene graph.

Implements makVrv::DtRenderer.

virtual void makVrv::DtOsgRenderer::removeChannelRoot ( DtChannel channel)
virtual

Checks to see if this channel has a root, and, if it does, remove it from all model set roots. This will typically happen when a channel is destroyed.

virtual bool makVrv::DtOsgRenderer::isSceneRootEmpty ( const DtSceneRoot sr)
virtual

Checks to see if the specified sceneRoot currently has any children. Note that: in some cases, this may cause a scene root to be created if it doesn't exist A scene root that doesn't exist (and doesn't get created) is considered 'empty' by this method.

virtual void makVrv::DtOsgRenderer::addNodeToRoot ( osg::Node *  node,
const DtSceneRoot sr,
bool  createOnAccess = true 
)
virtual

Add a node to the specified SceneRoot.

virtual void makVrv::DtOsgRenderer::addSceneRootToRoot ( const DtSceneRoot childRoot,
const DtSceneRoot parentRoot,
bool  createOnAccess = true 
)
virtual

Add a (child) SceneRoot to the specified SceneRoot.

virtual void makVrv::DtOsgRenderer::removeNodeFromRoot ( osg::Node *  node,
const DtSceneRoot sr 
)
virtual

Remove a node from the specified SceneRoot.

virtual void makVrv::DtOsgRenderer::removeSceneRootFromRoot ( const DtSceneRoot childRoot,
const DtSceneRoot parentRoot 
)
virtual

Remove a (child) SceneRoot from the specified SceneRoot. No-op if childRoot is not a child of parentRoot.

virtual void makVrv::DtOsgRenderer::traverseRoot ( osg::NodeVisitor &  nv,
const DtSceneRoot sr 
)
virtual

Traverse from the specified SceneRoot with the given visitor.

virtual void makVrv::DtOsgRenderer::setSceneRootNodeMask ( const DtSceneRoot sr,
osg::Node::NodeMask  nodemask 
)
virtual

Set the nodemask of a SceneRoot.

virtual osg::Node::NodeMask makVrv::DtOsgRenderer::sceneRootNodeMask ( const DtSceneRoot sr)
virtual

Get the nodemask of a SceneRoot.

virtual osg::BoundingSphere makVrv::DtOsgRenderer::sceneRootBound ( const DtSceneRoot sr)
virtual

Get the bounding sphere of sceneRoot.

virtual osg::BoundingSphere makVrv::DtOsgRenderer::sceneRootListBound ( const DtSceneRootList srList)
virtual

Get the bounding sphere of list of sceneRoots.

virtual void makVrv::DtOsgRenderer::addChannelToModelSetRoot ( int  modelSetId,
DtChannel channel 
)
virtual

Set the specified channel to render a modelSet root.

virtual void makVrv::DtOsgRenderer::removeChannelFromModelSetRoot ( int  modelSetId,
DtChannel channel 
)
virtual

Stop the specified channel from rendering a modelSet root.

virtual void makVrv::DtOsgRenderer::addChannelToVisualizerRoot ( int  modelSetId,
int  visualizerType,
DtChannel channel 
)
virtual

Set the specified channel to render a visualizer type root.

virtual void makVrv::DtOsgRenderer::removeChannelFromVisualizerRoot ( int  modelSetId,
int  visualizerType,
DtChannel channel 
)
virtual

Stop the specified channel from rendering a visualizer type root.

virtual void makVrv::DtOsgRenderer::setSceneDataToRenderRoot ( osgViewer::View &  view)
virtual

Set the sceneData of a view to the top of the scene graph.

virtual void makVrv::DtOsgRenderer::addSceneToCamera ( osg::Camera *  camera)
virtual

Add the scene to the specified camera.

virtual void makVrv::DtOsgRenderer::addSceneRootToNode ( const DtSceneRoot sr,
osg::Group *  node,
bool  createOnAccess = true 
)
virtual

Add the specified SceneRoot to an OSG group node.

This should be used with caution - it creates a dependency between the caller and the scene graph's internal node structure.

virtual osg::Group* makVrv::DtOsgRenderer::findSceneRootChildByName ( const DtSceneRoot parent,
const std::string &  rootName 
)
virtual

Look up a root by name in the parent specified by SceneRoot. This should not be used to access roots that are created by Vantage. It Is provided for plugins to find the roots possibly created by other plugins (such as multiple GlStudio plugins, for example)

virtual bool makVrv::DtOsgRenderer::matchesSceneRoot ( const DtSceneRoot sr,
osg::Group *  group 
)
virtual

Does this group match the given scene root.

virtual void makVrv::DtOsgRenderer::releaseResources ( )
inlinevirtual

Release all openGL objects in the scene graph.

Implements makVrv::DtRenderer.

virtual void makVrv::DtOsgRenderer::releaseResources ( osg::State *  state)
virtual

Release all openGL objects in the scene graph.

void makVrv::DtOsgRenderer::setRootNode ( osg::Group *  ,
bool  copyChildrenFromOldRoot 
)

Set the new scene root node, and optionally copy the old root children.

void makVrv::DtOsgRenderer::resetRoot ( )

Reset the scene root node back to the original node.

void makVrv::DtOsgRenderer::registerPagedLODs ( osg::Node *  node)

Register any paged LOD's with all of the existing database pagers.

void makVrv::DtOsgRenderer::clearPagedLODs ( )

Register any paged LOD's with all of the existing database pagers.

virtual void makVrv::DtOsgRenderer::setWireframeRendering ( bool  enabled)
virtual

Turn on/off wireframe mode rendering.

Implements makVrv::DtRenderer.

virtual void makVrv::DtOsgRenderer::setDdsFlip ( bool  flip)
virtual

Turn on/off dds flip.

virtual bool makVrv::DtOsgRenderer::wireframeRendering ( ) const
virtual

Check wireframe status.

Implements makVrv::DtRenderer.

virtual void makVrv::DtOsgRenderer::setShadowState ( bool  enabled)
virtual

Set the global shadow mode.

Implements makVrv::DtRenderer.

virtual bool makVrv::DtOsgRenderer::shadowsEnabled ( ) const
virtual

Get global shadow mode.

Implements makVrv::DtRenderer.

virtual bool makVrv::DtOsgRenderer::multiViewVrEnabled ( ) const
virtual
virtual void makVrv::DtOsgRenderer::setMultiViewVrEnabled ( bool  enabled)
virtual
virtual DtMultiViewData& makVrv::DtOsgRenderer::getOrCreateMultiViewData ( const osg::Camera *  camera)
virtual
void makVrv::DtOsgRenderer::clearMultiViewData ( )
void makVrv::DtOsgRenderer::setTerrainScalingEnabled ( bool  enabled)

Set whether terrain scaling is on.

void makVrv::DtOsgRenderer::setTerrainScaleFactor ( double  scaleFactor)

Set the terrain scale factor (only used if scaling is on)

virtual bool makVrv::DtOsgRenderer::makeContextCurrent ( )
virtual

Attempt to make a context current.

Returns
true if a context was made current.

Implements makVrv::DtRenderer.

DtFontManager& makVrv::DtOsgRenderer::fontManager ( )

Get the font manager.

const DtFontManager& makVrv::DtOsgRenderer::fontManager ( ) const
DtEffectManager& makVrv::DtOsgRenderer::effectManager ( )

Get the font manager.

const DtEffectManager& makVrv::DtOsgRenderer::effectManager ( ) const
virtual void makVrv::DtOsgRenderer::debugDrawBox ( const osg::Vec3 &  center,
const osg::Vec3 &  extents 
)
virtual

Draw a box in the next frame.

virtual void makVrv::DtOsgRenderer::debugDrawBox ( const osg::Vec3 &  center,
const osg::Vec3 &  extents,
const osg::Quat &  orientation 
)
virtual

Draw a box in the next frame.

virtual void makVrv::DtOsgRenderer::setChannelShadowState ( DtOsgChannel osgChannel,
bool  enable 
)
virtual

Set the shadow mode for channels.

virtual bool makVrv::DtOsgRenderer::channelShadowSettings ( DtOsgChannel osgChannel,
DtShadowSettingsObject **  shadowSettingObject,
bool isPlanView 
) const
virtual

Gets the shadow settings for this channel.

virtual bool makVrv::DtOsgRenderer::channelCloudShadowMap ( DtOsgChannel osgChannel,
unsigned int textureIndex,
osg::Matrix *  textureViewProjMatrix,
unsigned int textureIndex2,
osg::Matrix *  textureViewProjMatrix2 
) const
virtual

Gets the cloud shadow map for this channel.

virtual bool makVrv::DtOsgRenderer::cameraCloudShadowMap ( osg::Camera *  camera,
unsigned int textureIndex,
osg::Matrix *  textureViewProjMatrix,
unsigned int textureIndex2,
osg::Matrix *  textureViewProjMatrix2 
) const
virtual

Gets the cloud shadow map for this camera.

osg::StateSet* makVrv::DtOsgRenderer::sgRenderRootStateSet ( )

Gets the stateset for the main render group root node.

void makVrv::DtOsgRenderer::clearStateGraphForAllChannels ( void  )

osg maintains an internal cache of StateSets in a StateGraph

virtual void makVrv::DtOsgRenderer::addMainThreadPersistantJob ( osg::Operation *  opp)
virtual

add an operation that will run every frame in the main thread while the cull thread is happening.

virtual void makVrv::DtOsgRenderer::removeMainThreadPersistantJob ( osg::Operation *  opp)
virtual

removes an operation that will run in the main thread while the cull thread is happening.

virtual void makVrv::DtOsgRenderer::addMainThreadPreDrawJob ( osg::Operation *  opp)
virtual

adds an operation that will run before rendering occurs.

virtual void makVrv::DtOsgRenderer::addParallelThreadCullJob ( osg::Operation *  opp)
virtual

adds an operation that will run before rendering occurs.

virtual void makVrv::DtOsgRenderer::removeParallelThreadCullJob ( osg::Operation *  opp)
virtual

remove a parallel thread cull job from the list

virtual void makVrv::DtOsgRenderer::addParallelThreadSwapBufferJob ( osg::Operation *  opp)
virtual

adds an operation that will run while swap buffers happen .

virtual bool makVrv::DtOsgRenderer::addMainThreadTransientJob ( osg::Operation *  operation,
bool  requiredThisFrame 
)
virtual

adds a jobs for doing work during cull see DtMainThreadJobManager

virtual void makVrv::DtOsgRenderer::launchPreCullTasks ( DtOsgCullVisitor cv)
virtual

runs precull jobs, run by DtOsgCullVistorCallback

virtual void makVrv::DtOsgRenderer::launchSwapBufferTasks ( )
virtual

run tasks in parallel to swap buffers and main thread job

Implements makVrv::DtRenderer.

virtual DtMainThreadJobsManager* makVrv::DtOsgRenderer::createJobsManager ( )
virtual

creates the job manager can be overloaded

virtual int makVrv::DtOsgRenderer::alphaToCoverageRenderBin ( )
virtual

get the render bin number being used for the alpha to coverage bin.

virtual void makVrv::DtOsgRenderer::setNewProfilerState ( int  value)
virtual

used for turning on and off tracy at the top level to avoid problems

Implements makVrv::DtRenderer.

virtual int makVrv::DtOsgRenderer::newProfilerState ( )
virtual

used for turning on and off tracy at the top level to avoid problems

Implements makVrv::DtRenderer.

static DtSceneRoot makVrv::DtOsgRenderer::renderRoot ( )
static

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::environmentRoot ( )
static

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::terrainRoot ( )
static

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::minimapTerrainRoot ( )
static

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::minimapFallbackTerrainRoot ( )
static

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::propRoot ( )
static

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::intersectOnlyPropRoot ( )
static

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::oceanRoot ( )
static

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::intersectOnlyRoot ( int  modelSet)
inlinestatic

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

References makVrv::DtSceneRoot::IntersectOnlyModelSetSpecific.

static DtSceneRoot makVrv::DtOsgRenderer::normalizedOverlayRoot ( )
static

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::modelSetRoot ( int  modelSet)
inlinestatic

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::visualizerTypeRoot ( int  modelSet,
int  visualizerType 
)
inlinestatic

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static DtSceneRoot makVrv::DtOsgRenderer::channelRoot ( int  modelSet,
DtChannel channel 
)
inlinestatic

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

static const std::string& makVrv::DtOsgRenderer::shadowedSceneName ( void  )
inlinestatic

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::Group* makVrv::DtOsgRenderer::sgRenderRoot ( )

Get the scene graph render root. This node will not change and should only be accessed when connecting a window to it.

osg::Group* makVrv::DtOsgRenderer::sgEnvironmentRoot ( )

Get the environment root which controls the scene's lighting and other

! global state.

osg::Group* makVrv::DtOsgRenderer::sgPropsRoot ( )

Get the props root node.

osg::Group* makVrv::DtOsgRenderer::sgIntersectoOnlyPropsRoot ( )

Get the intersect only props root (child of sgPropsRoot)

osg::Group* makVrv::DtOsgRenderer::sgTerrainRoot ( )

Get the terrains root node.

osg::Group* makVrv::DtOsgRenderer::sgScaledTerrainRoot ( )

Get the active terrain root when terrain scaling is on.

osg::Group* makVrv::DtOsgRenderer::sgScaledPropsRoot ( )

Get the active props root when terrain scaling is on.

osg::Group* makVrv::DtOsgRenderer::sgMinimapTerrainRoot ( )

Get the minimap terrains root node.

osg::Group* makVrv::DtOsgRenderer::sgMinimapFallbackTerrainRoot ( bool  createOnAccess)

Get the minimap fallback terrain root node.

osg::Group* makVrv::DtOsgRenderer::sgNormalizedOverlayRoot ( )

Get the debug graphics root node.

osg::Group* makVrv::DtOsgRenderer::sgStatic3dDebugRoot ( )

Get the debug graphics root node.

osg::Group* makVrv::DtOsgRenderer::sgOceanRoot ( )

Get the ocean root node.

virtual osg::Group* makVrv::DtOsgRenderer::modelSetSpecificShadowRoot ( int  modelSet)
virtual

Get ShadowRoot Group for the modelSet.

virtual osgShadow::ShadowedScene* makVrv::DtOsgRenderer::modelSetSpecificShadowScene ( int  modelSet)
virtual

Get ShadowScene for the modelSet.

osg::Group* makVrv::DtOsgRenderer::sgIntersectOnlyRoot ( int  modelSet)

get the intersect only root. Used by the indirect system for intersections.

virtual osgViewer::ViewerBase& makVrv::DtOsgRenderer::viewer ( )
virtual

Returns the current OSG viewer.

Generally this is a DefaultViewer before the display is initialized, and a composite viewer afterwards

virtual void makVrv::DtOsgRenderer::clearMainThreadJobsManager ( )
virtual

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

virtual DtImGuiLoaderStatsData* makVrv::DtOsgRenderer::imGuiLoaderStatsData ( )
virtual

access to the loader stats. lazy created parent imgui helper if needed

virtual DtImguiHelper* makVrv::DtOsgRenderer::imGuiHelper ( )
virtual

access the helper

const DtMainThreadJobsManager* makVrv::DtOsgRenderer::mainThreadJobsManager ( ) const

access to the main thread jobs manager.

virtual void makVrv::DtOsgRenderer::addIntStat ( const std::string &  name,
int  value 
)
virtual

brief imgui loader stats currently added to loader perf page toplevel int stat

virtual void makVrv::DtOsgRenderer::addFloatStat ( const std::string &  name,
float  value 
)
virtual

brief imgui loader stats currently added to loader perf page subcatagory float stat

virtual void makVrv::DtOsgRenderer::addIntStat ( const std::string &  subsystem,
const std::string &  name,
int  value 
)
virtual

brief imgui loader stats currently added to loader perf page toplevel int stat

virtual void makVrv::DtOsgRenderer::addFloatStat ( const std::string &  subsystem,
const std::string &  name,
float  value 
)
virtual

brief imgui loader stats currently added to loader perf page subcatagory float stat

virtual unsigned int makVrv::DtOsgRenderer::numActiveThreads ( ) const
virtual

gets the number of reported active threads from the file cache and the pagers.

void makVrv::DtOsgRenderer::advanceTime ( )

Advance time, slave calls it DtOsgRenderer::update(), master calls it from DtOsgKeyAndMouseEventListener.

static const DtOsgGlTextureListener& makVrv::DtOsgRenderer::osgGlTextureListener ( void  )
static

Access the texture listener/tracker For now, this is only so that imgui can access it and display the stats.

virtual void makVrv::DtOsgRenderer::moveRootToShadowRoot ( const DtSceneRoot targetRoot,
osg::Group *  shadowRoot,
osg::Group *  modelSetRoot 
)
protectedvirtual

Move a target root out of its model set root and into the shadow root.

osg::Group* makVrv::DtOsgRenderer::sgModelSetRoot ( int  modelSet)
protected

Get the root for a given modelSet. Nodes aren't put directly under here (except the model set-specific visualizer type nodes) but channels subscribe and unsubscribe to these.

Returns a DtChannelSpecificGroup or an osg::Group

osg::Group* makVrv::DtOsgRenderer::sgVisualizerRoot ( int  modelSet,
int  visualizerType,
bool  createOnAccess = true 
)
protected

Get the root for visual models of a specific type in a specific model set If the root does not exist and createOnAccess is true, it will be created and returned; otherwise, returns 0.

Returns a DtChannelSpecificGroup or an osg::Group

osg::Group* makVrv::DtOsgRenderer::sgChannelRoot ( int  modelSet,
DtChannel channel,
bool  createOnAccess = true 
)
protected

Get the root for the given channel. Nodes are put directly under this root. If root does not exist and createOnAccess is true will create, else return 0.

Returns a DtChannelSpecificGroup or an osg::Group

void makVrv::DtOsgRenderer::slot_onViewCreated ( )
protected

When a window is created, the fill out its myOsgWindowManager pointer.

void makVrv::DtOsgRenderer::slot_onViewToBeDestroyed ( )
protected

When a window is about to be destroyed, check if its the last window and if so, null out the myOsgWindowManager pointer.

void makVrv::DtOsgRenderer::slot_onWireframeModeChanged ( bool  mode)
protected

receive signals from the shared state about wireframe mode

void makVrv::DtOsgRenderer::slot_onDdsFlipChanged ( bool  flip)
protected

receive signals from the shared state about dds flip mode

void makVrv::DtOsgRenderer::slot_onOcclusionCullingChanged ( bool  enabled)
protected

receive signals from the shared state about occlusion culling state

void makVrv::DtOsgRenderer::slot_onShadowStateChanged ( bool  shadowMode)
protected

receive signals from the shared state abotu the shadow state

void makVrv::DtOsgRenderer::slot_onTerrainScalingEnabledChanged ( bool  enabled)
protected

receive signals from the shared state about the terrain scaling state

void makVrv::DtOsgRenderer::slot_onTerrainScaleFactorChanged ( double  scaleFactor)
protected

receive signals from the shared state about the terrain scale factor

void makVrv::DtOsgRenderer::slot_onCoordinateSystemChanged ( const std::string &  coordinateSystemType)
protected

receive signals from the shared state about coordinate system changes

void makVrv::DtOsgRenderer::updateSceneGraph ( )
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

void makVrv::DtOsgRenderer::clearEmptyWindows ( )
protected

This method checks for windows that exist but have no channels. It clears them each frame so that they don't have garbage on them.

void makVrv::DtOsgRenderer::clearFrameBufferIfChannelChanged ( )
protected

This method calls clearFrameBufferIfChanged on all the channels. This clears the buffer if the channel changed in some way that it needs to clean up the area of the framebuffer it is no longer using. Examples are if the viewport changed or HDR is toggled.

virtual void makVrv::DtOsgRenderer::removeShadows ( )
protectedvirtual

removes the shadows from the tree and restores any children to the scene root

virtual void makVrv::DtOsgRenderer::createShadowRoots ( )
protectedvirtual

creates a shadowed scene and adds it to the scene root

virtual bool makVrv::DtOsgRenderer::exportTerrainAndProps ( const std::string &  )
protectedvirtual

Saves terrain geometry and props to specified file. This file will be saved in the format specified by the file extension. Currently only the .gdb extension is supported.

Implements makVrv::DtRenderer.

virtual osg::Group* makVrv::DtOsgRenderer::createModelSetRoot ( int  modelSet)
protectedvirtual

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

virtual osg::Group* makVrv::DtOsgRenderer::createVisualizerRoot ( int  modelSet,
int  visualizer 
)
protectedvirtual

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

virtual osg::Group* makVrv::DtOsgRenderer::createChannelRoot ( int  modelSet,
DtChannel  
)
protectedvirtual

Create a root that is associated with the channel.

virtual osgShadow::ShadowedScene* makVrv::DtOsgRenderer::createModelSetSpecificShadowRootAndScene ( int  modelSet)
protectedvirtual

Create a ShadowRoot and ShadowScene for the model set.

virtual void makVrv::DtOsgRenderer::updateTerrainScaling ( )
protectedvirtual

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

virtual void makVrv::DtOsgRenderer::initAerodromeManagers ( )
protectedvirtual

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

virtual void makVrv::DtOsgRenderer::updateAerodrome ( )
protectedvirtual

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

void makVrv::DtOsgRenderer::swapChildren ( osg::Node *  currentChild,
osg::Node *  newChild 
)
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

void makVrv::DtOsgRenderer::postInitialize ( )
protected

Used to connect to the instance manager signal that provides the render set.

void makVrv::DtOsgRenderer::setupAtcVirtualProgram ( )
protected

Used to setup the dither shader for the alpha to coverage bin.

virtual void makVrv::DtOsgRenderer::processBackgroundLoaderIcoTasksIfNecessary ( void  )
protectedvirtual

moves asynchronously loaded compile sets to the ICO

virtual void makVrv::DtOsgRenderer::setupTextureManagement ( osg::TextureObjectManager *  tom)
protectedvirtual

initialize texture object management if necessary

virtual void makVrv::DtOsgRenderer::runMainThreadJobs ( double  timeBudget)
protectedvirtual

run the main thead job and ico for as long as specified, runs at the end of rendering if there is remainging time this can only be run if there is only one context or the osg graphics context and the opengl graphics context are in sync.

Implements makVrv::DtRenderer.

virtual int makVrv::DtOsgRenderer::numDatabasePagerThreads ( osgViewer::CompositeViewer &  viewer) const
protectedvirtual

Get the current number of database pagers a composite viewer has. Note that the viewer may have multiple views, and not all have to have a pager. This returns the number found for the first view with a pager.

virtual bool makVrv::DtOsgRenderer::isNahimicServiceRunning ( )
protectedvirtual

Check if Nahimic service is running and warn to shut it down since it can cause long swap buffer times.

Friends And Related Function Documentation

friend class DtSceneGraph
friend
friend class DtOsgRendererCreator
friend
friend class DtSceneGraphTreeLogic
friend

Member Data Documentation

const int makVrv::DtOsgRenderer::SKY_RENDERBIN = -10
static
const int makVrv::DtOsgRenderer::DEFAULT_RENDERBIN = 0
static
const int makVrv::DtOsgRenderer::DEPTH_ONLY_RENDERBIN = 5
static
const int makVrv::DtOsgRenderer::OCEAN_RENDERBIN = 6
static
const int makVrv::DtOsgRenderer::LIGHTPOINT_RENDERBIN = 7
static
const int makVrv::DtOsgRenderer::CLOUD_RENDERBIN = 8
static
const int makVrv::DtOsgRenderer::OCCLUSION_RENDERBIN = 9
static
const int makVrv::DtOsgRenderer::DEFAULT_TRANSPARENT_RENDERBIN = 10
static
const int makVrv::DtOsgRenderer::COCKPIT_RENDERBIN = 25
static
const std::string makVrv::DtOsgRenderer::AlphaToCoverageBin
static
const std::string makVrv::DtOsgRenderer::SkyBin
static
const std::string makVrv::DtOsgRenderer::DepthOnlyBin
static
const std::string makVrv::DtOsgRenderer::OceanBin
static
const std::string makVrv::DtOsgRenderer::LightPointBin
static
const std::string makVrv::DtOsgRenderer::CloudBin
static
const std::string makVrv::DtOsgRenderer::OcclusionRenderBin
static
const std::string makVrv::DtOsgRenderer::CockpitBin
static
boost::signalslib::signal< void(int modelSet, int visualType) > makVrv::DtOsgRenderer::signal_visualizerRootAdded
boost::signalslib::signal< void(DtChannel*) > makVrv::DtOsgRenderer::signal_channelRootAdded
boost::signalslib::signal< void(bool active) > makVrv::DtOsgRenderer::signal_treeProfilingChanged
boost::signalslib::signal< void(bool active) > makVrv::DtOsgRenderer::signal_diguyProfilingChanged
boost::signalslib::signal< void() > makVrv::DtOsgRenderer::signal_shadowsRemoved
DtSceneGraph* makVrv::DtOsgRenderer::mySceneGraph
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtFontManager* makVrv::DtOsgRenderer::myFontManager
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtEffectManager* makVrv::DtOsgRenderer::myEffectManager
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtOsgWindowManager* makVrv::DtOsgRenderer::myOsgWindowManager
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osgViewer::Viewer> makVrv::DtOsgRenderer::myDefaultViewer
protected

This viewer exists so that when there are no displays, windows, or channels, the scene can be updated and kept current. This way when a display, window, channel is created, the objects in the scene graph are current and will match other IG instances. It only gets updated when there myOsgWindowManager is null. It also never renders.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myRenderRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myDebugRoot
protected

Group for drawing debug graphics, cleared after each frame.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myNormalizedOverlayRoot
protected

Group for drawing debug graphics left alone each frame.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myStatic3dDebugRoot
protected

Group for drawing debug graphics left alone each frame.

osg::ref_ptr<osg::Geode> makVrv::DtOsgRenderer::myDebugBox
protected

Shared geometry for debug boxes.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myEnvironmentRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myTerrainRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myMinimapTerrainRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myMinimapFallbackTerrainRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myPropsRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myIntersectOnlyPropsRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osg::Group> makVrv::DtOsgRenderer::myOceanRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<DtFastMatrixTransform> makVrv::DtOsgRenderer::myScaledTerrainRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<DtFastMatrixTransform> makVrv::DtOsgRenderer::myScaledPropsRoot
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::Matrix makVrv::DtOsgRenderer::myScaleMatrix
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

ModelSetRootMap makVrv::DtOsgRenderer::myModelSetMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

ModelSetRootMap makVrv::DtOsgRenderer::myIntersectOnlyRootMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

ModelSetVisualizerTypeRootMap makVrv::DtOsgRenderer::myVisualizerRootMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

ChannelRootMap makVrv::DtOsgRenderer::myChannelRootMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

ShadowedSceneMap makVrv::DtOsgRenderer::myShadowedSceneMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

RootMap makVrv::DtOsgRenderer::myShadowRootMap
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osgUtil::RenderBin> makVrv::DtOsgRenderer::myAlphaToCoverageBin
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osgUtil::RenderBin> makVrv::DtOsgRenderer::mySkyBin
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osgUtil::RenderBin> makVrv::DtOsgRenderer::myDepthOnlyBin
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osgUtil::RenderBin> makVrv::DtOsgRenderer::myOceanBin
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osgUtil::RenderBin> makVrv::DtOsgRenderer::myLightPointBin
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osgUtil::RenderBin> makVrv::DtOsgRenderer::myCloudBin
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osgUtil::RenderBin> makVrv::DtOsgRenderer::myCockpitBin
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<osgUtil::RenderBin> makVrv::DtOsgRenderer::myOcclusionNodeBin
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

bool makVrv::DtOsgRenderer::myWireframeOn
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

bool makVrv::DtOsgRenderer::myShadowsEnabled
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

bool makVrv::DtOsgRenderer::myMultiViewVrEnabled
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

std::map<const osg::Camera*, DtMultiViewData*> makVrv::DtOsgRenderer::myMultiViewData
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtTaxiwaySignManager* makVrv::DtOsgRenderer::myTaxiwaySignManager
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtRunwayMarkingManager* makVrv::DtOsgRenderer::myRunwayMarkingManager
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtLightIndicatorManager* makVrv::DtOsgRenderer::myLightIndicatorManager
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

double makVrv::DtOsgRenderer::myTerrainScaleFactor
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

bool makVrv::DtOsgRenderer::myTerrainScaleFactorChanged
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

bool makVrv::DtOsgRenderer::myTerrainScalingEnabled
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

bool makVrv::DtOsgRenderer::myTerrainScalingEnabledChanged
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

bool makVrv::DtOsgRenderer::myResourcesReleased
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

int makVrv::DtOsgRenderer::myAlphaToCoverageRenderBin
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

int makVrv::DtOsgRenderer::myNewProfilerState
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtMainThreadJobsManager* makVrv::DtOsgRenderer::myMainThreadJobsManager
protected

system for doing work during cull

bool makVrv::DtOsgRenderer::myReaddJobSystem
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

bool makVrv::DtOsgRenderer::myInitializedInRender
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

unsigned int makVrv::DtOsgRenderer::myActiveThreads
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtSceneRoot makVrv::DtOsgRenderer::theRenderRoot
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtSceneRoot makVrv::DtOsgRenderer::theEnvironmentRoot
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtSceneRoot makVrv::DtOsgRenderer::theTerrainRoot
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtSceneRoot makVrv::DtOsgRenderer::theMinimapTerrainRoot
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtSceneRoot makVrv::DtOsgRenderer::theMinimapFallbackTerrainRoot
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtSceneRoot makVrv::DtOsgRenderer::thePropRoot
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtSceneRoot makVrv::DtOsgRenderer::theOceanRoot
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtSceneRoot makVrv::DtOsgRenderer::theIntersectOnlyPropRoot
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtSceneRoot makVrv::DtOsgRenderer::theNormalizedOverlayRoot
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

std::string makVrv::DtOsgRenderer::theShadowedSceneName
staticprotected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtImguiHelper* makVrv::DtOsgRenderer::myImGuiHelper
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

osg::ref_ptr<DtOsgGlobalShaderComponent> makVrv::DtOsgRenderer::myGlobalShaderComponent
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

OperationVector makVrv::DtOsgRenderer::myParallelCullJobs
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

OperationVector makVrv::DtOsgRenderer::myParallelSwapBufferJobs
protected

Under each model set group is another channel group for each visualizer type. So we have a map of visualizer type groups, one per model set.

DtOsgGlTextureListener makVrv::DtOsgRenderer::theOsgGlTextureListener
staticprotected

this is purposely static. osg textures can get deleted way after the DtOsgRenderer/DtDe has been deleted


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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)