// 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; 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); };