version 3.3

VRS::MultiSceneRenderer Class Reference

Abstract class to do the complete scene graph evaluation several times. More...

#include <vrs/sg/multiscenerenderer.h>

Inheritance diagram for VRS::MultiSceneRenderer:

VRS::SharedObj VRS::Visitable VRS::DepthOfFieldRendererGL VRS::StandardRenderer VRS::StereoRendererGL VRS::GrayScaleRendererGL

List of all members.

Public Member Functions

virtual void start (Engine *)=0
 Starts frame rendering with (possibly) several scene graph evaluations.
virtual void stop (Engine *)=0
 Stops frame rendering.
virtual bool needSceneEvaluation (Engine *)=0
 Returns whether evaluating the scene graph is required.
virtual void preEvaluateScene (Engine *)=0
 pre evaluation hook which is invoked before the scene graph is evaluated
virtual void postEvaluateScene (Engine *)=0
 post evaluation hook which is invoked after the scene graph is evaluated
virtual void evaluateScene (SceneThing *, Engine *, TechniqueProcessor *)
 Evaluates the scene graph, calling evaluateOnce() several times.
virtual void evaluateOnce (SceneThing *, Engine *, TechniqueProcessor *)
 Starts the evaluation algorithm for the scene node.
 VRS_TYPEINFO (MultiSceneRenderer, SharedObj)


Detailed Description

Abstract class to do the complete scene graph evaluation several times.

Abstract class provides an interface for doing all algorithms to evaluate the scene graph several times. The MultiSceneRenderer is orthogonal to the TechniqueProcessor and Technique objects, i.E., it starts and stops the TechniqueProcessor several times for each scene graph evaluation.

The MultiSceneRenderer is, for example, useful to implement Stereo-Viewing (rendering the scene twice from different camera positions is required) or for large scale snapshots. Only one MultiSceneRenderer can be used simultaneously to render a scene. In order to set the MultiSceneRenderer, use the setSceneRenderer() method of the Canvas.


Member Function Documentation

virtual void VRS::MultiSceneRenderer::start ( Engine  )  [pure virtual]

Starts frame rendering with (possibly) several scene graph evaluations.

Implemented in VRS::DepthOfFieldRendererGL, VRS::StereoRendererGL, and VRS::StandardRenderer.

virtual void VRS::MultiSceneRenderer::stop ( Engine  )  [pure virtual]

Stops frame rendering.

Implemented in VRS::DepthOfFieldRendererGL, VRS::StereoRendererGL, and VRS::StandardRenderer.

virtual bool VRS::MultiSceneRenderer::needSceneEvaluation ( Engine  )  [pure virtual]

Returns whether evaluating the scene graph is required.

Implemented in VRS::DepthOfFieldRendererGL, VRS::StereoRendererGL, and VRS::StandardRenderer.

virtual void VRS::MultiSceneRenderer::preEvaluateScene ( Engine  )  [pure virtual]

pre evaluation hook which is invoked before the scene graph is evaluated

Implemented in VRS::DepthOfFieldRendererGL, VRS::StereoRendererGL, and VRS::StandardRenderer.

virtual void VRS::MultiSceneRenderer::postEvaluateScene ( Engine  )  [pure virtual]

post evaluation hook which is invoked after the scene graph is evaluated

Implemented in VRS::DepthOfFieldRendererGL, VRS::GrayScaleRendererGL, VRS::StereoRendererGL, and VRS::StandardRenderer.

virtual void VRS::MultiSceneRenderer::evaluateScene ( SceneThing ,
Engine ,
TechniqueProcessor  
) [virtual]

Evaluates the scene graph, calling evaluateOnce() several times.

Implements the frame rendering algorithm that invokes the above abstract methods in order to render the frame. Basically, first start() is called. Then, as long as needSceneEvaluation() indicates that invoking the scene graph evaluation is required, the pre evaluation hook, evaluateOnce(), and the post evaluation hook is called. Finally, stop() is called.

virtual void VRS::MultiSceneRenderer::evaluateOnce ( SceneThing ,
Engine ,
TechniqueProcessor  
) [virtual]

Starts the evaluation algorithm for the scene node.

This method is invoked for evaluating the scene root node. The scene graph is traversed as often as dictated by the technique processor object.

VRS::MultiSceneRenderer::VRS_TYPEINFO ( MultiSceneRenderer  ,
SharedObj   
)


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

Generated on Tue May 22 06:00:29 2012 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact