← All ideas
  • Published 21 Feb 2019

Eevee. Don't recalculate viewport lamp shadows after just orbiting

The shadows recalculate every time you orbit the viewport, even if nothing in the scene changes. Which can slow you down after each orbit, particularly if you're using high res / high bitdepth shadows and soft shadows as well, since soft shadows are tied to render samples.

It would be nice if they would only calculate if anything in the scene changes, but not by just orbiting, since they're not screen dependant. Seeing the soft shadow in real time as you orbit, instead of waiting for a second to converge, would be really cool.

Edit: I'm obviously not refering to screen space contact shadows, sun cascade shadows, or screen space ambient occlusion, all of which use screen or camera info. And by soft shadows, I'm refering to the option in the Render properties under the Shadow panel, which jitters the shadow position at each sample creating realistic 3D soft shadows with contact hardening penumbras, not the the Softness option on each lamp's properties, which is merely a 2d blur

33.3%

Development Status: Open

Upvote 1 Downvote 2
wo262
21 Feb 2019

2 Comments

testure

I am fairly confident that the shadows ARE calculated in screen space, which is one of the reasons they are so fast.

1
wo262 Author

* @testure * No. Other than the cascade shadow maps from the sun that use the camera to determine the center of the cascade, the other lights do not use camera info at all. They are buffer shadows with depth captured from the perspective of the light, and that doesn't change when you orbit.

There are also the screen space contact shadows that you can activate per light, but I'm obviously not refering to those, nor to the ambient occlusion which is also screen space.