History

Shadow maps rendered in cascades

Olivier Prat committed 9 years ago

Commit 103e0361 parent 08b062814 files · +213 −165Browse files

Showing the changes to libraries/render-utils/src/DebugDeferredBuffer.cpp (1 of 14 files). Show all

Unified · Split

libraries/render-utils/src/DebugDeferredBuffer.cpp+6−2
@@ -284,7 +284,10 @@ std::string DebugDeferredBuffer::getShaderSourceCode(Mode mode, std::string cust · 283 unmodified lines
284284 return DEFAULT_SCATTERING_SHADER;
285285 case LightingMode:
286286 return DEFAULT_LIGHTING_SHADER;
287− case ShadowMode:
287+ case Shadow0Mode:
288+ case Shadow1Mode:
289+ case Shadow2Mode:
290+ case Shadow3Mode:
288291 return DEFAULT_SHADOW_SHADER;
289292 case LinearDepthMode:
290293 return DEFAULT_LINEAR_DEPTH_SHADER;
@@ -438,7 +441,8 @@ void DebugDeferredBuffer::run(const RenderContextPointer& renderContext, const I · 147 unmodified lines
438441 auto lightAndShadow = lightStage->getCurrentKeyLightAndShadow();
439442 const auto& globalShadow = lightAndShadow.second;
440443 if (globalShadow) {
441− batch.setResourceTexture(Shadow, globalShadow->getCascade(0).map);
444+ const auto cascadeIndex = glm::clamp(_mode - Mode::Shadow0Mode, 0, (int)globalShadow->getCascadeCount() - 1);
445+ batch.setResourceTexture(Shadow, globalShadow->getCascade(cascadeIndex).map);
442446 }
443447
444448 if (linearDepthTarget) {