#pragma once #include #include "engine/Runtime/Rendering/Caches/DirectionalShadowSurfaceCache.h" namespace XCEngine { namespace Rendering { struct CameraFramePlan; class RenderPipeline; class DirectionalShadowRuntime { public: DirectionalShadowRuntime() = default; DirectionalShadowRuntime(const DirectionalShadowRuntime&) = delete; DirectionalShadowRuntime& operator=(const DirectionalShadowRuntime&) = delete; ~DirectionalShadowRuntime() = default; bool ResolveExecutionState( const CameraFramePlan& plan, const RenderPipeline& pipeline, DirectionalShadowExecutionState& outShadowState); private: DirectionalShadowSurfaceCache m_surfaceCache; }; } // namespace Rendering } // namespace XCEngine