Skip to content

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:

NameTypeDefault
initDataconst 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:

NameTypeDefault
deltaTimedouble
pCmdListcauldron::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:

NameTypeDefault
pContentBlockcauldron::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:

NameTypeDefault
pContentBlockcauldron::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:

NameTypeDefault
optionsconst OptionalTransparencyOptions &

Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 108, column 10)

Private Interface

Private Functions:

CreatePipelineObject

uint32_t CreatePipelineObject(const cauldron::Surface *pSurface)

Parameters:

NameTypeDefault
pSurfaceconst 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:

NameTypeDefault
pMaterialconst cauldron::Material *
textureClassconst cauldron::TextureClass
textureSamplerIndexint32_t &

Returns: int32_t

Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 117, column 14)

RemoveTexture

void RemoveTexture(int32_t index)

Parameters:

NameTypeDefault
indexint32_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 = = &#123;&#125;

Attributes: private

Source: framework/rendermodules/translucency/translucencyrendermodule.h (line 133, column 17)

OptionalTransparencyOptions m_OptionalTransparencyOptions

OptionalTransparencyOptions m_OptionalTransparencyOptions = = &#123;&#125;

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)