// Copyright (c) Wojciech Figat. All rights reserved. #pragma once #include "Engine/Core/Delegate.h" #include "Engine/Core/Types/TimeSpan.h" class Actor; /// /// Probes rendering service /// class ProbesRenderer { public: /// /// Time delay between probe updates. Can be used to improve performance by rendering probes less often. /// static TimeSpan UpdateDelay; /// /// Timeout after the last probe rendered when resources used to render it should be released. /// static TimeSpan ReleaseTimeout; /// /// Maximum amount of cubemap faces or filtering passes that can be performed per-frame (in total). Set it to 7 to perform whole cubemap capture within a single frame, lower values spread the work across multiple frames. /// static int32 MaxWorkPerFrame; static Delegate OnRegisterBake; static Delegate OnFinishBake; public: /// /// Register probe to baking service. /// /// Probe to bake /// Timeout in seconds left to bake it. static void Bake(class EnvironmentProbe* probe, float timeout = 0); /// /// Register probe to baking service. /// /// Probe to bake /// Timeout in seconds left to bake it. static void Bake(class SkyLight* probe, float timeout = 0); };