HybridShadowsRenderModule
class HybridShadowsRenderModule : public cauldron::RenderModule
Dependencies
This type depends on:
- FfxClassifierContext
- FfxClassifierContextDescription
- FfxClassifierShadowDispatchDescription
- FfxDenoiserContext
- 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) override
Initialize 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) override
Dispatch 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) override
Recreate 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 = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 92, column 29)
const cauldron::Texture * m_pCopyDepth
const cauldron::Texture * m_pCopyDepth = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 93, column 29)
const cauldron::Texture * m_pNormalTarget
const cauldron::Texture * m_pNormalTarget = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 94, column 29)
const cauldron::Buffer * m_pWorkQueue
const cauldron::Buffer * m_pWorkQueue = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 95, column 29)
const cauldron::Buffer * m_pWorkQueueCount
const cauldron::Buffer * m_pWorkQueueCount = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 96, column 29)
const cauldron::Texture * m_pRayHitTexture
const cauldron::Texture * m_pRayHitTexture = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 97, column 29)
const cauldron::Texture * m_pShadowMaskOutput
const cauldron::Texture * m_pShadowMaskOutput = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 98, column 29)
const cauldron::Texture * m_pColorOutput
const cauldron::Texture * m_pColorOutput = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 100, column 29)
const cauldron::Texture * m_pMotionVectors
const cauldron::Texture * m_pMotionVectors = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 102, column 29)
ClassificationMode m_ClassificationMode
ClassificationMode m_ClassificationMode = = ClassificationMode::ClassifyByCascades
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 109, column 24)
uint32_t m_TileCutoff
uint32_t m_TileCutoff = = 0
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 112, column 14)
float m_blockerOffset
float m_blockerOffset = = 0.002f
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 113, column 14)
int m_DebugMode
int m_DebugMode = = 0
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 114, column 14)
bool m_bRejectLitPixels
bool m_bRejectLitPixels = = true
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 115, column 14)
bool m_bUseCascadesForRayT
bool m_bUseCascadesForRayT = = true
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 116, column 14)
bool m_bRunHybridShadows
bool m_bRunHybridShadows = = true
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 117, column 14)
float m_sunSolidAngle
float m_sunSolidAngle = = 0.25f
Attributes: 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 = = true
Attributes: 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_RTConstantBuffer
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 141, column 33)
cauldron::IndirectWorkload * m_pIndirectWorkLoad
cauldron::IndirectWorkload * m_pIndirectWorkLoad = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 142, column 32)
const cauldron::Texture * m_pBlueNoise
const cauldron::Texture * m_pBlueNoise = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 143, column 33)
cauldron::RootSignature * m_pRayTracingRootSignature
cauldron::RootSignature * m_pRayTracingRootSignature = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 144, column 30)
cauldron::PipelineObject * m_pRayTracingPipelineObj
cauldron::PipelineObject * m_pRayTracingPipelineObj = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 145, column 30)
cauldron::ParameterSet * m_pRayTracingParameters
cauldron::ParameterSet * m_pRayTracingParameters = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 146, column 30)
cauldron::RootSignature * m_pResolveRayTracingRootSignature
cauldron::RootSignature * m_pResolveRayTracingRootSignature = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 149, column 30)
cauldron::PipelineObject * m_pResolveRayTracingPipelineObj
cauldron::PipelineObject * m_pResolveRayTracingPipelineObj = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 150, column 30)
cauldron::ParameterSet * m_pResolveRayTracingParameters
cauldron::ParameterSet * m_pResolveRayTracingParameters = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 151, column 30)
cauldron::RootSignature * m_pDebugTilesRootSignature
cauldron::RootSignature * m_pDebugTilesRootSignature = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 158, column 30)
cauldron::PipelineObject * m_pDebugTilesPipelineObj
cauldron::PipelineObject * m_pDebugTilesPipelineObj = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 159, column 30)
cauldron::ParameterSet * m_pDebugTilesParameters
cauldron::ParameterSet * m_pDebugTilesParameters = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 160, column 30)
cauldron::RootSignature * m_pCopyDepthRootSignature
cauldron::RootSignature * m_pCopyDepthRootSignature = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 165, column 30)
cauldron::PipelineObject * m_pCopyDepthPipelineObj
cauldron::PipelineObject * m_pCopyDepthPipelineObj = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 166, column 30)
cauldron::ParameterSet * m_pCopyDepthParameters
cauldron::ParameterSet * m_pCopyDepthParameters = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 167, column 30)
cauldron::RootSignature * m_pDebugRayTracingRootSignature
cauldron::RootSignature * m_pDebugRayTracingRootSignature = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 172, column 30)
cauldron::PipelineObject * m_pDebugRayTracingPipelineObj
cauldron::PipelineObject * m_pDebugRayTracingPipelineObj = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 173, column 30)
cauldron::ParameterSet * m_pDebugRayTracingParameters
cauldron::ParameterSet * m_pDebugRayTracingParameters = = nullptr
Attributes: private
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 174, column 30)
Source: samples/hybridshadows/hybridshadowsrendermodule.h
(line 44, column 1)