Showing the changes to libraries/render-utils/src/DeferredLightingEffect.cpp (1 of 1 file). Show all
Unified · Split
| @@ -107,26 +107,27 @@ void DeferredLightingEffect::setupKeyLightBatch(const RenderArgs* args, gpu::Bat · 106 unmodified lines | |||
| 107 | auto lightStage = args->_scene->getStage<LightStage>(); | 107 | auto lightStage = args->_scene->getStage<LightStage>(); |
| 108 | if (lightStage && lightStage->_currentFrame._sunLights.size()) { | 108 | if (lightStage && lightStage->_currentFrame._sunLights.size()) { |
| 109 | keySunLight = lightStage->getLight(lightStage->_currentFrame._sunLights.front()); | 109 | keySunLight = lightStage->getLight(lightStage->_currentFrame._sunLights.front()); |
| 110 | } else { | ||
| 111 | keySunLight = lightStage->getLight(0); | ||
| 112 | } | 110 | } |
| 113 | 111 | ||
| 114 | model::LightPointer keyAmbiLight; | 112 | model::LightPointer keyAmbiLight; |
| 115 | if (lightStage && lightStage->_currentFrame._ambientLights.size()) { | 113 | if (lightStage && lightStage->_currentFrame._ambientLights.size()) { |
| 116 | keyAmbiLight = lightStage->getLight(lightStage->_currentFrame._ambientLights.front()); | 114 | keyAmbiLight = lightStage->getLight(lightStage->_currentFrame._ambientLights.front()); |
| 117 | } else { | ||
| 118 | keyAmbiLight = lightStage->getLight(0); | ||
| 119 | } | 115 | } |
| 120 | 116 | ||
| 121 | if (lightBufferUnit >= 0) { | 117 | if (keySunLight) { |
| 122 | batch.setUniformBuffer(lightBufferUnit, keySunLight->getLightSchemaBuffer()); | 118 | if (lightBufferUnit >= 0) { |
| 123 | } | 119 | batch.setUniformBuffer(lightBufferUnit, keySunLight->getLightSchemaBuffer()); |
| 124 | if (ambientBufferUnit >= 0) { | 120 | } |
| 125 | batch.setUniformBuffer(ambientBufferUnit, keyAmbiLight->getAmbientSchemaBuffer()); | ||
| 126 | } | 121 | } |
| 127 | 122 | ||
| 128 | if (keyAmbiLight->getAmbientMap() && (skyboxCubemapUnit >= 0)) { | 123 | if (keyAmbiLight) { |
| 129 | batch.setResourceTexture(skyboxCubemapUnit, keyAmbiLight->getAmbientMap()); | 124 | if (ambientBufferUnit >= 0) { |
| 125 | batch.setUniformBuffer(ambientBufferUnit, keyAmbiLight->getAmbientSchemaBuffer()); | ||
| 126 | } | ||
| 127 | |||
| 128 | if (keyAmbiLight->getAmbientMap() && (skyboxCubemapUnit >= 0)) { | ||
| 129 | batch.setResourceTexture(skyboxCubemapUnit, keyAmbiLight->getAmbientMap()); | ||
| 130 | } | ||
| 130 | } | 131 | } |
| 131 | } | 132 | } |
| 132 | 133 | ||