Fluxus::ShadowVolumeGen Class Reference

#include <ShadowVolumeGen.h>

Collaboration diagram for Fluxus::ShadowVolumeGen:

Collaboration graph

Public Member Functions

 ShadowVolumeGen ()
 ~ShadowVolumeGen ()
void SetLightPosition (dVector pos)
void Clear ()
void Generate (Primitive *prim)
PolyPrimitiveGetVolume ()
 Gets the volume generated so far.
void SetLength (float s)
 Sets the length to extrude the volume by, in world space.
void SetExpand (float s)
Accessors for debug mode
When in debug mode, the silhouette edges are drawn, indicating direction by colour gradient

void SetDebug (bool s)
bool GetDebug ()

Detailed Description

Generates shadow volumes from extruding light silhouette edges. These volumes are then concatenated into a single polygon primitive for rendering into a stencil buffer for shadow rendering.

Definition at line 41 of file ShadowVolumeGen.h.

Constructor & Destructor Documentation

ShadowVolumeGen::ShadowVolumeGen (  ) 

Definition at line 22 of file ShadowVolumeGen.cpp.

ShadowVolumeGen::~ShadowVolumeGen (  ) 

Definition at line 30 of file ShadowVolumeGen.cpp.

Member Function Documentation

void Fluxus::ShadowVolumeGen::SetLightPosition ( dVector  pos  )  [inline]

Sets the light position to generate the silhouette edges and shadow volume from

Definition at line 49 of file ShadowVolumeGen.h.

void ShadowVolumeGen::Clear (  ) 

Clears the current shadow volume - should call this at start of the frame, or after rendering the shadows.

Definition at line 51 of file ShadowVolumeGen.cpp.

void ShadowVolumeGen::Generate ( Primitive prim  ) 

Adds the volumes for a primitive to the polygon primitive

Definition at line 34 of file ShadowVolumeGen.cpp.

PolyPrimitive * ShadowVolumeGen::GetVolume (  ) 

Gets the volume generated so far.

Definition at line 56 of file ShadowVolumeGen.cpp.

void Fluxus::ShadowVolumeGen::SetLength ( float  s  )  [inline]

Sets the length to extrude the volume by, in world space.

Definition at line 63 of file ShadowVolumeGen.h.

void Fluxus::ShadowVolumeGen::SetExpand ( float  s  )  [inline]

Sets the amount to expand the volume by, to minimise silhouette edge artifacts

Definition at line 67 of file ShadowVolumeGen.h.

void Fluxus::ShadowVolumeGen::SetDebug ( bool  s  )  [inline]

Definition at line 73 of file ShadowVolumeGen.h.

bool Fluxus::ShadowVolumeGen::GetDebug (  )  [inline]

Definition at line 74 of file ShadowVolumeGen.h.

The documentation for this class was generated from the following files:
Generated on Tue Sep 4 23:22:45 2007 for The Fluxus Renderer (libfluxus) by  doxygen 1.5.1