HybridShadowsRenderModule
class HybridShadowsRenderModule : public cauldron::RenderModuleDependencies
This type depends on:
- FfxClassifierContext
- FfxClassifierContextDescription
- FfxClassifierShadowDispatchDescription
- (/manuals/fidelityfx_sdk/reference_documentation/structs/ffx_denoiser_context/)
- FfxDenoiserContextDescription
- FfxInterface
Inherits from: public cauldron::RenderModule
Public Interface
Constructor:
HybridShadowsRenderModule
inline HybridShadowsRenderModule()Attributes: inline
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 47, column 5)
Destructor:
~HybridShadowsRenderModule
virtual ~HybridShadowsRenderModule()Attributes: virtual
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 48, column 13)
Public Functions:
Init
virtual void Init(const json &initData) overrideInitialize FFX API context and set up UI.
Parameters:
initData(const json &) – Not used.
Attributes: virtual
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 52, column 10)
Execute
virtual void Execute(double deltaTime, cauldron::CommandList *pCmdList) overrideDispatch the Classifier using FFX API.
Parameters:
deltaTime(double) – Not used.pCmdList(cauldron::CommandList *) – Command list on which to dispatch.
Attributes: virtual
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 57, column 10)
TileDebugCallback
void TileDebugCallback(double deltaTime, cauldron::CommandList *pCmdList)Runs a debug tile visualization pass over the geometry.
Parameters:
| Name | Type | Default |
|---|---|---|
deltaTime | double | “ |
pCmdList | cauldron::CommandList * | “ |
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 62, column 10)
OnResize
virtual void OnResize(const cauldron::ResolutionInfo &resInfo) overrideRecreate the FFX API context to resize internal resources. Called by the framework when the resolution changes.
Parameters:
resInfo(const cauldron::ResolutionInfo &) – New resolution info.
Attributes: virtual
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 66, column 10)
Private Interface
Private Functions:
InitEffect
void InitEffect()Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 69, column 10)
DestroyEffect
void DestroyEffect()Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 70, column 10)
UpdateEffectContext
void UpdateEffectContext(bool enabled)Destroy or create the FFX API context using the currently set parameters.
Parameters:
| Name | Type | Default |
|---|---|---|
enabled | bool | “ |
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 73, column 10)
ResolveRayTracingToShadowTexture
void ResolveRayTracingToShadowTexture(cauldron::CommandList *pCmdList)Parameters:
| Name | Type | Default |
|---|---|---|
pCmdList | cauldron::CommandList * | “ |
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 76, column 10)
CreateRayTracingPipelines
void CreateRayTracingPipelines()Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 78, column 10)
CreateResources
void CreateResources()Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 80, column 10)
CreateDebugTilesPipeline
void CreateDebugTilesPipeline()Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 82, column 10)
RunRayTracingShadowDispatch
void RunRayTracingShadowDispatch(const FfxClassifierShadowDispatchDescription &shadowClassifierDispatchParams, const float sunSize, cauldron::CommandList *pCmdList)Parameters:
| Name | Type | Default |
|---|---|---|
shadowClassifierDispatchParams | const FfxClassifierShadowDispatchDescription & | “ |
sunSize | const float | “ |
pCmdList | cauldron::CommandList * | “ |
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 85, column 10)
RunFfxShadowDenoiser
void RunFfxShadowDenoiser(cauldron::CommandList *pCmdList)Parameters:
| Name | Type | Default |
|---|---|---|
pCmdList | cauldron::CommandList * | “ |
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 89, column 10)
CreateCopyDepthPipeline
void CreateCopyDepthPipeline()Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 163, column 10)
RunCopyDepth
void RunCopyDepth(cauldron::CommandList *pCmdList)Parameters:
| Name | Type | Default |
|---|---|---|
pCmdList | cauldron::CommandList * | “ |
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 164, column 10)
CreateDebugRayTracingPipeline
void CreateDebugRayTracingPipeline()Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 170, column 10)
RunDebugRayTracingPipeline
void RunDebugRayTracingPipeline(cauldron::CommandList *pCmdList)Parameters:
| Name | Type | Default |
|---|---|---|
pCmdList | cauldron::CommandList * | “ |
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 171, column 10)
Private Members:
const cauldron::Texture * m_pDepthTarget
const cauldron::Texture * m_pDepthTarget = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 92, column 29)
const cauldron::Texture * m_pCopyDepth
const cauldron::Texture * m_pCopyDepth = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 93, column 29)
const cauldron::Texture * m_pNormalTarget
const cauldron::Texture * m_pNormalTarget = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 94, column 29)
const cauldron::Buffer * m_pWorkQueue
const cauldron::Buffer * m_pWorkQueue = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 95, column 29)
const cauldron::Buffer * m_pWorkQueueCount
const cauldron::Buffer * m_pWorkQueueCount = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 96, column 29)
const cauldron::Texture * m_pRayHitTexture
const cauldron::Texture * m_pRayHitTexture = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 97, column 29)
const cauldron::Texture * m_pShadowMaskOutput
const cauldron::Texture * m_pShadowMaskOutput = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 98, column 29)
const cauldron::Texture * m_pColorOutput
const cauldron::Texture * m_pColorOutput = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 100, column 29)
const cauldron::Texture * m_pMotionVectors
const cauldron::Texture * m_pMotionVectors = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 102, column 29)
ClassificationMode m_ClassificationMode
ClassificationMode m_ClassificationMode = = ClassificationMode::ClassifyByCascadesAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 109, column 24)
uint32_t m_TileCutoff
uint32_t m_TileCutoff = = 0Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 112, column 14)
float m_blockerOffset
float m_blockerOffset = = 0.002fAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 113, column 14)
int m_DebugMode
int m_DebugMode = = 0Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 114, column 14)
bool m_bRejectLitPixels
bool m_bRejectLitPixels = = trueAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 115, column 14)
bool m_bUseCascadesForRayT
bool m_bUseCascadesForRayT = = trueAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 116, column 14)
bool m_bRunHybridShadows
bool m_bRunHybridShadows = = trueAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 117, column 14)
float m_sunSolidAngle
float m_sunSolidAngle = = 0.25fAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 118, column 14)
FfxInterface m_SDKInterface
FfxInterface m_SDKInterface = = {0}Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 121, column 37)
FfxClassifierContextDescription m_ClassifierCtxDesc
FfxClassifierContextDescription m_ClassifierCtxDesc = = {0}Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 122, column 37)
FfxClassifierContext m_ClassifierContext
FfxClassifierContext m_ClassifierContext = = {0}Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 123, column 37)
bool m_bUseDenoiser
bool m_bUseDenoiser = = trueAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 126, column 35)
FfxDenoiserContextDescription m_DenoiserCtxDesc
FfxDenoiserContextDescription m_DenoiserCtxDesc = = {0}Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 127, column 35)
FfxDenoiserContext m_DenoiserContext
FfxDenoiserContext m_DenoiserContext = = {0}Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 128, column 35)
RTConstantBuffer m_RTConstantBuffer
RTConstantBuffer m_RTConstantBufferAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 141, column 33)
cauldron::IndirectWorkload * m_pIndirectWorkLoad
cauldron::IndirectWorkload * m_pIndirectWorkLoad = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 142, column 32)
const cauldron::Texture * m_pBlueNoise
const cauldron::Texture * m_pBlueNoise = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 143, column 33)
cauldron::RootSignature * m_pRayTracingRootSignature
cauldron::RootSignature * m_pRayTracingRootSignature = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 144, column 30)
cauldron::PipelineObject * m_pRayTracingPipelineObj
cauldron::PipelineObject * m_pRayTracingPipelineObj = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 145, column 30)
cauldron::ParameterSet * m_pRayTracingParameters
cauldron::ParameterSet * m_pRayTracingParameters = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 146, column 30)
cauldron::RootSignature * m_pResolveRayTracingRootSignature
cauldron::RootSignature * m_pResolveRayTracingRootSignature = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 149, column 30)
cauldron::PipelineObject * m_pResolveRayTracingPipelineObj
cauldron::PipelineObject * m_pResolveRayTracingPipelineObj = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 150, column 30)
cauldron::ParameterSet * m_pResolveRayTracingParameters
cauldron::ParameterSet * m_pResolveRayTracingParameters = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 151, column 30)
cauldron::RootSignature * m_pDebugTilesRootSignature
cauldron::RootSignature * m_pDebugTilesRootSignature = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 158, column 30)
cauldron::PipelineObject * m_pDebugTilesPipelineObj
cauldron::PipelineObject * m_pDebugTilesPipelineObj = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 159, column 30)
cauldron::ParameterSet * m_pDebugTilesParameters
cauldron::ParameterSet * m_pDebugTilesParameters = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 160, column 30)
cauldron::RootSignature * m_pCopyDepthRootSignature
cauldron::RootSignature * m_pCopyDepthRootSignature = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 165, column 30)
cauldron::PipelineObject * m_pCopyDepthPipelineObj
cauldron::PipelineObject * m_pCopyDepthPipelineObj = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 166, column 30)
cauldron::ParameterSet * m_pCopyDepthParameters
cauldron::ParameterSet * m_pCopyDepthParameters = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 167, column 30)
cauldron::RootSignature * m_pDebugRayTracingRootSignature
cauldron::RootSignature * m_pDebugRayTracingRootSignature = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 172, column 30)
cauldron::PipelineObject * m_pDebugRayTracingPipelineObj
cauldron::PipelineObject * m_pDebugRayTracingPipelineObj = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 173, column 30)
cauldron::ParameterSet * m_pDebugRayTracingParameters
cauldron::ParameterSet * m_pDebugRayTracingParameters = = nullptrAttributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 174, column 30)
Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 44, column 1)