diff --git a/libraries/render-utils/src/LightStage.cpp b/libraries/render-utils/src/LightStage.cpp index d62f52047b..42b161ba74 100644 --- a/libraries/render-utils/src/LightStage.cpp +++ b/libraries/render-utils/src/LightStage.cpp @@ -360,8 +360,7 @@ LightStage::LightPointer LightStage::removeLight(Index index) { LightStage::LightPointer LightStage::getCurrentKeyLight() const { Index keyLightId{ _defaultLightId }; - // There is always at least 1 light (the off light) - if (_currentFrame._sunLights.size() > 1) { + if (!_currentFrame._sunLights.empty()) { keyLightId = _currentFrame._sunLights.front(); } return _lights.get(keyLightId); @@ -369,8 +368,7 @@ LightStage::LightPointer LightStage::getCurrentKeyLight() const { LightStage::LightPointer LightStage::getCurrentAmbientLight() const { Index keyLightId { _defaultLightId }; - // There is always at least 1 light (the off light) - if (_currentFrame._ambientLights.size() > 1) { + if (!_currentFrame._ambientLights.empty()) { keyLightId = _currentFrame._ambientLights.front(); } return _lights.get(keyLightId); @@ -378,8 +376,7 @@ LightStage::LightPointer LightStage::getCurrentAmbientLight() const { LightStage::ShadowPointer LightStage::getCurrentKeyShadow() const { Index keyLightId { _defaultLightId }; - // There is always at least 1 light (the off light) - if (_currentFrame._sunLights.size() > 1) { + if (!_currentFrame._sunLights.empty()) { keyLightId = _currentFrame._sunLights.front(); } auto shadow = getShadow(keyLightId); @@ -389,8 +386,7 @@ LightStage::ShadowPointer LightStage::getCurrentKeyShadow() const { LightStage::LightAndShadow LightStage::getCurrentKeyLightAndShadow() const { Index keyLightId { _defaultLightId }; - // There is always at least 1 light (the off light) - if (_currentFrame._sunLights.size() > 1) { + if (!_currentFrame._sunLights.empty()) { keyLightId = _currentFrame._sunLights.front(); } auto shadow = getShadow(keyLightId); diff --git a/libraries/render-utils/src/LightStage.h b/libraries/render-utils/src/LightStage.h index b47e454b88..8da2ba3900 100644 --- a/libraries/render-utils/src/LightStage.h +++ b/libraries/render-utils/src/LightStage.h @@ -119,6 +119,8 @@ public: Index findLight(const LightPointer& light) const; Index addLight(const LightPointer& light, const bool shouldSetAsDefault = false); + + const Index getDefaultLight() const { return _defaultLightId; } Index addShadow(Index lightIndex, float maxDistance = 20.0f, unsigned int cascadeCount = 1U); diff --git a/libraries/render-utils/src/ZoneRenderer.cpp b/libraries/render-utils/src/ZoneRenderer.cpp index 8494688f92..c0d01c2eaf 100644 --- a/libraries/render-utils/src/ZoneRenderer.cpp +++ b/libraries/render-utils/src/ZoneRenderer.cpp @@ -68,10 +68,11 @@ void SetupZones::run(const RenderContextPointer& context, const Inputs& inputs) auto lightStage = context->_scene->getStage(); assert(lightStage); - lightStage->_currentFrame.pushSunLight(0); - lightStage->_currentFrame.pushAmbientLight(0); - hazeStage->_currentFrame.pushHaze(0); + lightStage->_currentFrame.pushSunLight(lightStage->getDefaultLight()); + lightStage->_currentFrame.pushAmbientLight(lightStage->getDefaultLight()); + backgroundStage->_currentFrame.pushBackground(0); + hazeStage->_currentFrame.pushHaze(0); } const gpu::PipelinePointer& DebugZoneLighting::getKeyLightPipeline() {