VTK
|
Implement a shadow mapping render pass. More...
#include <vtkShadowMapPass.h>
Public Types | |
typedef vtkRenderPass | Superclass |
typedef vtkRenderPass | Superclass |
![]() | |
typedef vtkObject | Superclass |
typedef vtkObject | Superclass |
![]() | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkShadowMapPass * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | ReleaseGraphicsResources (vtkWindow *w) |
virtual int | IsA (const char *type) |
vtkShadowMapPass * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | ReleaseGraphicsResources (vtkWindow *w) |
void | SetUniforms (vtkShaderProgram *program) |
virtual void | Render (const vtkRenderState *s) |
virtual vtkShadowMapBakerPass * | GetShadowMapBakerPass () |
virtual void | SetShadowMapBakerPass (vtkShadowMapBakerPass *shadowMapBakerPass) |
virtual vtkRenderPass * | GetOpaquePass () |
virtual void | SetOpaquePass (vtkRenderPass *opaquePass) |
virtual void | Render (const vtkRenderState *s) |
virtual vtkShadowMapBakerPass * | GetShadowMapBakerPass () |
virtual void | SetShadowMapBakerPass (vtkShadowMapBakerPass *shadowMapBakerPass) |
virtual vtkRenderPass * | GetOpaqueSequence () |
virtual void | SetOpaqueSequence (vtkRenderPass *opaqueSequence) |
std::vector< double > | ShadowMapTransforms () |
std::vector< int > | GetShadowMapTextureUnits () |
std::string | GetFragmentDeclaration () |
std::string | GetFragmentImplementation () |
![]() | |
vtkRenderPass * | NewInstance () const |
vtkRenderPass * | NewInstance () const |
virtual int | GetNumberOfRenderedProps () |
virtual int | GetNumberOfRenderedProps () |
![]() | |
vtkObject * | NewInstance () const |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static vtkShadowMapPass * | New () |
static int | IsTypeOf (const char *type) |
static vtkShadowMapPass * | SafeDownCast (vtkObjectBase *o) |
static vtkShadowMapPass * | New () |
static int | IsTypeOf (const char *type) |
static vtkShadowMapPass * | SafeDownCast (vtkObjectBase *o) |
static vtkInformationObjectBaseKey * | ShadowMapPass () |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkRenderPass * | SafeDownCast (vtkObjectBase *o) |
static int | IsTypeOf (const char *type) |
static vtkRenderPass * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObjectBase *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Protected Attributes | |
vtkShadowMapBakerPass * | ShadowMapBakerPass |
vtkRenderPass * | CompositeRGBAPass |
vtkRenderPass * | OpaquePass |
vtkFrameBufferObject * | FrameBufferObject |
vtkShadowMapPassTextures * | ShadowMaps |
vtkShadowMapPassLightCameras * | LightCameras |
vtkShaderProgram2 * | Program |
vtkTextureObject * | IntensityMap |
vtkSampleFunction * | IntensitySource |
vtkImageExport * | IntensityExporter |
vtkImplicitHalo * | Halo |
vtkTimeStamp | LastRenderTime |
vtkRenderPass * | OpaqueSequence |
std::string | FragmentDeclaration |
std::string | FragmentImplementation |
std::vector< int > | ShadowTextureUnits |
std::vector< double > | ShadowTransforms |
std::vector< float > | ShadowAttenuation |
![]() | |
int | NumberOfRenderedProps |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
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.
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.
Definition at line 67 of file vtkShadowMapPass.h.
Definition at line 67 of file vtkShadowMapPass.h.
|
protected |
Default constructor. DelegatetPass is set to NULL.
|
protectedvirtual |
Destructor.
|
protected |
Default constructor. DelegatetPass is set to NULL.
|
protectedvirtual |
Destructor.
|
static |
|
static |
|
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 |
|
protectedvirtual |
Reimplemented from vtkRenderPass.
vtkShadowMapPass* vtkShadowMapPass::NewInstance | ( | ) | const |
|
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 |
Perform rendering according to a render state s
.
Implements vtkRenderPass.
|
virtual |
Release graphics resources and ask components to release their own resources.
Reimplemented from vtkRenderPass.
|
virtual |
Pass that generates the shadow maps. the vtkShadowMapPass will use the Resolution ivar of this pass. Initial value is a NULL pointer.
|
virtual |
Pass that generates the shadow maps. the vtkShadowMapPass will use the Resolution ivar of this pass. Initial value is a NULL pointer.
|
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 |
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.
|
protected |
Build the intensity map.
|
protected |
Check if shadow mapping is supported by the current OpenGL context.
|
static |
|
static |
|
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 |
|
protectedvirtual |
Reimplemented from vtkRenderPass.
vtkShadowMapPass* vtkShadowMapPass::NewInstance | ( | ) | const |
|
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 |
Perform rendering according to a render state s
.
Implements vtkRenderPass.
|
virtual |
Release graphics resources and ask components to release their own resources.
Reimplemented from vtkRenderPass.
|
virtual |
Pass that generates the shadow maps. the vtkShadowMapPass will use the Resolution ivar of this pass. Initial value is a NULL pointer.
|
virtual |
Pass that generates the shadow maps. the vtkShadowMapPass will use the Resolution ivar of this pass. Initial value is a NULL pointer.
|
virtual |
Pass that render the lights and opaque geometry Typically a sequence pass with a light pass and opaque pass.
|
virtual |
Pass that render the lights and opaque geometry Typically a sequence pass with a light pass and opaque pass.
|
inline |
get the matricies for all the shadow maps.
Definition at line 99 of file vtkShadowMapPass.h.
|
inline |
get the texture units for the shadow maps for each light. If a light does not cast a shadow it is set to -1
Definition at line 106 of file vtkShadowMapPass.h.
|
static |
this key will contain the shadow map pass
|
inline |
Get the shader code to compute light factors based on a mappers vertexVC variable
Definition at line 116 of file vtkShadowMapPass.h.
|
inline |
Get the shader code to compute light factors based on a mappers vertexVC variable
Definition at line 118 of file vtkShadowMapPass.h.
void vtkShadowMapPass::SetUniforms | ( | vtkShaderProgram * | program | ) |
A mapper can call this to set the uniforms that this pass uses
|
protected |
Build the intensity map.
|
protected |
Check if shadow mapping is supported by the current OpenGL context.
|
protected |
|
protected |
Definition at line 114 of file vtkShadowMapPass.h.
|
protected |
Definition at line 115 of file vtkShadowMapPass.h.
|
protected |
Definition at line 117 of file vtkShadowMapPass.h.
|
protected |
Graphics resources.
Definition at line 120 of file vtkShadowMapPass.h.
|
protected |
Definition at line 122 of file vtkShadowMapPass.h.
|
protected |
Definition at line 123 of file vtkShadowMapPass.h.
|
protected |
Definition at line 124 of file vtkShadowMapPass.h.
|
protected |
Definition at line 126 of file vtkShadowMapPass.h.
|
protected |
Definition at line 128 of file vtkShadowMapPass.h.
|
protected |
Definition at line 129 of file vtkShadowMapPass.h.
|
protected |
Definition at line 130 of file vtkShadowMapPass.h.
|
protected |
Definition at line 132 of file vtkShadowMapPass.h.
|
protected |
Definition at line 142 of file vtkShadowMapPass.h.
|
protected |
Definition at line 160 of file vtkShadowMapPass.h.
|
protected |
Definition at line 161 of file vtkShadowMapPass.h.
|
protected |
Definition at line 162 of file vtkShadowMapPass.h.
|
protected |
Definition at line 163 of file vtkShadowMapPass.h.
|
protected |
Definition at line 164 of file vtkShadowMapPass.h.