Skip to content

SkyDomeRenderModule

class SkyDomeRenderModule : public cauldron::RenderModule

The sky dome render module is responsible for rendering the set ibl map to background or to generate a procedural sky.

Dependencies: UpscalerInformation

Inherits from: public cauldron::RenderModule

Public Interface

Constructor:

SkyDomeRenderModule

inline SkyDomeRenderModule()

Construction.

Attributes: inline

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 58, column 5)

Destructor:

~SkyDomeRenderModule

virtual ~SkyDomeRenderModule()

Destruction.

Attributes: virtual

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 63, 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:

NameTypeDefault
initDataconst json &

Attributes: virtual

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 68, column 10)

Execute

virtual void Execute(double deltaTime, cauldron::CommandList *pCmdList) override

Calls common functions. Then calls ExecuteSkydomeGeneration if time of day changed. Finally, calls ExecuteSkydomeRender.

Parameters:

NameTypeDefault
deltaTimedouble
pCmdListcauldron::CommandList *

Attributes: virtual

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 73, column 10)

ExecuteSkydomeGeneration

void ExecuteSkydomeGeneration(cauldron::CommandList *pCmdList)

Procedurally generates the skydome.

Parameters:

NameTypeDefault
pCmdListcauldron::CommandList *

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 78, column 10)

ExecuteSkydomeRender

void ExecuteSkydomeRender(cauldron::CommandList *pCmdList)

Render the skydome tp color remder target.

Parameters:

NameTypeDefault
pCmdListcauldron::CommandList *

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 83, column 10)

Private Interface

Private Functions:

InitSkyDome

void InitSkyDome()

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 91, column 10)

InitProcedural

void InitProcedural()

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 92, column 10)

InitSampleDirections

void InitSampleDirections()

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 93, column 10)

InitSunlight

void InitSunlight()

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 94, column 10)

UpdateSunDirection

void UpdateSunDirection()

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 96, column 10)

TextureLoadComplete

void TextureLoadComplete(const std::vector<const cauldron::Texture *> &textureList, void *)

Parameters:

NameTypeDefault
textureListconst std::vector<const cauldron::Texture *> &
void *

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 99, column 10)

Private Members:

bool m_IsProcedural

bool m_IsProcedural = = false

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 102, column 33)

bool m_pShouldRunSkydomeGeneration

bool m_pShouldRunSkydomeGeneration = = true

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 103, column 33)

std::atomic_bool m_CubemapGenerateReady

std::atomic_bool m_CubemapGenerateReady = = true

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 104, column 33)

std::atomic_bool m_CubemapCopyReady

std::atomic_bool m_CubemapCopyReady = = false

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 105, column 33)

SkydomeCBData m_SkydomeConstantData

SkydomeCBData m_SkydomeConstantData

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 106, column 20)

const cauldron::Texture * m_pSkyTexture

const cauldron::Texture * m_pSkyTexture = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 107, column 32)

const cauldron::Texture * m_pSkyTextureGenerated

const cauldron::Texture * m_pSkyTextureGenerated = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 108, column 29)

uint32_t m_pWidth

uint32_t m_pWidth

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 109, column 14)

uint32_t m_pHeight

uint32_t m_pHeight

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 110, column 14)

cauldron::RootSignature * m_pRootSignatureSkyDomeGeneration

cauldron::RootSignature * m_pRootSignatureSkyDomeGeneration = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 113, column 29)

cauldron::PipelineObject * m_pPipelineObjEnvironmentCube

cauldron::PipelineObject * m_pPipelineObjEnvironmentCube = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 114, column 30)

cauldron::ParameterSet * m_pParametersEnvironmentCube

cauldron::ParameterSet * m_pParametersEnvironmentCube = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 115, column 28)

ProceduralCBData m_pProceduralConstantData

ProceduralCBData m_pProceduralConstantData

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 116, column 25)

cauldron::LightComponentData m_pSunlightCompData

cauldron::LightComponentData m_pSunlightCompData = = &#123;&#125;

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 117, column 34)

cauldron::LightComponent * m_pSunlightComponent

cauldron::LightComponent * m_pSunlightComponent = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 118, column 33)

cauldron::Entity * m_pSunlight

cauldron::Entity * m_pSunlight = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 119, column 33)

UpscalerInformation m_pUpscalerInfo

UpscalerInformation m_pUpscalerInfo

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 120, column 25)

cauldron::RootSignature * m_pRootSignatureApplySkydome

cauldron::RootSignature * m_pRootSignatureApplySkydome = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 123, column 29)

cauldron::PipelineObject * m_pPipelineObjApplySkydome

cauldron::PipelineObject * m_pPipelineObjApplySkydome = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 124, column 30)

cauldron::ParameterSet * m_pParametersApplySkydome

cauldron::ParameterSet * m_pParametersApplySkydome = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 125, column 28)

const cauldron::Texture * m_pRenderTarget

const cauldron::Texture * m_pRenderTarget = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 126, column 32)

const cauldron::Texture * m_pDepthTarget

const cauldron::Texture * m_pDepthTarget = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 127, column 32)

std::vector<const cauldron::RasterView *> m_pRasterViews

std::vector<const cauldron::RasterView *> m_pRasterViews = = &#123;&#125;

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 128, column 17)

cauldron::CommandList * m_pComputeCmdList

cauldron::CommandList * m_pComputeCmdList = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 131, column 27)

uint64_t m_SignalValue

uint64_t m_SignalValue = = 0

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 132, column 28)

const cauldron::Texture * m_pIrradianceCube

const cauldron::Texture * m_pIrradianceCube = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 134, column 30)

const cauldron::Texture * m_pIrradianceCubeGenerated

const cauldron::Texture * m_pIrradianceCubeGenerated = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 135, column 30)

cauldron::PipelineObject * m_pPipelineObjIrradianceCube

cauldron::PipelineObject * m_pPipelineObjIrradianceCube = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 136, column 30)

cauldron::ParameterSet * m_pParametersIrradianceCube

cauldron::ParameterSet * m_pParametersIrradianceCube = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 137, column 30)

const cauldron::Texture * m_pPrefilteredCube

const cauldron::Texture * m_pPrefilteredCube = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 139, column 43)

const cauldron::Texture * m_pPrefilteredCubeGenerated

const cauldron::Texture * m_pPrefilteredCubeGenerated = = nullptr

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 140, column 43)

std::vector<const cauldron::Buffer *> m_pSampleDirections

std::vector<const cauldron::Buffer *> m_pSampleDirections = = &#123;&#125;

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 141, column 19)

std::vector<cauldron::PipelineObject *> m_pPipelineObjPrefilteredCube

std::vector<cauldron::PipelineObject *> m_pPipelineObjPrefilteredCube = = &#123;&#125;

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 142, column 17)

std::vector<cauldron::ParameterSet *> m_pParametersPrefilteredCube

std::vector<cauldron::ParameterSet *> m_pParametersPrefilteredCube = = &#123;&#125;

Attributes: private

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 143, column 19)

Source: framework/rendermodules/skydome/skydomerendermodule.h (line 51, column 1)