From d589634968fd7b97dd0b013084164c35ffd06251 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Sat, 24 Apr 2021 00:50:30 -0700 Subject: [PATCH] don't set sun parameters if we didn't have SH The parameters would turn out as NaN. We might need a better API for this, but it's never okay to set NaN values. --- libs/viewer/src/SimpleViewer.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libs/viewer/src/SimpleViewer.cpp b/libs/viewer/src/SimpleViewer.cpp index 312a74fd19..ace24f0f9a 100644 --- a/libs/viewer/src/SimpleViewer.cpp +++ b/libs/viewer/src/SimpleViewer.cpp @@ -384,10 +384,12 @@ void SimpleViewer::setIndirectLight(filament::IndirectLight* ibl, if (ibl) { float3 d = filament::IndirectLight::getDirectionEstimate(sh3); float4 c = filament::IndirectLight::getColorEstimate(sh3, d); - mSettings.lighting.sunlightDirection = d; - mSettings.lighting.sunlightColor = c.rgb; - mSettings.lighting.sunlightIntensity = c[3] * ibl->getIntensity(); - updateIndirectLight(); + if (!std::isnan(d.x * d.y * d.z)) { + mSettings.lighting.sunlightDirection = d; + mSettings.lighting.sunlightColor = c.rgb; + mSettings.lighting.sunlightIntensity = c[3] * ibl->getIntensity(); + updateIndirectLight(); + } } }