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:
Name | Type | Default |
---|---|---|
initData | const 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:
Name | Type | Default |
---|---|---|
deltaTime | double | “ |
pCmdList | cauldron::CommandList * | “ |
Attributes: virtual
Source: framework/rendermodules/skydome/skydomerendermodule.h
(line 73, column 10)
ExecuteSkydomeGeneration
void ExecuteSkydomeGeneration(cauldron::CommandList *pCmdList)
Procedurally generates the skydome.
Parameters:
Name | Type | Default |
---|---|---|
pCmdList | cauldron::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:
Name | Type | Default |
---|---|---|
pCmdList | cauldron::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:
Name | Type | Default |
---|---|---|
textureList | const 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 = = {}
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 = = {}
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 = = {}
Attributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h
(line 141, column 19)
std::vector<cauldron::PipelineObject *> m_pPipelineObjPrefilteredCube
std::vector<cauldron::PipelineObject *> m_pPipelineObjPrefilteredCube = = {}
Attributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h
(line 142, column 17)
std::vector<cauldron::ParameterSet *> m_pParametersPrefilteredCube
std::vector<cauldron::ParameterSet *> m_pParametersPrefilteredCube = = {}
Attributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h
(line 143, column 19)
Source: framework/rendermodules/skydome/skydomerendermodule.h
(line 51, column 1)