跳至内容

GBufferRenderModule

class GBufferRenderModule : public cauldron::RenderModule, public cauldron::ContentListener

GBuffer 渲染模块负责渲染所有已加载场景实体。如果初始化为执行此操作,还将输出当前帧的运动矢量。

继承自: public cauldron::RenderModule, public cauldron::ContentListener

公共接口

构造函数

GBufferRenderModule

inline GBufferRenderModule()

构造。

属性: inline

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 62, column 5)

析构函数

~GBufferRenderModule

virtual ~GBufferRenderModule()

销毁。

属性: virtual

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 67, column 13)

公共函数

初始化

virtual void Init(const json &initData) override

初始化函数。设置目标指针和其他全局数据。

参数

名称类型默认
initDataconst json &

属性: virtual

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 72, column 10)

执行

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

渲染场景中所有活动的几何实体。

参数

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

属性: virtual

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 77, column 10)

OnNewContentLoaded

virtual void OnNewContentLoaded(cauldron::ContentBlock *pContentBlock) override

内容加载时调用的回调,以便我们根据需要创建其他管线。

参数

名称类型默认
pContentBlockcauldron::ContentBlock *

属性: virtual

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 82, column 10)

OnContentUnloaded

virtual void OnContentUnloaded(cauldron::ContentBlock *pContentBlock) override

内容卸载时调用的回调。允许我们根据需要进行清理。

参数

名称类型默认
pContentBlockcauldron::ContentBlock *

属性: virtual

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 87, column 10)

私有接口

私有函数

GetPipelinePermutationID

uint32_t GetPipelinePermutationID(const cauldron::Surface *pSurface)

参数

名称类型默认
pSurfaceconst cauldron::Surface *

返回: uint32_t

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 95, column 14)

AddTexture

int32_t AddTexture(const cauldron::Material *pMaterial, const cauldron::TextureClass textureClass, int32_t &textureSamplerIndex)

参数

名称类型默认
pMaterialconst cauldron::Material *
textureClassconst cauldron::TextureClass
textureSamplerIndexint32_t &

返回: int32_t

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 96, column 14)

RemoveTexture

void RemoveTexture(int32_t index)

参数

名称类型默认
indexint32_t

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 97, column 10)

私有成员

bool m_VariableShading

bool m_VariableShading = = false

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 101, column 37)

bool m_GenerateMotionVectors

bool m_GenerateMotionVectors = = false

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 102, column 37)

cauldron::RootSignature * m_pRootSignature

cauldron::RootSignature * m_pRootSignature = = nullptr

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 103, column 36)

cauldron::ParameterSet * m_pParameterSet

cauldron::ParameterSet * m_pParameterSet = = nullptr

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 104, column 36)

const cauldron::Texture * m_pAlbedoRenderTarget

const cauldron::Texture * m_pAlbedoRenderTarget = = nullptr

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 105, column 36)

const cauldron::Texture * m_pNormalRenderTarget

const cauldron::Texture * m_pNormalRenderTarget = = nullptr

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 106, column 36)

const cauldron::Texture * m_pAoRoughnessMetallicTarget

const cauldron::Texture * m_pAoRoughnessMetallicTarget = = nullptr

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 107, column 36)

const cauldron::Texture * m_pDepthTarget

const cauldron::Texture * m_pDepthTarget = = nullptr

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 108, column 36)

const cauldron::Texture * m_pMotionVector

const cauldron::Texture * m_pMotionVector = = nullptr

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 109, column 36)

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

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

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 110, column 17)

std::vector<BoundTexture> m_Textures

std::vector<BoundTexture> m_Textures

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 117, column 23)

std::vector<cauldron::Sampler *> m_Samplers

std::vector<cauldron::Sampler *> m_Samplers

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 118, column 17)

std::mutex m_CriticalSection

std::mutex m_CriticalSection

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 119, column 16)

std::vector<PipelineRenderGroup> m_PipelineRenderGroups

std::vector<PipelineRenderGroup> m_PipelineRenderGroups

属性: private

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 136, column 28)

来源: framework/rendermodules/gbuffer/gbufferrendermodule.h (line 55, column 1)

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