8#include "render/general/resource/shadow/ShadowMapArrayIndexManager.h"
9#include "render/directx/descriptors/DirectXDescriptorHeap.h"
12 class ShadowMapHandle;
13 class DirectXResource;
14 class GpuResourceManager;
39 static std::variant<std::unique_ptr<DirectXShadowMapArrayIndexManager>,
Error>
create(
74 [[nodiscard]]
virtual std::optional<Error>
84 [[nodiscard]]
virtual std::optional<Error>
112 std::shared_ptr<ContinuousDirectXDescriptorRange>
pSrvRange;
Definition: DirectXDescriptorHeap.h:44
Definition: DirectXShadowMapArrayIndexManager.h:17
virtual std::optional< Error > bindShadowMapsToAllPipelines() override
Definition: DirectXShadowMapArrayIndexManager.cpp:179
void onSrvRangeIndicesChanged()
Definition: DirectXShadowMapArrayIndexManager.cpp:184
std::pair< std::recursive_mutex, std::unordered_set< ShadowMapHandle * > > mtxRegisteredShadowMaps
Definition: DirectXShadowMapArrayIndexManager.h:115
ContinuousDirectXDescriptorRange * getSrvDescriptorRange() const
Definition: DirectXShadowMapArrayIndexManager.h:49
virtual ~DirectXShadowMapArrayIndexManager() override
Definition: DirectXShadowMapArrayIndexManager.cpp:15
virtual std::optional< Error > registerShadowMapResource(ShadowMapHandle *pShadowMapHandle) override
Definition: DirectXShadowMapArrayIndexManager.cpp:65
std::shared_ptr< ContinuousDirectXDescriptorRange > pSrvRange
Definition: DirectXShadowMapArrayIndexManager.h:112
virtual std::optional< Error > unregisterShadowMapResource(ShadowMapHandle *pShadowMapHandle) override
Definition: DirectXShadowMapArrayIndexManager.cpp:153
static std::variant< std::unique_ptr< DirectXShadowMapArrayIndexManager >, Error > create(Renderer *pRenderer, GpuResourceManager *pResourceManager, const std::string &sShaderArrayResourceName)
Definition: DirectXShadowMapArrayIndexManager.cpp:31
virtual std::optional< Error > bindShadowMapsToPipeline(Pipeline *pPipeline) override
Definition: DirectXShadowMapArrayIndexManager.cpp:174
Definition: GpuResourceManager.h:43
Definition: Pipeline.h:20
Definition: Renderer.h:43
Definition: ShadowMapArrayIndexManager.h:25
Renderer *const pRenderer
Definition: ShadowMapArrayIndexManager.h:134
const std::string sShaderArrayResourceName
Definition: ShadowMapArrayIndexManager.h:137
Definition: ShadowMapHandle.h:23