Skip to content

HybridShadowsRenderModule

class HybridShadowsRenderModule : public cauldron::RenderModule

Dependencies

This type depends on:

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:

NameTypeDefault
deltaTimedouble
pCmdListcauldron::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:

NameTypeDefault
enabledbool

Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 73, column 10)

ResolveRayTracingToShadowTexture

void ResolveRayTracingToShadowTexture(cauldron::CommandList *pCmdList)

Parameters:

NameTypeDefault
pCmdListcauldron::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:

NameTypeDefault
shadowClassifierDispatchParamsconst FfxClassifierShadowDispatchDescription &
sunSizeconst float
pCmdListcauldron::CommandList *

Source: samples/hybridshadows/hybridshadowsrendermodule.h (line 85, column 10)

RunFfxShadowDenoiser

void RunFfxShadowDenoiser(cauldron::CommandList *pCmdList)

Parameters:

NameTypeDefault
pCmdListcauldron::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:

NameTypeDefault
pCmdListcauldron::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:

NameTypeDefault
pCmdListcauldron::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)