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

The DtRenderer is the component responsible for rendering 3D images onto the screen.

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.)

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

Public Types

typedef std::unordered_map
< DtElementID, double
DtRenderMap
 

Public Member Functions

 DtRenderer (DtDe &de)
 
virtual ~DtRenderer ()
 
virtual void update ()
 
virtual void postUpdate ()
 
DtObserverObjectManagerobserverObjectManager ()
 
DtTickableManagerInterfacetickableManager ()
 
const DtTickableManagerInterfacetickableManager () const
 
DtOverlayManageroverlayManager ()
 
const DtOverlayManageroverlayManager () const
 
DtGeom3dLinesSystemgeom3dLinesSystem ()
 
const DtGeom3dLinesSystemgeom3dLinesSystem () const
 
DtGeom3dSpheresSystemgeom3dSpheresSystem ()
 
const DtGeom3dSpheresSystemgeom3dSpheresSystem () const
 
DtDebugShapesdebugShapes ()
 
virtual bool exportTerrainAndProps (const std::string &)=0
 
virtual void render ()=0
 
virtual void resetSceneGraph ()=0
 
virtual void removeChannelRoot (DtChannel *channel)=0
 
virtual void setWireframeRendering (bool enabled)=0
 
virtual bool wireframeRendering () const =0
 
virtual void setShadowState (bool enabled)=0
 
virtual bool shadowsEnabled () const =0
 
virtual void releaseResources ()=0
 
virtual bool makeContextCurrent ()=0
 
virtual DtFontManagerInterfacefontManager ()=0
 
virtual const
DtFontManagerInterface
fontManager () const =0
 
virtual void createManagers ()
 
const DtRenderMaprenderMap () const
 
virtual void cleanup ()=0
 
virtual void setNewProfilerState (int value)=0
 
virtual int newProfilerState ()=0
 

Public Attributes

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
 

Protected Attributes

DtDemyDe
 
DtObserverObjectManagermyObserverObjectManager
 
DtTickableManagerInterfacemyTickableManager
 
DtOverlayManagermyOverlayManager
 
DtIndirectEntityManagermyIndirectEntityManager
 
DtRenderMap myRenderMap
 
DtSignalConnectionManager myConnections
 
DtGeom3dLinesSystemmyGeom3dLinesSystem
 
DtGeom3dSpheresSystemmyGeom3dSpheresSystem
 
DtDebugShapesmyDebugShapes
 

Member Typedef Documentation

typedef std::unordered_map<DtElementID, double> makVrv::DtRenderer::DtRenderMap

Type definition of an unordered map that maps the element ids of objects recently rendered to the last simulation time at which they were rendered. Elements not rendered recently are removed.

Constructor & Destructor Documentation

makVrv::DtRenderer::DtRenderer ( DtDe de)

CTOR.

virtual makVrv::DtRenderer::~DtRenderer ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtRenderer::update ( )
virtual

Abstract update.

Reimplemented in makVrv::DtOsgRenderer.

virtual void makVrv::DtRenderer::postUpdate ( )
virtual

Called after tick; time to update observers.

DtObserverObjectManager* makVrv::DtRenderer::observerObjectManager ( )

Get the observer object manager.

DtTickableManagerInterface& makVrv::DtRenderer::tickableManager ( )

Get the scene manager's attachable scene object manager.

Referenced by makVrv::DtTemplatedTickableCreator< TickableToCreate, add >::create().

const DtTickableManagerInterface& makVrv::DtRenderer::tickableManager ( ) const
DtOverlayManager& makVrv::DtRenderer::overlayManager ( )

Get the manager's over the 2D overlays.

const DtOverlayManager& makVrv::DtRenderer::overlayManager ( ) const
DtGeom3dLinesSystem& makVrv::DtRenderer::geom3dLinesSystem ( )

Get the geometry lines component system.

const DtGeom3dLinesSystem& makVrv::DtRenderer::geom3dLinesSystem ( ) const
DtGeom3dSpheresSystem& makVrv::DtRenderer::geom3dSpheresSystem ( )

Get the geometry spheres component system.

const DtGeom3dSpheresSystem& makVrv::DtRenderer::geom3dSpheresSystem ( ) const
DtDebugShapes& makVrv::DtRenderer::debugShapes ( )

Get the debug shapes object for use with debugging geometry shapes.

virtual bool makVrv::DtRenderer::exportTerrainAndProps ( const std::string &  )
pure virtual

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.

Implemented in makVrv::DtOsgRenderer.

virtual void makVrv::DtRenderer::render ( )
pure virtual

Abstract render.

Implemented in makVrv::DtOsgRenderer.

virtual void makVrv::DtRenderer::resetSceneGraph ( )
pure virtual

Removes all nodes from the scene graph.

Implemented in makVrv::DtOsgRenderer.

virtual void makVrv::DtRenderer::removeChannelRoot ( DtChannel channel)
pure 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.

Implemented in makVrv::DtOsgRenderer.

virtual void makVrv::DtRenderer::setWireframeRendering ( bool  enabled)
pure virtual

Turn wireframe mode on/off.

Implemented in makVrv::DtOsgRenderer.

virtual bool makVrv::DtRenderer::wireframeRendering ( ) const
pure virtual

Get status of wireframe mode.

Implemented in makVrv::DtOsgRenderer.

virtual void makVrv::DtRenderer::setShadowState ( bool  enabled)
pure virtual

Set the shadow mode and settings.

Implemented in makVrv::DtOsgRenderer.

virtual bool makVrv::DtRenderer::shadowsEnabled ( ) const
pure virtual

Get status of shadow mode.

Implemented in makVrv::DtOsgRenderer.

virtual void makVrv::DtRenderer::releaseResources ( )
pure virtual

Release all openGL objects in the scene graph.

Implemented in makVrv::DtOsgRenderer.

virtual bool makVrv::DtRenderer::makeContextCurrent ( )
pure virtual

Attempt to make a context current.

Returns
true if a context was made current.

Implemented in makVrv::DtOsgRenderer.

virtual DtFontManagerInterface& makVrv::DtRenderer::fontManager ( )
pure virtual

Get the font manager.

Implemented in makVrv::DtOsgRenderer.

virtual const DtFontManagerInterface& makVrv::DtRenderer::fontManager ( ) const
pure virtual

Implemented in makVrv::DtOsgRenderer.

virtual void makVrv::DtRenderer::createManagers ( )
virtual

Create overlay manager, must be called after creating the renderer as the manager may expect a specific subclasses of renderer.

Reimplemented in DtVrfOsgRenderer, and makVrv::DtOsgRenderer.

const DtRenderMap& makVrv::DtRenderer::renderMap ( ) const
inline

Returns a const reference to the unordered map that contains all the element IDs of objects that were in the scene and what simTime they were last rendered in the scene.

virtual void makVrv::DtRenderer::cleanup ( )
pure virtual

base class doesn't have anything to cleanup. DtOsgRenderer cancels the the database pager in this function. Called by the DtDe before things are deleted at shutdown time.

Implemented in makVrv::DtOsgRenderer.

virtual void makVrv::DtRenderer::setNewProfilerState ( int  value)
pure virtual

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

Implemented in makVrv::DtOsgRenderer.

virtual int makVrv::DtRenderer::newProfilerState ( )
pure virtual

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

Implemented in makVrv::DtOsgRenderer.

Member Data Documentation

boost::signalslib::signal<void (double simTime)> makVrv::DtRenderer::signal_update

Signal used to update systems. Connect functions to this signal that need to be called once per tick in the update phase.

boost::signalslib::signal<void (double simTime)> makVrv::DtRenderer::signal_preObserverUpdate

Signal used to update systems. Connect functions to this signal that need to be called once per tick AFTER scene objects have been updated but before the observers are updated.

boost::signalslib::signal<void (double simTime)> makVrv::DtRenderer::signal_postUpdate

Signal used to update systems. Connect functions to this signal that need to be called once per tick in the post update phase.

boost::signalslib::signal<void ()> makVrv::DtRenderer::signal_releaseResources

Signal used to update systems. Connect functions to this signal that need to be called once per tick in the post update phase.

DtDe& makVrv::DtRenderer::myDe
protected
DtObserverObjectManager* makVrv::DtRenderer::myObserverObjectManager
protected
DtTickableManagerInterface* makVrv::DtRenderer::myTickableManager
protected
DtOverlayManager* makVrv::DtRenderer::myOverlayManager
protected
DtIndirectEntityManager& makVrv::DtRenderer::myIndirectEntityManager
protected
DtRenderMap makVrv::DtRenderer::myRenderMap
protected
DtSignalConnectionManager makVrv::DtRenderer::myConnections
protected
DtGeom3dLinesSystem* makVrv::DtRenderer::myGeom3dLinesSystem
protected
DtGeom3dSpheresSystem* makVrv::DtRenderer::myGeom3dSpheresSystem
protected
DtDebugShapes* makVrv::DtRenderer::myDebugShapes
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)