@@ -319,6 +319,11 @@ void ProbesRendererService::Update()
|
||||
// Calculate time delta since last update
|
||||
auto timeNow = Time::Update.UnscaledTime;
|
||||
auto timeSinceUpdate = timeNow - _lastProbeUpdate;
|
||||
if (timeSinceUpdate < 0)
|
||||
{
|
||||
_lastProbeUpdate = timeNow;
|
||||
timeSinceUpdate = 0;
|
||||
}
|
||||
|
||||
// Check if render job is done
|
||||
if (isUpdateSynced())
|
||||
@@ -352,8 +357,9 @@ void ProbesRendererService::Update()
|
||||
auto dt = (float)Time::Update.UnscaledDeltaTime.GetTotalSeconds();
|
||||
for (int32 i = 0; i < _probesToBake.Count(); i++)
|
||||
{
|
||||
_probesToBake[i].Timeout -= dt;
|
||||
if (_probesToBake[i].Timeout <= 0)
|
||||
auto& e = _probesToBake[i];
|
||||
e.Timeout -= dt;
|
||||
if (e.Timeout <= 0)
|
||||
{
|
||||
firstValidEntryIndex = i;
|
||||
break;
|
||||
@@ -418,6 +424,9 @@ void ProbesRenderer::OnRender(RenderTask* task, GPUContext* context)
|
||||
if (_current.Actor == nullptr)
|
||||
{
|
||||
// Probe has been unlinked (or deleted)
|
||||
_task->Enabled = false;
|
||||
_updateFrameNumber = 0;
|
||||
_current.Type = EntryType::Invalid;
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user