RasterShadowRenderModule
class RasterShadowRenderModule : public cauldron::RenderModule, public cauldron::ContentListener
The raster shadow render module is responsible for rendering all rasterized shadow geometry.
Inherits from: public cauldron::RenderModule, public cauldron::ContentListener
Public Interface
Constructor:
RasterShadowRenderModule
inline RasterShadowRenderModule()
Construction.
Attributes: inline
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 63, column 5)
Destructor:
~RasterShadowRenderModule
virtual ~RasterShadowRenderModule()
Destruction.
Attributes: virtual
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 68, column 13)
Public Functions:
Init
virtual void Init(const json &initData) override
Initialization function. Sets up resource pointers, pipeline objects, root signatures, and parameter sets.
Parameters:
Name | Type | Default |
---|---|---|
initData | const json & | “ |
Attributes: virtual
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 73, column 10)
Execute
virtual void Execute(double deltaTime, cauldron::CommandList *pCmdList) override
Renders all active shadow geometry in the Scene from each shadow-casting light’s point of view.
Parameters:
Name | Type | Default |
---|---|---|
deltaTime | double | “ |
pCmdList | cauldron::CommandList * | “ |
Attributes: virtual
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 78, column 10)
OnNewContentLoaded
virtual void OnNewContentLoaded(cauldron::ContentBlock *pContentBlock) override
Callback invoked when new content is loaded so we can create additional pipelines and resources if needed.
Parameters:
Name | Type | Default |
---|---|---|
pContentBlock | cauldron::ContentBlock * | “ |
Attributes: virtual
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 83, column 10)
OnContentUnloaded
virtual void OnContentUnloaded(cauldron::ContentBlock *pContentBlock) override
Callback invoked when content is unloaded. Permits us to clean things up if needed.
Parameters:
Name | Type | Default |
---|---|---|
pContentBlock | cauldron::ContentBlock * | “ |
Attributes: virtual
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 88, column 10)
Private Interface
Private Functions:
GetPipelinePermutationID
uint32_t GetPipelinePermutationID(const cauldron::Surface *pSurface)
Parameters:
Name | Type | Default |
---|---|---|
pSurface | const cauldron::Surface * | “ |
Returns: uint32_t
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 96, column 14)
AddTexture
int32_t AddTexture(const cauldron::Material *pMaterial, const cauldron::TextureClass textureClass, int32_t &textureSamplerIndex)
Parameters:
Name | Type | Default |
---|---|---|
pMaterial | const cauldron::Material * | “ |
textureClass | const cauldron::TextureClass | “ |
textureSamplerIndex | int32_t & | “ |
Returns: int32_t
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 97, column 14)
RemoveTexture
void RemoveTexture(int32_t index)
Parameters:
Name | Type | Default |
---|---|---|
index | int32_t | “ |
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 98, column 10)
CreateShadowMapInfo
void CreateShadowMapInfo(cauldron::LightComponent *pLightComponent, cauldron::ShadowMapResolution resolution)
Parameters:
Name | Type | Default |
---|---|---|
pLightComponent | cauldron::LightComponent * | “ |
resolution | cauldron::ShadowMapResolution | “ |
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 100, column 10)
DestroyShadowMapInfo
void DestroyShadowMapInfo(cauldron::LightComponent *pLightComponent)
Parameters:
Name | Type | Default |
---|---|---|
pLightComponent | cauldron::LightComponent * | “ |
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 101, column 10)
UpdateCascades
void UpdateCascades()
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 103, column 10)
UpdateUIState
void UpdateUIState(bool hasDirectional)
Parameters:
Name | Type | Default |
---|---|---|
hasDirectional | bool | “ |
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 105, column 10)
Private Members:
constexpr uint32_t s_MaxTextureCount
static constexpr uint32_t s_MaxTextureCount = = 200
Attributes: static
, private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 109, column 31)
constexpr uint32_t s_MaxSamplerCount
static constexpr uint32_t s_MaxSamplerCount = = 20
Attributes: static
, private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 110, column 31)
cauldron::RootSignature * m_pRootSignature
cauldron::RootSignature * m_pRootSignature = = nullptr
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 112, column 29)
cauldron::ParameterSet * m_pParameterSet
cauldron::ParameterSet * m_pParameterSet = = nullptr
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 113, column 29)
std::vector<BoundTexture> m_Textures
std::vector<BoundTexture> m_Textures
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 120, column 17)
std::vector<cauldron::Sampler *> m_Samplers
std::vector<cauldron::Sampler *> m_Samplers
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 121, column 17)
std::mutex m_CriticalSection
std::mutex m_CriticalSection
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 122, column 16)
std::vector<ShadowMapInfo> m_ShadowMapInfos
std::vector<ShadowMapInfo> m_ShadowMapInfos
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 146, column 23)
std::vector<PipelineRenderGroup> m_PipelineRenderGroups
std::vector<PipelineRenderGroup> m_PipelineRenderGroups
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 147, column 17)
cauldron::UISection * m_UISection
cauldron::UISection * m_UISection = = nullptr
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 150, column 44)
bool m_CascadeSplitPointsEnabled
bool m_CascadeSplitPointsEnabled = = {false}
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 151, column 45)
bool m_DirUIShowing
bool m_DirUIShowing = = false
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 152, column 45)
int m_NumCascades
int m_NumCascades = = 4
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 154, column 25)
std::vector<float> m_CascadeSplitPoints
std::vector<float> m_CascadeSplitPoints = = {10.0, 20.0, 60.0, 100.0}
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 155, column 18)
bool m_MoveLightTexelSize
bool m_MoveLightTexelSize = = true
Attributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 156, column 25)
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h
(line 56, column 1)