跳至内容

HybridShadowsRenderModule

class HybridShadowsRenderModule : public cauldron::RenderModule

依赖项

此类型依赖于

继承自: 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)

运行一个调试瓦片可视化通道来处理几何体。

参数

名称类型默认
deltaTimedouble
pCmdListcauldron::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 上下文。

参数

名称类型默认
enabledbool

来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 73 行, 第 10 列)

ResolveRayTracingToShadowTexture

void ResolveRayTracingToShadowTexture(cauldron::CommandList *pCmdList)

参数

名称类型默认
pCmdListcauldron::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)

参数

名称类型默认
shadowClassifierDispatchParamsconst FfxClassifierShadowDispatchDescription &
sunSizeconst float
pCmdListcauldron::CommandList *

来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 85 行, 第 10 列)

RunFfxShadowDenoiser

void RunFfxShadowDenoiser(cauldron::CommandList *pCmdList)

参数

名称类型默认
pCmdListcauldron::CommandList *

来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 89 行, 第 10 列)

CreateCopyDepthPipeline

void CreateCopyDepthPipeline()

来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 163 行, 第 10 列)

RunCopyDepth

void RunCopyDepth(cauldron::CommandList *pCmdList)

参数

名称类型默认
pCmdListcauldron::CommandList *

来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 164 行, 第 10 列)

CreateDebugRayTracingPipeline

void CreateDebugRayTracingPipeline()

来源: samples/hybridshadows/hybridshadowsrendermodule.h (第 170 行, 第 10 列)

RunDebugRayTracingPipeline

void RunDebugRayTracingPipeline(cauldron::CommandList *pCmdList)

参数

名称类型默认
pCmdListcauldron::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 列)

© . This site is unofficial and not affiliated with AMD.