跳至内容

CASRenderModule

class CASRenderModule : public cauldron::RenderModule

CASRenderModule 处理与 CAS 相关的若干任务。

CASRenderModule 负责:创建 UI 部分,使用户能够切换 CAS 的选项,进行锐化或上采样,并将结果输出到颜色目标。

依赖项: FfxCasContext, FfxCasContextDescription

继承自: public cauldron::RenderModule

公共接口

构造函数

CASRenderModule

inline CASRenderModule()

带默认行为的构造函数。

属性: inline

来源: samples/cas/casrendermodule.h (第 57 行,第 5 列)

析构函数

~CASRenderModule

virtual ~CASRenderModule()

拆解 FFX API 上下文并释放资源。

属性: virtual

来源: samples/cas/casrendermodule.h (第 65 行,第 13 列)

公共函数

初始化

virtual void Init(const json &initData) override

初始化 FFX API 上下文,设置用作临时输入的内部颜色纹理,并为 CAS 设置 UI 部分。

参数

名称类型默认
initDataconst json &

属性: virtual

来源: samples/cas/casrendermodule.h (第 70 行,第 18 列)

执行

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

设置 FFX API 本帧所需的输入/输出纹理和参数,然后调用 FFX Dispatch。

参数

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

属性: virtual

来源: samples/cas/casrendermodule.h (第 75 行,第 18 列)

OnResize

virtual void OnResize(const cauldron::ResolutionInfo &resInfo) override

当分辨率改变时,由框架调用。需要响应此调用重置 CAS 的 FFX API 上下文。

参数

名称类型默认
resInfoconst cauldron::ResolutionInfo &

属性: virtual

来源: samples/cas/casrendermodule.h (第 80 行,第 18 列)

私有接口

私有函数

UpdateResolution

cauldron::ResolutionInfo UpdateResolution(uint32_t displayWidth, uint32_t displayHeight)

由框架必需,以便 CAS RenderModule 可以处理上采样比例。

参数

名称类型默认
displayWidthuint32_t
displayHeightuint32_t

返回值: cauldron::ResolutionInfo

来源: samples/cas/casrendermodule.h (第 103 行,第 30 列)

UpdatePreset

void UpdatePreset(const int32_t *pOldPreset)

当启用上采样或更改上采样预设时调用的回调函数。

参数

名称类型默认
pOldPresetconst int32_t *

来源: samples/cas/casrendermodule.h (第 108 行,第 30 列)

UpdateUpscaleRatio

void UpdateUpscaleRatio(const float *pOldRatio)

上采样比例滑块的回调函数。

参数

名称类型默认
pOldRatioconst float *

来源: samples/cas/casrendermodule.h (第 113 行,第 30 列)

SetupFfxInterface

void SetupFfxInterface()

来源: samples/cas/casrendermodule.h (第 115 行,第 30 列)

InitCasContext

void InitCasContext()

来源: samples/cas/casrendermodule.h (第 116 行,第 30 列)

DestroyCasContext

void DestroyCasContext()

来源: samples/cas/casrendermodule.h (第 117 行,第 30 列)

私有成员

CAS_State m_CasState

CAS_State m_CasState = = CAS_State_SharpenOnly

属性: private

来源: samples/cas/casrendermodule.h (第 119 行,第 15 列)

bool m_CasEnabled

bool m_CasEnabled = = true

属性: private

来源: samples/cas/casrendermodule.h (第 120 行,第 15 列)

float m_Sharpness

float m_Sharpness = = 0.8f

属性: private

来源: samples/cas/casrendermodule.h (第 121 行,第 15 列)

CASScalePreset m_ScalePreset

CASScalePreset m_ScalePreset = = CASScalePreset::UltraQuality

属性: private

来源: samples/cas/casrendermodule.h (第 123 行,第 20 列)

float m_UpscaleRatio

float m_UpscaleRatio = = 1.3f

属性: private

来源: samples/cas/casrendermodule.h (第 124 行,第 20 列)

bool m_UpscaleRatioEnabled

bool m_UpscaleRatioEnabled = = false

属性: private

来源: samples/cas/casrendermodule.h (第 125 行,第 20 列)

bool m_CasUpscalingEnabled

bool m_CasUpscalingEnabled = = false

属性: private

来源: samples/cas/casrendermodule.h (第 126 行,第 20 列)

FfxCasContextDescription m_InitializationParameters

FfxCasContextDescription m_InitializationParameters = = {0}

属性: private

来源: samples/cas/casrendermodule.h (第 129 行,第 30 列)

FfxCasContext m_CasContext

FfxCasContext m_CasContext

属性: private

来源: samples/cas/casrendermodule.h (第 130 行,第 30 列)

const cauldron::Texture * m_pColorTarget

const cauldron::Texture * m_pColorTarget = = nullptr

属性: private

来源: samples/cas/casrendermodule.h (第 133 行,第 29 列)

const cauldron::Texture * m_pTempColorTarget

const cauldron::Texture * m_pTempColorTarget = = nullptr

属性: private

来源: samples/cas/casrendermodule.h (第 134 行,第 29 列)

std::function<cauldron::ResolutionInfo(uint32_t, uint32_t)> m_pUpdateFunc

std::function<cauldron::ResolutionInfo(uint32_t, uint32_t)> m_pUpdateFunc = = nullptr

属性: private

来源: samples/cas/casrendermodule.h (第 137 行,第 19 列)

来源: samples/cas/casrendermodule.h (第 51 行,第 1 列)

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