20 #if !defined(__MITSUBA_HW_SHADOW_H_)
21 #define __MITSUBA_HW_SHADOW_H_
68 EShadowMapType type,
int resolution);
84 const std::vector<Renderer::TransformedGPUGeometry> &geo);
103 size_t getShaderCount()
const;
118 int m_cubeSinglePassTransform[6];
119 int m_cubeSinglePassProjDir[6];
122 int m_hemicubeSinglePassTransform[5];
123 int m_hemicubeSinglePassProjDir[5];
Utility class for creating different kinds of shadow maps (cube, directional, and paraboloid shadow m...
Definition: shadow.h:32
int m_cubeProjDir
Definition: shadow.h:115
Omnidirectional shadow map, 1 pass with geometry shader.
Definition: shadow.h:45
int m_paraboloidMinDepth
Definition: shadow.h:126
Hemispherical cube shadow map, 5 passes.
Definition: shadow.h:48
Hemispherical cube shadow map, 1 pass with geometry shader.
Definition: shadow.h:51
Axis-aligned bounding box data structure in three dimensions.
Definition: aabb.h:437
bool m_cubeDepthMapsSupported
Definition: shadow.h:111
#define MTS_DECLARE_CLASS()
This macro must be used in the initial definition in classes that derive from Object.
Definition: class.h:158
int m_paraboloidInvDepthRange
Definition: shadow.h:127
Reference counting helper.
Definition: ref.h:40
Omnidirectional shadow map, 6 passes.
Definition: shadow.h:42
Abstract renderer implementation.
Definition: renderer.h:79
A data structure for 1/2/3D and cube texture mapping. Also has optional render-to-texture functionali...
Definition: gputexture.h:32
Nonlinear paraboloid shadow map (captures one hemisphere)
Definition: shadow.h:39
Parent of all Mitsuba classes.
Definition: object.h:38
EShadowMapType
Definition: shadow.h:34
int m_cubeTransform
Definition: shadow.h:114