SkyDomeRenderModule
class SkyDomeRenderModule : public cauldron::RenderModuleThe 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) overrideInitialization 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) overrideCalls 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 = = falseAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 102, column 33)
bool m_pShouldRunSkydomeGeneration
bool m_pShouldRunSkydomeGeneration = = trueAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 103, column 33)
std::atomic_bool m_CubemapGenerateReady
std::atomic_bool m_CubemapGenerateReady = = trueAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 104, column 33)
std::atomic_bool m_CubemapCopyReady
std::atomic_bool m_CubemapCopyReady = = falseAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 105, column 33)
SkydomeCBData m_SkydomeConstantData
SkydomeCBData m_SkydomeConstantDataAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 106, column 20)
const cauldron::Texture * m_pSkyTexture
const cauldron::Texture * m_pSkyTexture = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 107, column 32)
const cauldron::Texture * m_pSkyTextureGenerated
const cauldron::Texture * m_pSkyTextureGenerated = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 108, column 29)
uint32_t m_pWidth
uint32_t m_pWidthAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 109, column 14)
uint32_t m_pHeight
uint32_t m_pHeightAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 110, column 14)
cauldron::RootSignature * m_pRootSignatureSkyDomeGeneration
cauldron::RootSignature * m_pRootSignatureSkyDomeGeneration = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 113, column 29)
cauldron::PipelineObject * m_pPipelineObjEnvironmentCube
cauldron::PipelineObject * m_pPipelineObjEnvironmentCube = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 114, column 30)
cauldron::ParameterSet * m_pParametersEnvironmentCube
cauldron::ParameterSet * m_pParametersEnvironmentCube = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 115, column 28)
ProceduralCBData m_pProceduralConstantData
ProceduralCBData m_pProceduralConstantDataAttributes: 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 = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 118, column 33)
cauldron::Entity * m_pSunlight
cauldron::Entity * m_pSunlight = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 119, column 33)
UpscalerInformation m_pUpscalerInfo
UpscalerInformation m_pUpscalerInfoAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 120, column 25)
cauldron::RootSignature * m_pRootSignatureApplySkydome
cauldron::RootSignature * m_pRootSignatureApplySkydome = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 123, column 29)
cauldron::PipelineObject * m_pPipelineObjApplySkydome
cauldron::PipelineObject * m_pPipelineObjApplySkydome = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 124, column 30)
cauldron::ParameterSet * m_pParametersApplySkydome
cauldron::ParameterSet * m_pParametersApplySkydome = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 125, column 28)
const cauldron::Texture * m_pRenderTarget
const cauldron::Texture * m_pRenderTarget = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 126, column 32)
const cauldron::Texture * m_pDepthTarget
const cauldron::Texture * m_pDepthTarget = = nullptrAttributes: 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 = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 131, column 27)
uint64_t m_SignalValue
uint64_t m_SignalValue = = 0Attributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 132, column 28)
const cauldron::Texture * m_pIrradianceCube
const cauldron::Texture * m_pIrradianceCube = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 134, column 30)
const cauldron::Texture * m_pIrradianceCubeGenerated
const cauldron::Texture * m_pIrradianceCubeGenerated = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 135, column 30)
cauldron::PipelineObject * m_pPipelineObjIrradianceCube
cauldron::PipelineObject * m_pPipelineObjIrradianceCube = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 136, column 30)
cauldron::ParameterSet * m_pParametersIrradianceCube
cauldron::ParameterSet * m_pParametersIrradianceCube = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 137, column 30)
const cauldron::Texture * m_pPrefilteredCube
const cauldron::Texture * m_pPrefilteredCube = = nullptrAttributes: private
Source: framework/rendermodules/skydome/skydomerendermodule.h (line 139, column 43)
const cauldron::Texture * m_pPrefilteredCubeGenerated
const cauldron::Texture * m_pPrefilteredCubeGenerated = = nullptrAttributes: 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)