H3D API  2.4.1
Public Member Functions | Static Public Member Functions | List of all members
H3D::H3DMultiPassRenderObject Class Reference

This abstract interface is inherited by all nodes that needs to render the scene an extra time(or more) to perform its task, e.g. More...

#include <H3D/H3DMultiPassRenderObject.h>

Inheritance diagram for H3D::H3DMultiPassRenderObject:
Inheritance graph

Public Member Functions

 H3DMultiPassRenderObject ()
 Constructor.
 
virtual ~H3DMultiPassRenderObject ()
 Destructor.
 
virtual void renderPreViewpoint (X3DChildNode *, X3DViewpointNode *)
 This function will be called before any viewpoint calls has been made when rendering the scene and before the scene is rendered. More...
 
virtual void renderPostViewpoint (X3DChildNode *, X3DViewpointNode *)
 This function will be called after the viewpoint has been set up for the scene to be rendered and before the scene is rendered. More...
 
virtual void renderPostScene (X3DChildNode *, X3DViewpointNode *)
 This function will be called after the scene has been rendered. More...
 
virtual void traverseSG (TraverseInfo &)
 Traverse the scenegraph.
 
void resetCounter ()
 Reset the counter.
 

Static Public Member Functions

static void renderPreViewpointAll (X3DChildNode *n, X3DViewpointNode *vp)
 Run renderPreViewpoint on all instances of H3DMultiPassRenderObject.
 
static void renderPostViewpointAll (X3DChildNode *n, X3DViewpointNode *vp)
 Run renderPostViewpoint on all instances of H3DMultiPassRenderObject.
 
static void renderPostSceneAll (X3DChildNode *n, X3DViewpointNode *vp)
 Run renderPostScene on all instances of H3DMultiPassRenderObject.
 
static void resetCounters ()
 Run resetCounter on all instances of H3DMultiPassRenderObject.
 
static void setMultiPassTransparencyAll (bool b)
 If multi pass transparency is set to true the scene should be rendered three times graphically, once for all solid objects, once for the back side of transparent objects and once for the front face of transparent objects. More...
 

Detailed Description

This abstract interface is inherited by all nodes that needs to render the scene an extra time(or more) to perform its task, e.g.

mirrors and similar effects.

Member Function Documentation

◆ renderPostScene()

virtual void H3D::H3DMultiPassRenderObject::renderPostScene ( X3DChildNode ,
X3DViewpointNode  
)
inlinevirtual

This function will be called after the scene has been rendered.

The In stereo mode it will be called once for each eye.

◆ renderPostViewpoint()

virtual void H3D::H3DMultiPassRenderObject::renderPostViewpoint ( X3DChildNode ,
X3DViewpointNode  
)
inlinevirtual

This function will be called after the viewpoint has been set up for the scene to be rendered and before the scene is rendered.

In stereo mode it will be called once for each eye.

Reimplemented in H3D::PlanarReflector.

◆ renderPreViewpoint()

virtual void H3D::H3DMultiPassRenderObject::renderPreViewpoint ( X3DChildNode ,
X3DViewpointNode  
)
inlinevirtual

This function will be called before any viewpoint calls has been made when rendering the scene and before the scene is rendered.

Observe that the function is just called once even when stereo is enabled. It is not called once per eye. Use renderPostViewpoint() for this.

Reimplemented in H3D::GeneratedCubeMapTexture.

◆ setMultiPassTransparencyAll()

static void H3D::H3DMultiPassRenderObject::setMultiPassTransparencyAll ( bool  b)
inlinestatic

If multi pass transparency is set to true the scene should be rendered three times graphically, once for all solid objects, once for the back side of transparent objects and once for the front face of transparent objects.

This is in order to avoid artifacts for transparent objects when rendered in the wrong order.

Referenced by H3D::H3DWindowNode::render().


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