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)渲染模块初始化函数。所有设置代码都需要在此处完成。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
initData | const json & | “ |
属性: virtual
来源: samples/fsrapi/fsrapirendermodule.h (line 70, column 10)
启用模块
virtual void EnableModule(bool enabled) override设置渲染模块的启用状态。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
enabled | bool | “ |
属性: 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。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
deltaTime | double | “ |
pCmdList | cauldron::CommandList * | “ |
属性: virtual
来源: samples/fsrapi/fsrapirendermodule.h (line 77, column 10)
PreTransCallback
void PreTransCallback(double deltaTime, cauldron::CommandList *pCmdList)参数
| 名称 | 类型 | 默认 |
|---|---|---|
deltaTime | double | “ |
pCmdList | cauldron::CommandList * | “ |
来源: samples/fsrapi/fsrapirendermodule.h (line 78, column 10)
PostTransCallback
void PostTransCallback(double deltaTime, cauldron::CommandList *pCmdList)参数
| 名称 | 类型 | 默认 |
|---|---|---|
deltaTime | double | “ |
pCmdList | cauldron::CommandList * | “ |
来源: samples/fsrapi/fsrapirendermodule.h (line 79, column 10)
OnResize
virtual void OnResize(const cauldron::ResolutionInfo &resInfo) override重新创建 FSR API Context 以调整内部资源大小。当分辨率改变时,由框架调用。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
resInfo | const cauldron::ResolutionInfo & | “ |
属性: virtual
来源: samples/fsrapi/fsrapirendermodule.h (line 84, column 10)
InitUI
void InitUI(cauldron::UISection *uiSection)初始化 UI。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
uiSection | cauldron::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)参数
| 名称 | 类型 | 默认 |
|---|---|---|
type | uint32_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)参数
| 名称 | 类型 | 默认 |
|---|---|---|
newUpscaler | int32_t | “ |
来源: samples/fsrapi/fsrapirendermodule.h (line 150, column 30)
UpdatePreset
void UpdatePreset(const int32_t *pOldPreset)参数
| 名称 | 类型 | 默认 |
|---|---|---|
pOldPreset | const int32_t * | “ |
来源: samples/fsrapi/fsrapirendermodule.h (line 152, column 30)
UpdateUpscaleRatio
void UpdateUpscaleRatio(const float *pOldRatio)参数
| 名称 | 类型 | 默认 |
|---|---|---|
pOldRatio | const float * | “ |
来源: samples/fsrapi/fsrapirendermodule.h (line 153, column 30)
UpdateMipBias
void UpdateMipBias(const float *pOldBias)参数
| 名称 | 类型 | 默认 |
|---|---|---|
pOldBias | const float * | “ |
来源: samples/fsrapi/fsrapirendermodule.h (line 154, column 30)
UpdateResolution
cauldron::ResolutionInfo UpdateResolution(uint32_t displayWidth, uint32_t displayHeight)参数
| 名称 | 类型 | 默认 |
|---|---|---|
displayWidth | uint32_t | “ |
displayHeight | uint32_t | “ |
返回: cauldron::ResolutionInfo
来源: samples/fsrapi/fsrapirendermodule.h (line 156, column 30)
UpdateFSRContext
void UpdateFSRContext(bool enabled)参数
| 名称 | 类型 | 默认 |
|---|---|---|
enabled | bool | “ |
来源: samples/fsrapi/fsrapirendermodule.h (line 157, column 30)
SetUpscaleConstantBuffer
void SetUpscaleConstantBuffer(uint64_t key, float value)参数
| 名称 | 类型 | 默认 |
|---|---|---|
key | uint64_t | “ |
value | float | “ |
来源: samples/fsrapi/fsrapirendermodule.h (line 256, column 30)
SetGlobalDebugCheckerMode
void SetGlobalDebugCheckerMode(FSRDebugCheckerMode mode, bool recreate)参数
| 名称 | 类型 | 默认 |
|---|---|---|
mode | FSRDebugCheckerMode | “ |
recreate | bool | “ |
来源: 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() }属性: 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 = {}属性: private
来源: samples/fsrapi/fsrapirendermodule.h (line 216, column 39)
std::vector<cauldron::UIElement *> m_UIElements
std::vector<cauldron::UIElement *> m_UIElements = {}属性: 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 = = {}属性: 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 = = {}属性: private
来源: samples/fsrapi/fsrapirendermodule.h (line 244, column 29)
const cauldron::Texture * m_pHudLessTexture
const cauldron::Texture * m_pHudLessTexture = = {}属性: private
来源: samples/fsrapi/fsrapirendermodule.h (line 245, column 29)
const cauldron::Texture * m_pDistortionField
const cauldron::Texture * m_pDistortionField = = {}属性: 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 = = {1.f,1.f,1.f,1.0f/3,-1.0f/3}属性: 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)