跳至内容

SkyDomeRenderModule

class SkyDomeRenderModule : public cauldron::RenderModule

SkyDomeRenderModule 负责渲染设置的 ibl 地图到背景或生成程序化天空。

依赖项: UpscalerInformation

继承自: public cauldron::RenderModule

公共接口

构造函数

SkyDomeRenderModule

inline SkyDomeRenderModule()

构造。

属性: inline

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 58 行, 第 5 列)

析构函数

~SkyDomeRenderModule

virtual ~SkyDomeRenderModule()

销毁。

属性: virtual

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 63 行, 第 13 列)

公共函数

初始化

virtual void Init(const json &initData) override

初始化函数。设置资源指针、管道对象、根签名和参数集。

参数

名称类型默认
initDataconst json &

属性: virtual

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 68 行, 第 10 列)

执行

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

调用通用函数。如果时间改变,则调用 ExecuteSkydomeGeneration。最后,调用 ExecuteSkydomeRender。

参数

名称类型默认
deltaTimedouble
pCmdListcauldron::CommandList *

属性: virtual

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 73 行, 第 10 列)

ExecuteSkydomeGeneration

void ExecuteSkydomeGeneration(cauldron::CommandList *pCmdList)

程序化生成天穹。

参数

名称类型默认
pCmdListcauldron::CommandList *

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 78 行, 第 10 列)

ExecuteSkydomeRender

void ExecuteSkydomeRender(cauldron::CommandList *pCmdList)

将天穹渲染到颜色渲染目标。

参数

名称类型默认
pCmdListcauldron::CommandList *

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 83 行, 第 10 列)

私有接口

私有函数

InitSkyDome

void InitSkyDome()

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 91 行, 第 10 列)

InitProcedural

void InitProcedural()

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 92 行, 第 10 列)

InitSampleDirections

void InitSampleDirections()

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 93 行, 第 10 列)

InitSunlight

void InitSunlight()

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 94 行, 第 10 列)

UpdateSunDirection

void UpdateSunDirection()

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 96 行, 第 10 列)

TextureLoadComplete

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

参数

名称类型默认
textureListconst std::vector<const cauldron::Texture *> &
void *

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 99 行, 第 10 列)

私有成员

bool m_IsProcedural

bool m_IsProcedural = = false

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 102 行, 第 33 列)

bool m_pShouldRunSkydomeGeneration

bool m_pShouldRunSkydomeGeneration = = true

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 103 行, 第 33 列)

std::atomic_bool m_CubemapGenerateReady

std::atomic_bool m_CubemapGenerateReady = = true

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 104 行, 第 33 列)

std::atomic_bool m_CubemapCopyReady

std::atomic_bool m_CubemapCopyReady = = false

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 105 行, 第 33 列)

SkydomeCBData m_SkydomeConstantData

SkydomeCBData m_SkydomeConstantData

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 106 行, 第 20 列)

const cauldron::Texture * m_pSkyTexture

const cauldron::Texture * m_pSkyTexture = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 107 行, 第 32 列)

const cauldron::Texture * m_pSkyTextureGenerated

const cauldron::Texture * m_pSkyTextureGenerated = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 108 行, 第 29 列)

uint32_t m_pWidth

uint32_t m_pWidth

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 109 行, 第 14 列)

uint32_t m_pHeight

uint32_t m_pHeight

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 110 行, 第 14 列)

cauldron::RootSignature * m_pRootSignatureSkyDomeGeneration

cauldron::RootSignature * m_pRootSignatureSkyDomeGeneration = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 113 行, 第 29 列)

cauldron::PipelineObject * m_pPipelineObjEnvironmentCube

cauldron::PipelineObject * m_pPipelineObjEnvironmentCube = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 114 行, 第 30 列)

cauldron::ParameterSet * m_pParametersEnvironmentCube

cauldron::ParameterSet * m_pParametersEnvironmentCube = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 115 行, 第 28 列)

ProceduralCBData m_pProceduralConstantData

ProceduralCBData m_pProceduralConstantData

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 116 行, 第 25 列)

cauldron::LightComponentData m_pSunlightCompData

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

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 117 行, 第 34 列)

cauldron::LightComponent * m_pSunlightComponent

cauldron::LightComponent * m_pSunlightComponent = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 118 行, 第 33 列)

cauldron::Entity * m_pSunlight

cauldron::Entity * m_pSunlight = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 119 行, 第 33 列)

UpscalerInformation m_pUpscalerInfo

UpscalerInformation m_pUpscalerInfo

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 120 行, 第 25 列)

cauldron::RootSignature * m_pRootSignatureApplySkydome

cauldron::RootSignature * m_pRootSignatureApplySkydome = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 123 行, 第 29 列)

cauldron::PipelineObject * m_pPipelineObjApplySkydome

cauldron::PipelineObject * m_pPipelineObjApplySkydome = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 124 行, 第 30 列)

cauldron::ParameterSet * m_pParametersApplySkydome

cauldron::ParameterSet * m_pParametersApplySkydome = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 125 行, 第 28 列)

const cauldron::Texture * m_pRenderTarget

const cauldron::Texture * m_pRenderTarget = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 126 行, 第 32 列)

const cauldron::Texture * m_pDepthTarget

const cauldron::Texture * m_pDepthTarget = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 127 行, 第 32 列)

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

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

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 128 行, 第 17 列)

cauldron::CommandList * m_pComputeCmdList

cauldron::CommandList * m_pComputeCmdList = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 131 行, 第 27 列)

uint64_t m_SignalValue

uint64_t m_SignalValue = = 0

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 132 行, 第 28 列)

const cauldron::Texture * m_pIrradianceCube

const cauldron::Texture * m_pIrradianceCube = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 134 行, 第 30 列)

const cauldron::Texture * m_pIrradianceCubeGenerated

const cauldron::Texture * m_pIrradianceCubeGenerated = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 135 行, 第 30 列)

cauldron::PipelineObject * m_pPipelineObjIrradianceCube

cauldron::PipelineObject * m_pPipelineObjIrradianceCube = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 136 行, 第 30 列)

cauldron::ParameterSet * m_pParametersIrradianceCube

cauldron::ParameterSet * m_pParametersIrradianceCube = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 137 行, 第 30 列)

const cauldron::Texture * m_pPrefilteredCube

const cauldron::Texture * m_pPrefilteredCube = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 139 行, 第 43 列)

const cauldron::Texture * m_pPrefilteredCubeGenerated

const cauldron::Texture * m_pPrefilteredCubeGenerated = = nullptr

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 140 行, 第 43 列)

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

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

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 141 行, 第 19 列)

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

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

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 142 行, 第 17 列)

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

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

属性: private

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 143 行, 第 19 列)

源文件: framework/rendermodules/skydome/skydomerendermodule.h (第 51 行, 第 1 列)

© . This site is unofficial and not affiliated with AMD.