跳至内容

FSRRenderModule

class FSRRenderModule : public cauldron::RenderModule

依赖项: TAARenderModule, TranslucencyRenderModule

继承自: public cauldron::RenderModule

公共接口

构造函数

FSRRenderModule

inline FSRRenderModule()

属性: inline

来源: samples/fsrapi/fsrapirendermodule.h (line 59, column 5)

析构函数

~FSRRenderModule

virtual ~FSRRenderModule()

属性: virtual

来源: samples/fsrapi/fsrapirendermodule.h (line 68, column 13)

公共函数

初始化

virtual void Init(const json &initData)

渲染模块初始化函数。所有设置代码都需要在此处完成。

参数

名称类型默认
initDataconst json &

属性: virtual

来源: samples/fsrapi/fsrapirendermodule.h (line 70, column 10)

启用模块

virtual void EnableModule(bool enabled) override

设置渲染模块的启用状态。

参数

名称类型默认
enabledbool

属性: virtual

来源: samples/fsrapi/fsrapirendermodule.h (line 71, column 10)

OnPreFrame

virtual void OnPreFrame() override

属性: virtual

来源: samples/fsrapi/fsrapirendermodule.h (line 72, column 10)

执行

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

设置 FSR API 本帧所需的参数,然后调用 FFX Dispatch。

参数

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

属性: virtual

来源: samples/fsrapi/fsrapirendermodule.h (line 77, column 10)

PreTransCallback

void PreTransCallback(double deltaTime, cauldron::CommandList *pCmdList)

参数

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

来源: samples/fsrapi/fsrapirendermodule.h (line 78, column 10)

PostTransCallback

void PostTransCallback(double deltaTime, cauldron::CommandList *pCmdList)

参数

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

来源: samples/fsrapi/fsrapirendermodule.h (line 79, column 10)

OnResize

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

重新创建 FSR API Context 以调整内部资源大小。当分辨率改变时,由框架调用。

参数

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

属性: virtual

来源: samples/fsrapi/fsrapirendermodule.h (line 84, column 10)

InitUI

void InitUI(cauldron::UISection *uiSection)

初始化 UI。

参数

名称类型默认
uiSectioncauldron::UISection *

来源: samples/fsrapi/fsrapirendermodule.h (line 89, column 10)

NeedsReInit

inline bool NeedsReInit() const const

返回 FSR 是否需要样本端重新初始化。

返回: bool

属性: const, inline

来源: samples/fsrapi/fsrapirendermodule.h (line 94, column 10)

ClearReInit

inline void ClearReInit()

清除 FSR 重新初始化标志。

属性: inline

来源: samples/fsrapi/fsrapirendermodule.h (line 99, column 10)

SetFilter

inline void SetFilter(int32_t method)

参数

名称类型默认
方法int32_t

属性: inline

来源: samples/fsrapi/fsrapirendermodule.h (line 101, column 10)

私有接口

私有函数

FfxMsgCallback

static void FfxMsgCallback(uint32_t type, const wchar_t *message)

参数

名称类型默认
typeuint32_t
消息const wchar_t *

属性: static

来源: samples/fsrapi/fsrapirendermodule.h (line 147, column 17)

UiCompositionCallback

ffxReturnCode_t UiCompositionCallback(ffxCallbackDescFrameGenerationPresent *)

参数

名称类型默认
ffxCallbackDescFrameGenerationPresent *

返回: ffxReturnCode_t

来源: samples/fsrapi/fsrapirendermodule.h (line 148, column 21)

SwitchUpscaler

void SwitchUpscaler(int32_t newUpscaler)

参数

名称类型默认
newUpscalerint32_t

来源: samples/fsrapi/fsrapirendermodule.h (line 150, column 30)

UpdatePreset

void UpdatePreset(const int32_t *pOldPreset)

参数

名称类型默认
pOldPresetconst int32_t *

来源: samples/fsrapi/fsrapirendermodule.h (line 152, column 30)

UpdateUpscaleRatio

void UpdateUpscaleRatio(const float *pOldRatio)

参数

名称类型默认
pOldRatioconst float *

来源: samples/fsrapi/fsrapirendermodule.h (line 153, column 30)

UpdateMipBias

void UpdateMipBias(const float *pOldBias)

参数

名称类型默认
pOldBiasconst float *

来源: samples/fsrapi/fsrapirendermodule.h (line 154, column 30)

UpdateResolution

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

参数

名称类型默认
displayWidthuint32_t
displayHeightuint32_t

返回: cauldron::ResolutionInfo

来源: samples/fsrapi/fsrapirendermodule.h (line 156, column 30)

UpdateFSRContext

void UpdateFSRContext(bool enabled)

参数

名称类型默认
enabledbool

来源: samples/fsrapi/fsrapirendermodule.h (line 157, column 30)

SetUpscaleConstantBuffer

void SetUpscaleConstantBuffer(uint64_t key, float value)

参数

名称类型默认
keyuint64_t
valuefloat

来源: samples/fsrapi/fsrapirendermodule.h (line 256, column 30)

SetGlobalDebugCheckerMode

void SetGlobalDebugCheckerMode(FSRDebugCheckerMode mode, bool recreate)

参数

名称类型默认
modeFSRDebugCheckerMode
recreatebool

来源: samples/fsrapi/fsrapirendermodule.h (line 259, column 30)

私有成员

enum FSRRenderModule::UpscalerType UpscalerType

enum FSRRenderModule::UpscalerType UpscalerType

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 56, column 18)

const float cMipBias

const float cMipBias = = {
std::log2f(1.f / 1.0f) - 1.f + std::numeric_limits<float>::epsilon(),
std::log2f(1.f / 1.5f) - 1.f + std::numeric_limits<float>::epsilon(),
std::log2f(1.f / 1.7f) - 1.f + std::numeric_limits<float>::epsilon(),
std::log2f(1.f / 2.0f) - 1.f + std::numeric_limits<float>::epsilon(),
std::log2f(1.f / 3.0f) - 1.f + std::numeric_limits<float>::epsilon()
&#125;

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 139, column 17)

cauldron::UIRenderModule * m_pUIRenderModule

cauldron::UIRenderModule * m_pUIRenderModule = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 159, column 32)

cauldron::ResourceView * m_pRTResourceView

cauldron::ResourceView * m_pRTResourceView = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 160, column 32)

int32_t m_UpscaleMethod

int32_t m_UpscaleMethod = = Upscaler_FSRAPI

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 162, column 21)

int32_t m_UiUpscaleMethod

int32_t m_UiUpscaleMethod = = Upscaler_FSRAPI

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 163, column 21)

FSRScalePreset m_CurScale

FSRScalePreset m_CurScale = = FSRScalePreset::Quality

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 164, column 21)

FSRScalePreset m_ScalePreset

FSRScalePreset m_ScalePreset = = FSRScalePreset::Quality

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 165, column 21)

float m_UpscaleRatio

float m_UpscaleRatio = = 2.f

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 166, column 21)

float m_LetterboxRatio

float m_LetterboxRatio = = 1.f

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 167, column 21)

float m_MipBias

float m_MipBias = = cMipBias[static_cast<uint32_t>(FSRScalePreset::Quality)]

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 168, column 21)

FSRMaskMode m_MaskMode

FSRMaskMode m_MaskMode = = FSRMaskMode::Manual

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 169, column 21)

float m_Sharpness

float m_Sharpness = = 0.8f

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 170, column 21)

uint32_t m_JitterIndex

uint32_t m_JitterIndex = = 0

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 171, column 21)

float m_JitterX

float m_JitterX = = 0.f

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 172, column 21)

float m_JitterY

float m_JitterY = = 0.f

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 173, column 21)

uint64_t m_FrameID

uint64_t m_FrameID = = 0

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 174, column 21)

bool m_IsNonNative

bool m_IsNonNative = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 176, column 10)

bool m_UpscaleRatioEnabled

bool m_UpscaleRatioEnabled = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 177, column 10)

bool m_UseMask

bool m_UseMask = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 178, column 10)

bool m_UseDistortionField

bool m_UseDistortionField = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 179, column 10)

bool m_RCASSharpen

bool m_RCASSharpen = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 180, column 10)

bool m_SharpnessEnabled

bool m_SharpnessEnabled = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 181, column 10)

bool m_NeedReInit

bool m_NeedReInit = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 182, column 10)

bool m_FrameInterpolationAvailable

bool m_FrameInterpolationAvailable = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 184, column 10)

bool m_AsyncComputeAvailable

bool m_AsyncComputeAvailable = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 185, column 10)

bool m_EnableMaskOptions

bool m_EnableMaskOptions = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 186, column 10)

bool m_EnableWaitCallbackModeUI

bool m_EnableWaitCallbackModeUI = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 187, column 10)

bool m_FrameInterpolation

bool m_FrameInterpolation = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 188, column 10)

bool m_EnableAsyncCompute

bool m_EnableAsyncCompute = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 189, column 10)

bool m_AllowAsyncCompute

bool m_AllowAsyncCompute = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 190, column 10)

bool m_PendingEnableAsyncCompute

bool m_PendingEnableAsyncCompute = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 191, column 10)

bool m_UseCallback

bool m_UseCallback = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 192, column 10)

bool m_DrawFrameGenerationDebugTearLines

bool m_DrawFrameGenerationDebugTearLines = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 193, column 10)

bool m_DrawFrameGenerationDebugResetIndicators

bool m_DrawFrameGenerationDebugResetIndicators = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 194, column 10)

bool m_DrawFrameGenerationDebugPacingLines

bool m_DrawFrameGenerationDebugPacingLines = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 195, column 10)

bool m_DrawFrameGenerationDebugView

bool m_DrawFrameGenerationDebugView = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 196, column 10)

bool m_DrawUpscalerDebugView

bool m_DrawUpscalerDebugView = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 197, column 10)

bool m_PresentInterpolatedOnly

bool m_PresentInterpolatedOnly = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 198, column 10)

bool m_SimulatePresentSkip

bool m_SimulatePresentSkip = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 199, column 10)

bool m_ResetUpscale

bool m_ResetUpscale = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 200, column 10)

bool m_ResetFrameInterpolation

bool m_ResetFrameInterpolation = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 201, column 10)

bool m_DoublebufferInSwapchain

bool m_DoublebufferInSwapchain = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 202, column 10)

bool m_OfUiEnabled

bool m_OfUiEnabled = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 203, column 10)

std::vector<uint64_t> m_FsrVersionIds

std::vector<uint64_t> m_FsrVersionIds

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 206, column 17)

uint32_t m_FsrVersionIndex

uint32_t m_FsrVersionIndex = = 0

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 207, column 14)

bool m_overrideVersion

bool m_overrideVersion = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 208, column 17)

uint64_t m_currentUpscaleContextVersionId

uint64_t m_currentUpscaleContextVersionId = = 0

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 209, column 17)

const char * m_currentUpscaleContextVersionName

const char * m_currentUpscaleContextVersionName = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 210, column 16)

bool m_ffxBackendInitialized

bool m_ffxBackendInitialized = = false

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 212, column 10)

ffx::Context m_UpscalingContext

ffx::Context m_UpscalingContext = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 213, column 18)

ffx::Context m_FrameGenContext

ffx::Context m_FrameGenContext = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 214, column 18)

ffx::Context m_SwapChainContext

ffx::Context m_SwapChainContext = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 215, column 18)

ffx::ConfigureDescFrameGeneration m_FrameGenerationConfig

ffx::ConfigureDescFrameGeneration m_FrameGenerationConfig = &#123;&#125;

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 216, column 39)

std::vector<cauldron::UIElement *> m_UIElements

std::vector<cauldron::UIElement *> m_UIElements = &#123;&#125;

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 219, column 17)

const cauldron::Texture * m_pColorTarget

const cauldron::Texture * m_pColorTarget = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 222, column 30)

const cauldron::Texture * m_pTonemappedColorTarget

const cauldron::Texture * m_pTonemappedColorTarget = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 223, column 30)

const cauldron::Texture * m_pTempTexture

const cauldron::Texture * m_pTempTexture = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 224, column 30)

const cauldron::Texture * m_pDepthTarget

const cauldron::Texture * m_pDepthTarget = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 225, column 30)

const cauldron::Texture * m_pMotionVectors

const cauldron::Texture * m_pMotionVectors = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 226, column 30)

const cauldron::Texture * m_pReactiveMask

const cauldron::Texture * m_pReactiveMask = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 227, column 30)

const cauldron::Texture * m_pCompositionMask

const cauldron::Texture * m_pCompositionMask = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 228, column 30)

const cauldron::Texture * m_pOpaqueTexture

const cauldron::Texture * m_pOpaqueTexture = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 229, column 30)

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

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

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 232, column 17)

cauldron::ResourceView * m_pUiTargetResourceView

cauldron::ResourceView * m_pUiTargetResourceView = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 233, column 45)

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

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

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 236, column 19)

bool s_enableSoftwareMotionEstimation

bool s_enableSoftwareMotionEstimation = = true

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 238, column 14)

int32_t s_uiRenderMode

int32_t s_uiRenderMode = = 2

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 239, column 14)

int32_t s_uiRenderModeNextFrame

int32_t s_uiRenderModeNextFrame = = 2

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 240, column 14)

uint32_t m_curUiTextureIndex

uint32_t m_curUiTextureIndex = = 0

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 243, column 30)

const cauldron::Texture * m_pUiTexture

const cauldron::Texture * m_pUiTexture = = &#123;&#125;

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 244, column 29)

const cauldron::Texture * m_pHudLessTexture

const cauldron::Texture * m_pHudLessTexture = = &#123;&#125;

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 245, column 29)

const cauldron::Texture * m_pDistortionField

const cauldron::Texture * m_pDistortionField = = &#123;&#125;

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 246, column 29)

TAARenderModule * m_pTAARenderModule

TAARenderModule * m_pTAARenderModule = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 248, column 30)

ToneMappingRenderModule * m_pToneMappingRenderModule

ToneMappingRenderModule * m_pToneMappingRenderModule = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 249, column 30)

TranslucencyRenderModule * m_pTransRenderModule

TranslucencyRenderModule * m_pTransRenderModule = = nullptr

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 250, column 30)

int32_t m_UpscalerCBKey

int32_t m_UpscalerCBKey = = 0

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 253, column 30)

float m_UpscalerCBValue

float m_UpscalerCBValue = = 1.f

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 254, column 30)

float m_UpscalerCBValueStore

float m_UpscalerCBValueStore = = &#123;1.f,1.f,1.f,1.0f/3,-1.0f/3&#125;

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 255, column 30)

FSRDebugCheckerMode m_GlobalDebugCheckerMode

FSRDebugCheckerMode m_GlobalDebugCheckerMode = = FSRDebugCheckerMode::Disabled

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 258, column 30)

int32_t m_waitCallbackMode

int32_t m_waitCallbackMode = = 0

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 264, column 30)

float m_SafetyMarginInMs

float m_SafetyMarginInMs

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 267, column 11)

float m_VarianceFactor

float m_VarianceFactor

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 268, column 11)

bool m_AllowHybridSpin

bool m_AllowHybridSpin

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 269, column 11)

uint32_t m_HybridSpinTime

uint32_t m_HybridSpinTime

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 270, column 14)

bool m_AllowWaitForSingleObjectOnFence

bool m_AllowWaitForSingleObjectOnFence

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 271, column 10)

FfxApiSwapchainFramePacingTuning framePacingTuning

FfxApiSwapchainFramePacingTuning framePacingTuning

属性: private

来源: samples/fsrapi/fsrapirendermodule.h (line 272, column 38)

来源: samples/fsrapi/fsrapirendermodule.h (line 49, column 1)

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