HybridShadowsRenderModule
class HybridShadowsRenderModule : public cauldron::RenderModule依赖项
此类型依赖于
- FfxClassifierContext
- FfxClassifierContextDescription
- FfxClassifierShadowDispatchDescription
- (/manuals/fidelityfx_sdk/reference_documentation/structs/ffx_denoiser_context/)
- FfxDenoiserContextDescription
- FfxInterface
继承自: public cauldron::RenderModule
公共接口
构造函数
HybridShadowsRenderModule
inline HybridShadowsRenderModule()属性: inline
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 47 行, 第 5 列)
析构函数
~HybridShadowsRenderModule
virtual ~HybridShadowsRenderModule()属性: virtual
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 48 行, 第 13 列)
公共函数
初始化
virtual void Init(const json &initData) override初始化 FFX API 上下文并设置 UI。
参数
initData(const json &) – 未使用。
属性: virtual
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 52 行, 第 10 列)
执行
virtual void Execute(double deltaTime, cauldron::CommandList *pCmdList) override使用 FFX API 分派分类器。
参数
deltaTime(double) – 未使用。pCmdList(cauldron::CommandList *) – 用于分派的命令列表。
属性: virtual
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 57 行, 第 10 列)
TileDebugCallback
void TileDebugCallback(double deltaTime, cauldron::CommandList *pCmdList)运行一个调试瓦片可视化通道来处理几何体。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
deltaTime | double | “ |
pCmdList | cauldron::CommandList * | “ |
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 62 行, 第 10 列)
OnResize
virtual void OnResize(const cauldron::ResolutionInfo &resInfo) override重新创建 FFX API 上下文以调整内部资源的大小。当分辨率更改时,由框架调用。
参数
resInfo(const cauldron::ResolutionInfo &) – 新分辨率信息。
属性: virtual
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 66 行, 第 10 列)
私有接口
私有函数
InitEffect
void InitEffect()来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 69 行, 第 10 列)
DestroyEffect
void DestroyEffect()来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 70 行, 第 10 列)
UpdateEffectContext
void UpdateEffectContext(bool enabled)使用当前设置的参数销毁或创建 FFX API 上下文。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
enabled | bool | “ |
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 73 行, 第 10 列)
ResolveRayTracingToShadowTexture
void ResolveRayTracingToShadowTexture(cauldron::CommandList *pCmdList)参数
| 名称 | 类型 | 默认 |
|---|---|---|
pCmdList | cauldron::CommandList * | “ |
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 76 行, 第 10 列)
CreateRayTracingPipelines
void CreateRayTracingPipelines()来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 78 行, 第 10 列)
CreateResources
void CreateResources()来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 80 行, 第 10 列)
CreateDebugTilesPipeline
void CreateDebugTilesPipeline()来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 82 行, 第 10 列)
RunRayTracingShadowDispatch
void RunRayTracingShadowDispatch(const FfxClassifierShadowDispatchDescription &shadowClassifierDispatchParams, const float sunSize, cauldron::CommandList *pCmdList)参数
| 名称 | 类型 | 默认 |
|---|---|---|
shadowClassifierDispatchParams | const FfxClassifierShadowDispatchDescription & | “ |
sunSize | const float | “ |
pCmdList | cauldron::CommandList * | “ |
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 85 行, 第 10 列)
RunFfxShadowDenoiser
void RunFfxShadowDenoiser(cauldron::CommandList *pCmdList)参数
| 名称 | 类型 | 默认 |
|---|---|---|
pCmdList | cauldron::CommandList * | “ |
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 89 行, 第 10 列)
CreateCopyDepthPipeline
void CreateCopyDepthPipeline()来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 163 行, 第 10 列)
RunCopyDepth
void RunCopyDepth(cauldron::CommandList *pCmdList)参数
| 名称 | 类型 | 默认 |
|---|---|---|
pCmdList | cauldron::CommandList * | “ |
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 164 行, 第 10 列)
CreateDebugRayTracingPipeline
void CreateDebugRayTracingPipeline()来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 170 行, 第 10 列)
RunDebugRayTracingPipeline
void RunDebugRayTracingPipeline(cauldron::CommandList *pCmdList)参数
| 名称 | 类型 | 默认 |
|---|---|---|
pCmdList | cauldron::CommandList * | “ |
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 171 行, 第 10 列)
私有成员
const cauldron::Texture * m_pDepthTarget
const cauldron::Texture * m_pDepthTarget = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 92 行, 第 29 列)
const cauldron::Texture * m_pCopyDepth
const cauldron::Texture * m_pCopyDepth = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 93 行, 第 29 列)
const cauldron::Texture * m_pNormalTarget
const cauldron::Texture * m_pNormalTarget = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 94 行, 第 29 列)
const cauldron::Buffer * m_pWorkQueue
const cauldron::Buffer * m_pWorkQueue = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 95 行, 第 29 列)
const cauldron::Buffer * m_pWorkQueueCount
const cauldron::Buffer * m_pWorkQueueCount = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 96 行, 第 29 列)
const cauldron::Texture * m_pRayHitTexture
const cauldron::Texture * m_pRayHitTexture = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 97 行, 第 29 列)
const cauldron::Texture * m_pShadowMaskOutput
const cauldron::Texture * m_pShadowMaskOutput = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 98 行, 第 29 列)
const cauldron::Texture * m_pColorOutput
const cauldron::Texture * m_pColorOutput = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 100 行, 第 29 列)
const cauldron::Texture * m_pMotionVectors
const cauldron::Texture * m_pMotionVectors = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 102 行, 第 29 列)
ClassificationMode m_ClassificationMode
ClassificationMode m_ClassificationMode = = ClassificationMode::ClassifyByCascades属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 109 行, 第 24 列)
uint32_t m_TileCutoff
uint32_t m_TileCutoff = = 0属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 112 行, 第 14 列)
float m_blockerOffset
float m_blockerOffset = = 0.002f属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 113 行, 第 14 列)
int m_DebugMode
int m_DebugMode = = 0属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 114 行, 第 14 列)
bool m_bRejectLitPixels
bool m_bRejectLitPixels = = true属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 115 行, 第 14 列)
bool m_bUseCascadesForRayT
bool m_bUseCascadesForRayT = = true属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 116 行, 第 14 列)
bool m_bRunHybridShadows
bool m_bRunHybridShadows = = true属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 117 行, 第 14 列)
float m_sunSolidAngle
float m_sunSolidAngle = = 0.25f属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 118 行, 第 14 列)
FfxInterface m_SDKInterface
FfxInterface m_SDKInterface = = {0}属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 121 行, 第 37 列)
FfxClassifierContextDescription m_ClassifierCtxDesc
FfxClassifierContextDescription m_ClassifierCtxDesc = = {0}属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 122 行, 第 37 列)
FfxClassifierContext m_ClassifierContext
FfxClassifierContext m_ClassifierContext = = {0}属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 123 行, 第 37 列)
bool m_bUseDenoiser
bool m_bUseDenoiser = = true属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 126 行, 第 35 列)
FfxDenoiserContextDescription m_DenoiserCtxDesc
FfxDenoiserContextDescription m_DenoiserCtxDesc = = {0}属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 127 行, 第 35 列)
FfxDenoiserContext m_DenoiserContext
FfxDenoiserContext m_DenoiserContext = = {0}属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 128 行, 第 35 列)
RTConstantBuffer m_RTConstantBuffer
RTConstantBuffer m_RTConstantBuffer属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 141 行, 第 33 列)
cauldron::IndirectWorkload * m_pIndirectWorkLoad
cauldron::IndirectWorkload * m_pIndirectWorkLoad = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 142 行, 第 32 列)
const cauldron::Texture * m_pBlueNoise
const cauldron::Texture * m_pBlueNoise = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 143 行, 第 33 列)
cauldron::RootSignature * m_pRayTracingRootSignature
cauldron::RootSignature * m_pRayTracingRootSignature = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 144 行, 第 30 列)
cauldron::PipelineObject * m_pRayTracingPipelineObj
cauldron::PipelineObject * m_pRayTracingPipelineObj = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 145 行, 第 30 列)
cauldron::ParameterSet * m_pRayTracingParameters
cauldron::ParameterSet * m_pRayTracingParameters = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 146 行, 第 30 列)
cauldron::RootSignature * m_pResolveRayTracingRootSignature
cauldron::RootSignature * m_pResolveRayTracingRootSignature = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 149 行, 第 30 列)
cauldron::PipelineObject * m_pResolveRayTracingPipelineObj
cauldron::PipelineObject * m_pResolveRayTracingPipelineObj = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 150 行, 第 30 列)
cauldron::ParameterSet * m_pResolveRayTracingParameters
cauldron::ParameterSet * m_pResolveRayTracingParameters = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 151 行, 第 30 列)
cauldron::RootSignature * m_pDebugTilesRootSignature
cauldron::RootSignature * m_pDebugTilesRootSignature = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 158 行, 第 30 列)
cauldron::PipelineObject * m_pDebugTilesPipelineObj
cauldron::PipelineObject * m_pDebugTilesPipelineObj = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 159 行, 第 30 列)
cauldron::ParameterSet * m_pDebugTilesParameters
cauldron::ParameterSet * m_pDebugTilesParameters = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 160 行, 第 30 列)
cauldron::RootSignature * m_pCopyDepthRootSignature
cauldron::RootSignature * m_pCopyDepthRootSignature = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 165 行, 第 30 列)
cauldron::PipelineObject * m_pCopyDepthPipelineObj
cauldron::PipelineObject * m_pCopyDepthPipelineObj = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 166 行, 第 30 列)
cauldron::ParameterSet * m_pCopyDepthParameters
cauldron::ParameterSet * m_pCopyDepthParameters = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 167 行, 第 30 列)
cauldron::RootSignature * m_pDebugRayTracingRootSignature
cauldron::RootSignature * m_pDebugRayTracingRootSignature = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 172 行, 第 30 列)
cauldron::PipelineObject * m_pDebugRayTracingPipelineObj
cauldron::PipelineObject * m_pDebugRayTracingPipelineObj = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 173 行, 第 30 列)
cauldron::ParameterSet * m_pDebugRayTracingParameters
cauldron::ParameterSet * m_pDebugRayTracingParameters = = nullptr属性: private
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 174 行, 第 30 列)
来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 44 行, 第 1 列)