VTK
|
Implement a shadow mapping render pass. More...
#include <vtkShadowMapPass.h>
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.
Definition at line 63 of file vtkShadowMapPass.h.
Reimplemented from vtkRenderPass.
Definition at line 67 of file vtkShadowMapPass.h.
vtkShadowMapPass::vtkShadowMapPass | ( | ) | [protected] |
Default constructor. DelegatetPass is set to NULL.
virtual vtkShadowMapPass::~vtkShadowMapPass | ( | ) | [protected, virtual] |
Destructor.
static vtkShadowMapPass* vtkShadowMapPass::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
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 | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkRenderPass.
virtual vtkObjectBase* vtkShadowMapPass::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkRenderPass.
vtkShadowMapPass* vtkShadowMapPass::NewInstance | ( | ) | const |
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
.
Implements vtkRenderPass.
void vtkShadowMapPass::ReleaseGraphicsResources | ( | vtkWindow * | w | ) | [virtual] |
Release graphics resources and ask components to release their own resources.
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.
Definition at line 114 of file vtkShadowMapPass.h.
vtkRenderPass* vtkShadowMapPass::CompositeRGBAPass [protected] |
Definition at line 115 of file vtkShadowMapPass.h.
vtkRenderPass* vtkShadowMapPass::OpaquePass [protected] |
Definition at line 117 of file vtkShadowMapPass.h.
vtkFrameBufferObject* vtkShadowMapPass::FrameBufferObject [protected] |
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.
vtkShaderProgram2* vtkShadowMapPass::Program [protected] |
Definition at line 124 of file vtkShadowMapPass.h.
vtkTextureObject* vtkShadowMapPass::IntensityMap [protected] |
Definition at line 126 of file vtkShadowMapPass.h.
vtkSampleFunction* vtkShadowMapPass::IntensitySource [protected] |
Definition at line 128 of file vtkShadowMapPass.h.
vtkImageExport* vtkShadowMapPass::IntensityExporter [protected] |
Definition at line 129 of file vtkShadowMapPass.h.
vtkImplicitHalo* vtkShadowMapPass::Halo [protected] |
Definition at line 130 of file vtkShadowMapPass.h.
vtkTimeStamp vtkShadowMapPass::LastRenderTime [protected] |
Definition at line 132 of file vtkShadowMapPass.h.