TranslucencyRenderModule
class TranslucencyRenderModule : public cauldron::RenderModule, public cauldron::ContentListenerThe 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) overrideInitialization 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) overrideRenders 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) overrideCallback 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) 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/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 = = falseAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 121, column 10)
uint32_t m_ShadowMapCount
uint32_t m_ShadowMapCount = = 0Attributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 122, column 21)
LightingCBData m_LightingConstantData
LightingCBData m_LightingConstantDataAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 125, column 20)
cauldron::RootSignature * m_pRootSignature
cauldron::RootSignature * m_pRootSignature = = nullptrAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 127, column 36)
cauldron::ParameterSet * m_pParameterSet
cauldron::ParameterSet * m_pParameterSet = = nullptrAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 128, column 36)
const cauldron::Texture * m_pColorRenderTarget
const cauldron::Texture * m_pColorRenderTarget = = nullptrAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 130, column 36)
const cauldron::Texture * m_pDepthTarget
const cauldron::Texture * m_pDepthTarget = = nullptrAttributes: 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_TexturesAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 142, column 23)
std::vector<cauldron::Sampler *> m_Samplers
std::vector<cauldron::Sampler *> m_SamplersAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 143, column 17)
std::mutex m_CriticalSection
std::mutex m_CriticalSectionAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 144, column 16)
std::vector<PipelineHashObject> m_PipelineHashObjects
std::vector<PipelineHashObject> m_PipelineHashObjectsAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 159, column 17)
std::vector<TranslucentRenderData> m_TranslucentRenderSurfaces
std::vector<TranslucentRenderData> m_TranslucentRenderSurfacesAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 170, column 17)
cauldron::RootSignature * m_pParticlesRenderRootSignature
cauldron::RootSignature * m_pParticlesRenderRootSignature = = nullptrAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 172, column 36)
cauldron::ParameterSet * m_pParticlesRenderParameters
cauldron::ParameterSet * m_pParticlesRenderParameters = = nullptrAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 173, column 36)
std::vector<PipelineHashObject> m_pParticlesRenderPipelineHashObjects
std::vector<PipelineHashObject> m_pParticlesRenderPipelineHashObjectsAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 174, column 17)
cauldron::IndirectWorkload * m_pIndirectWorkload
cauldron::IndirectWorkload * m_pIndirectWorkload = = nullptrAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 176, column 32)
std::vector<ParticlesRenderData> m_RenderParticleSpawners
std::vector<ParticlesRenderData> m_RenderParticleSpawnersAttributes: private
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 192, column 17)
Used By: FSRRenderModule
Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 71, column 1)