TranslucencyRenderModule
class TranslucencyRenderModule : public cauldron::RenderModule, public cauldron::ContentListener
The Translucency render module is responsible for rendering all translucent geometry and particles in a sorted (back to front) manner.
Dependencies: OptionalTransparencyOptions
Inherits from: public cauldron::RenderModule, public cauldron::ContentListener
Public Interface
Constructor:
TranslucencyRenderModule
inline TranslucencyRenderModule()
Construction.
Attributes: inline
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 78, column 5)
Destructor:
~TranslucencyRenderModule
virtual ~TranslucencyRenderModule()
Destruction.
Attributes: virtual
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 83, column 13)
Public Functions:
Init
virtual void Init(const json &initData) override
Initialization function. Sets up target pointers and other global data.
Parameters:
Name | Type | Default |
---|---|---|
initData | const json & | “ |
Attributes: virtual
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 88, column 10)
Execute
virtual void Execute(double deltaTime, cauldron::CommandList *pCmdList) override
Renders all active translucent geometry and particles in the Scene.
Parameters:
Name | Type | Default |
---|---|---|
deltaTime | double | “ |
pCmdList | cauldron::CommandList * | “ |
Attributes: virtual
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 93, column 10)
OnNewContentLoaded
virtual void OnNewContentLoaded(cauldron::ContentBlock *pContentBlock) override
Callback invoked when new content is loaded so we can create additional pipelines if needed.
Parameters:
Name | Type | Default |
---|---|---|
pContentBlock | cauldron::ContentBlock * | “ |
Attributes: virtual
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 98, 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/translucency/translucencyrendermodule.h
(line 103, column 10)
AddOptionalTransparencyOptions
void AddOptionalTransparencyOptions(const OptionalTransparencyOptions &options)
Sets optional transparency options to append to created pipelines.
Parameters:
Name | Type | Default |
---|---|---|
options | const OptionalTransparencyOptions & | “ |
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 108, column 10)
Private Interface
Private Functions:
CreatePipelineObject
uint32_t CreatePipelineObject(const cauldron::Surface *pSurface)
Parameters:
Name | Type | Default |
---|---|---|
pSurface | const cauldron::Surface * | “ |
Returns: uint32_t
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 116, 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/translucency/translucencyrendermodule.h
(line 117, column 14)
RemoveTexture
void RemoveTexture(int32_t index)
Parameters:
Name | Type | Default |
---|---|---|
index | int32_t | “ |
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 118, column 10)
Private Members:
bool m_VariableShading
bool m_VariableShading = = false
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 121, column 10)
uint32_t m_ShadowMapCount
uint32_t m_ShadowMapCount = = 0
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 122, column 21)
LightingCBData m_LightingConstantData
LightingCBData m_LightingConstantData
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 125, column 20)
cauldron::RootSignature * m_pRootSignature
cauldron::RootSignature * m_pRootSignature = = nullptr
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 127, column 36)
cauldron::ParameterSet * m_pParameterSet
cauldron::ParameterSet * m_pParameterSet = = nullptr
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 128, column 36)
const cauldron::Texture * m_pColorRenderTarget
const cauldron::Texture * m_pColorRenderTarget = = nullptr
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 130, column 36)
const cauldron::Texture * m_pDepthTarget
const cauldron::Texture * m_pDepthTarget = = nullptr
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 131, column 36)
std::vector<const cauldron::RasterView *> m_RasterViews
std::vector<const cauldron::RasterView *> m_RasterViews = = {}
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 133, column 17)
OptionalTransparencyOptions m_OptionalTransparencyOptions
OptionalTransparencyOptions m_OptionalTransparencyOptions = = {}
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 135, column 37)
std::vector<BoundTexture> m_Textures
std::vector<BoundTexture> m_Textures
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 142, column 23)
std::vector<cauldron::Sampler *> m_Samplers
std::vector<cauldron::Sampler *> m_Samplers
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 143, column 17)
std::mutex m_CriticalSection
std::mutex m_CriticalSection
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 144, column 16)
std::vector<PipelineHashObject> m_PipelineHashObjects
std::vector<PipelineHashObject> m_PipelineHashObjects
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 159, column 17)
std::vector<TranslucentRenderData> m_TranslucentRenderSurfaces
std::vector<TranslucentRenderData> m_TranslucentRenderSurfaces
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 170, column 17)
cauldron::RootSignature * m_pParticlesRenderRootSignature
cauldron::RootSignature * m_pParticlesRenderRootSignature = = nullptr
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 172, column 36)
cauldron::ParameterSet * m_pParticlesRenderParameters
cauldron::ParameterSet * m_pParticlesRenderParameters = = nullptr
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 173, column 36)
std::vector<PipelineHashObject> m_pParticlesRenderPipelineHashObjects
std::vector<PipelineHashObject> m_pParticlesRenderPipelineHashObjects
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 174, column 17)
cauldron::IndirectWorkload * m_pIndirectWorkload
cauldron::IndirectWorkload * m_pIndirectWorkload = = nullptr
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 176, column 32)
std::vector<ParticlesRenderData> m_RenderParticleSpawners
std::vector<ParticlesRenderData> m_RenderParticleSpawners
Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 192, column 17)
Used By: FSRRenderModule
Source: framework/rendermodules/translucency/translucencyrendermodule.h
(line 71, column 1)