vtkShadowMapPass Class Reference

#include <vtkShadowMapPass.h>

Inheritance diagram for vtkShadowMapPass:

Inheritance graph
[legend]
Collaboration diagram for vtkShadowMapPass:

Collaboration graph
[legend]

List of all members.


Detailed Description

Implement a shadow mapping render pass.

Render the opaque polygonal geometry of a scene with shadow maps (a technique to render hard shadows in hardware).

This pass expects an initialized depth buffer and color buffer. Initialized buffers means they have been cleared with farest z-value and background color/gradient/transparent color. An opaque pass may have been performed right after the initialization.

Its delegate is usually set to a vtkOpaquePass.

Implementation:
The first pass of the algorithm is to generate a shadow map per light (depth map from the light point of view) by rendering the opaque objects with the OCCLUDER property keys. The second pass is to render the opaque objects with the RECEIVER keys.
See also:
vtkRenderPass, vtkOpaquePass
Tests:
vtkShadowMapPass (Tests)

Definition at line 63 of file vtkShadowMapPass.h.


Public Types

typedef vtkRenderPass Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void ReleaseGraphicsResources (vtkWindow *w)
virtual void Render (const vtkRenderState *s)
virtual vtkShadowMapBakerPassGetShadowMapBakerPass ()
virtual void SetShadowMapBakerPass (vtkShadowMapBakerPass *shadowMapBakerPass)
virtual vtkRenderPassGetOpaquePass ()
virtual void SetOpaquePass (vtkRenderPass *opaquePass)

Static Public Member Functions

static vtkShadowMapPassNew ()
static int IsTypeOf (const char *type)
static vtkShadowMapPassSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkShadowMapPass ()
virtual ~vtkShadowMapPass ()
void BuildSpotLightIntensityMap ()
void CheckSupport (vtkOpenGLRenderWindow *w)

Protected Attributes

vtkShadowMapBakerPassShadowMapBakerPass
vtkRenderPassCompositeRGBAPass
vtkRenderPassOpaquePass
vtkFrameBufferObjectFrameBufferObject
vtkShadowMapPassTextures * ShadowMaps
vtkShadowMapPassLightCameras * LightCameras
vtkShaderProgram2Program
vtkTextureObjectIntensityMap
vtkSampleFunctionIntensitySource
vtkImageExportIntensityExporter
vtkImplicitHaloHalo
vtkTimeStamp LastRenderTime

Member Typedef Documentation

Reimplemented from vtkRenderPass.

Definition at line 67 of file vtkShadowMapPass.h.


Constructor & Destructor Documentation

vtkShadowMapPass::vtkShadowMapPass (  )  [protected]

Default constructor. DelegatetPass is set to NULL.

virtual vtkShadowMapPass::~vtkShadowMapPass (  )  [protected, virtual]

Destructor.


Member Function Documentation

static vtkShadowMapPass* vtkShadowMapPass::New (  )  [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual const char* vtkShadowMapPass::GetClassName (  )  [virtual]

Reimplemented from vtkRenderPass.

static int vtkShadowMapPass::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkRenderPass.

virtual int vtkShadowMapPass::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkRenderPass.

static vtkShadowMapPass* vtkShadowMapPass::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkRenderPass.

void vtkShadowMapPass::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkRenderPass.

virtual void vtkShadowMapPass::Render ( const vtkRenderState s  )  [virtual]

Perform rendering according to a render state s.

Precondition:
s_exists: s!=0

Implements vtkRenderPass.

void vtkShadowMapPass::ReleaseGraphicsResources ( vtkWindow w  )  [virtual]

Release graphics resources and ask components to release their own resources.

Precondition:
w_exists: w!=0

Reimplemented from vtkRenderPass.

virtual vtkShadowMapBakerPass* vtkShadowMapPass::GetShadowMapBakerPass (  )  [virtual]

Pass that generates the shadow maps. the vtkShadowMapPass will use the Resolution ivar of this pass. Initial value is a NULL pointer.

virtual void vtkShadowMapPass::SetShadowMapBakerPass ( vtkShadowMapBakerPass shadowMapBakerPass  )  [virtual]

Pass that generates the shadow maps. the vtkShadowMapPass will use the Resolution ivar of this pass. Initial value is a NULL pointer.

virtual vtkRenderPass* vtkShadowMapPass::GetOpaquePass (  )  [virtual]

Pass that render the opaque geometry, with no camera pass (otherwise it does not work with Ice-T). Initial value is a NULL pointer. Typically a sequence pass with a light pass and opaque pass. This should be the Opaque pass of the vtkShadowMapBakerPass without the vtkCameraPass.

virtual void vtkShadowMapPass::SetOpaquePass ( vtkRenderPass opaquePass  )  [virtual]

Pass that render the opaque geometry, with no camera pass (otherwise it does not work with Ice-T). Initial value is a NULL pointer. Typically a sequence pass with a light pass and opaque pass. This should be the Opaque pass of the vtkShadowMapBakerPass without the vtkCameraPass.

void vtkShadowMapPass::BuildSpotLightIntensityMap (  )  [protected]

Build the intensity map.

void vtkShadowMapPass::CheckSupport ( vtkOpenGLRenderWindow w  )  [protected]

Check if shadow mapping is supported by the current OpenGL context.

Precondition:
w_exists: w!=0


Member Data Documentation

Definition at line 114 of file vtkShadowMapPass.h.

Definition at line 115 of file vtkShadowMapPass.h.

Definition at line 117 of file vtkShadowMapPass.h.

Graphics resources.

Definition at line 120 of file vtkShadowMapPass.h.

vtkShadowMapPassTextures* vtkShadowMapPass::ShadowMaps [protected]

Definition at line 122 of file vtkShadowMapPass.h.

vtkShadowMapPassLightCameras* vtkShadowMapPass::LightCameras [protected]

Definition at line 123 of file vtkShadowMapPass.h.

Definition at line 124 of file vtkShadowMapPass.h.

Definition at line 126 of file vtkShadowMapPass.h.

Definition at line 129 of file vtkShadowMapPass.h.

Definition at line 130 of file vtkShadowMapPass.h.

Definition at line 131 of file vtkShadowMapPass.h.

Definition at line 133 of file vtkShadowMapPass.h.


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

Generated on Wed Aug 24 12:05:55 2011 for VTK by  doxygen 1.5.6