跳至内容

TranslucencyRenderModule

class TranslucencyRenderModule : public cauldron::RenderModule, public cauldron::ContentListener

Translucency渲染模块负责以排序(从后往前)的方式渲染所有半透明的几何体和粒子。

依赖项: OptionalTransparencyOptions

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

公共接口

构造函数

TranslucencyRenderModule

inline TranslucencyRenderModule()

构造。

属性: inline

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 78 行,第 5 列)

析构函数

~TranslucencyRenderModule

virtual ~TranslucencyRenderModule()

销毁。

属性: virtual

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 83 行,第 13 列)

公共函数

初始化

virtual void Init(const json &initData) override

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

参数

名称类型默认
initDataconst json &

属性: virtual

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 88 行,第 10 列)

执行

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

渲染场景中所有活动的半透明几何体和粒子。

参数

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

属性: virtual

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 93 行,第 10 列)

OnNewContentLoaded

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

当加载新内容时调用的回调函数,以便我们可以在需要时创建其他管线。

参数

名称类型默认
pContentBlockcauldron::ContentBlock *

属性: virtual

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 98 行,第 10 列)

OnContentUnloaded

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

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

参数

名称类型默认
pContentBlockcauldron::ContentBlock *

属性: virtual

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 103 行,第 10 列)

AddOptionalTransparencyOptions

void AddOptionalTransparencyOptions(const OptionalTransparencyOptions &options)

设置要附加到创建的管线的可选透明度选项。

参数

名称类型默认
optionsconst OptionalTransparencyOptions &

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 108 行,第 10 列)

私有接口

私有函数

CreatePipelineObject

uint32_t CreatePipelineObject(const cauldron::Surface *pSurface)

参数

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

返回: uint32_t

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 116 行,第 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/translucency/translucencyrendermodule.h (第 117 行,第 14 列)

RemoveTexture

void RemoveTexture(int32_t index)

参数

名称类型默认
indexint32_t

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 118 行,第 10 列)

私有成员

bool m_VariableShading

bool m_VariableShading = = false

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 121 行,第 10 列)

uint32_t m_ShadowMapCount

uint32_t m_ShadowMapCount = = 0

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 122 行,第 21 列)

LightingCBData m_LightingConstantData

LightingCBData m_LightingConstantData

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 125 行,第 20 列)

cauldron::RootSignature * m_pRootSignature

cauldron::RootSignature * m_pRootSignature = = nullptr

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 127 行,第 36 列)

cauldron::ParameterSet * m_pParameterSet

cauldron::ParameterSet * m_pParameterSet = = nullptr

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 128 行,第 36 列)

const cauldron::Texture * m_pColorRenderTarget

const cauldron::Texture * m_pColorRenderTarget = = nullptr

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 130 行,第 36 列)

const cauldron::Texture * m_pDepthTarget

const cauldron::Texture * m_pDepthTarget = = nullptr

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 131 行,第 36 列)

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

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

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 133 行,第 17 列)

OptionalTransparencyOptions m_OptionalTransparencyOptions

OptionalTransparencyOptions m_OptionalTransparencyOptions = = &#123;&#125;

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 135 行,第 37 列)

std::vector<BoundTexture> m_Textures

std::vector<BoundTexture> m_Textures

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 142 行,第 23 列)

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

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

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 143 行,第 17 列)

std::mutex m_CriticalSection

std::mutex m_CriticalSection

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 144 行,第 16 列)

std::vector<PipelineHashObject> m_PipelineHashObjects

std::vector<PipelineHashObject> m_PipelineHashObjects

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 159 行,第 17 列)

std::vector<TranslucentRenderData> m_TranslucentRenderSurfaces

std::vector<TranslucentRenderData> m_TranslucentRenderSurfaces

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 170 行,第 17 列)

cauldron::RootSignature * m_pParticlesRenderRootSignature

cauldron::RootSignature * m_pParticlesRenderRootSignature = = nullptr

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 172 行,第 36 列)

cauldron::ParameterSet * m_pParticlesRenderParameters

cauldron::ParameterSet * m_pParticlesRenderParameters = = nullptr

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 173 行,第 36 列)

std::vector<PipelineHashObject> m_pParticlesRenderPipelineHashObjects

std::vector<PipelineHashObject> m_pParticlesRenderPipelineHashObjects

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 174 行,第 17 列)

cauldron::IndirectWorkload * m_pIndirectWorkload

cauldron::IndirectWorkload * m_pIndirectWorkload = = nullptr

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 176 行,第 32 列)

std::vector<ParticlesRenderData> m_RenderParticleSpawners

std::vector<ParticlesRenderData> m_RenderParticleSpawners

属性: private

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 192 行,第 17 列)

被使用于: FSRRenderModule

来源: framework/rendermodules/translucency/translucencyrendermodule.h (第 71 行,第 1 列)

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