RasterShadowRenderModule
class RasterShadowRenderModule : public cauldron::RenderModule, public cauldron::ContentListenerThe 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) overrideInitialization 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) overrideRenders 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) overrideCallback 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) overrideCallback 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 = = 200Attributes: static, private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 109, column 31)
constexpr uint32_t s_MaxSamplerCount
static constexpr uint32_t s_MaxSamplerCount = = 20Attributes: static, private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 110, column 31)
cauldron::RootSignature * m_pRootSignature
cauldron::RootSignature * m_pRootSignature = = nullptrAttributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 112, column 29)
cauldron::ParameterSet * m_pParameterSet
cauldron::ParameterSet * m_pParameterSet = = nullptrAttributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 113, column 29)
std::vector<BoundTexture> m_Textures
std::vector<BoundTexture> m_TexturesAttributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 120, column 17)
std::vector<cauldron::Sampler *> m_Samplers
std::vector<cauldron::Sampler *> m_SamplersAttributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 121, column 17)
std::mutex m_CriticalSection
std::mutex m_CriticalSectionAttributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 122, column 16)
std::vector<ShadowMapInfo> m_ShadowMapInfos
std::vector<ShadowMapInfo> m_ShadowMapInfosAttributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 146, column 23)
std::vector<PipelineRenderGroup> m_PipelineRenderGroups
std::vector<PipelineRenderGroup> m_PipelineRenderGroupsAttributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 147, column 17)
cauldron::UISection * m_UISection
cauldron::UISection * m_UISection = = nullptrAttributes: 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 = = falseAttributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 152, column 45)
int m_NumCascades
int m_NumCascades = = 4Attributes: 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 = = trueAttributes: private
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 156, column 25)
Source: framework/rendermodules/rastershadow/rastershadowrendermodule.h (line 56, column 1)