Losing Control and Speed :( New Shadow System in Eevee 2.81

Hello Everyone! I’m completely fresh user of Blender and was absolutely happy with the 2.8. The release 2.81 sounds amazing, and I was overexcited to install the latest version. I do understand that brilliant developers team worked hard day and night to improve user experience and simplify the settings and stability of shadows in Eevee but my previous scenes were badly ruined. With the new system which described here in details https://wiki.blender.org/wiki/Reference/Release_Notes/2.81/Eevee I can hardly get the same results as in 2.8

So that’s my scene in Blender 2.8

And Here is an attempt to get the same result in 2.81


As you can see I finally achieved it by increasing the Render Sampling from 50 to 1000 and also by significantly reducing the size of area light which does look now rather like an ellipse but not rectangle.
Rendering speed is also dropped from 2 sec to 24 sec. Is there any hope that Eevee shadow setting of 2.8 will get back with the new releases? Or maybe you can advise me to do something else? Many thanks in advance!

3 Likes

It must to be the only case where the old system works better.

The old way was removed. Maybe could be implemented in some future a blur or penumbra for shadows.

You can reduce problem with shadow resolution, with less resolution, more blurred shadow.

2 Likes

Generally you did it right. With 2.81 blender changed to Percentage Closer Filtering (PCF ) as Shadow Mapping Approach. Exponential (ESM) and Variance Shadow Mapping (VSM) were removed. You can google for comparisons or more detailed descriptions of their drawbacks. All of them are common and exist for quite some time. As a rule of thumb PCF needs more Samples to get a decent result with a smooth penumbra. Funfact: VSM is the newer approach to the problem than PCF but the light bleeding has been an inherent problem with VSM. Newer Approaches would be Percentage-Closer Soft Shadows (PCSS) and Contact Hardening Shadows (CHS) nothing like that is planned for blender as far as i know.

As Alberto said you can increase the ShadowMap Size and/or the samples in the RenderTab to influence the result. Shadowmap size reduces pixelized shadow borders. Bias and Contact Shadow Options in the Light Tab may also be important for other problems, but are also slightly adapted with the change to PCF. You can get some info on that in the link you posted yourself or here: https://docs.blender.org/manual/en/latest/render/eevee/lighting.html

What its happening there?
By any chance are you using high contact shadows distance values to support the main big shadows?


Eevee is no longer realtime! It is a very serious issue!
We are losing the point why Eevee was created in the first place.
PCF even with soft shadows on provides unusable results, if you compare that to VSM. It’s worse than an over 10 year old game engine. And it doesn’t even fixes the light leaks which it was supposed to.
Having to use 10x times more samples in the engine that was intended to be used in realtime to achieve the same results as before is an absolute madness!

There is no sane reasoning for removing ESM and VSM! It should stay as a user selectable option!
And the only explanation that I found about removing extended shadow options is to simplify lights setup, but aren’t we talking about professional software that needs all control user can get to achieve the best results?!
What is more funny is that it was possible to adjust these options to get the needed look, like Exponent with contact shadows, to minimize light leaks to a bare minimum, and now they are gone and light leaks are back, which PCF was supposed to fix :anguished: , again.

At this point 2.81 isn’t usable to me because all of my scenes are now a mess and I can’t afford 1000 samples for a “realtime” engine so I’m staying at 2.80

Commit rBd8aaf25c23fa was a too bold and blatant move removing ESM/VSM and leaving no options to a user.

I think that what’s going on right now is a madness.

  • EEVEE never try to be realtime for render.
  • VSM and ESM perfomance in scenes with a few lights was horrible.
  • VSM and ESM were not able to made any shadow with a minimum quality.
    image image

For rendering it isn’t realtime, but wasn’t it the main idea of Eevee to be very fast and provide very close results in editing? Now with PCF you will have to live with constant flickering from soft shadows that were enabled by default or to render every time you need a preview.
And what about taking away precise user control?
I don’t think it’s the steps in a right direction.

And I don’t even mentioning backwards compatibility to the scenes created in 2.80.

-The compatibility is not a excuse to keep a system that fail in all shadows solutions.
-The shadows with PCF are better than with VSM and ESM, also more detailed, need a few more samples in some situations, but it is a minority of situations.
-PCF don’t need more precise controls, because it works, but VSM and ESM need it because it hardly works in a lot of situations.

I don’t tell that is not normal that some people are not happy with the change. But if we see in a balance the new shadows are better in all aspect that old system, that was a good idea but didn’t work.

You are providing reasonable points and I’m maybe a bit overreacting because I’ve updated to 2.81 in the middle of making a long animation and was kinda furious after seeing how bad and jagged my perfectly tuned shadows started to look with the same sample count from 2.80 and how much more time I need for rendering to get anything decent with a lost ability for preview in editing

But still I believe that leaving ESM/VSM as a user selectable option for a few versions could’ve been a nice gesture to make a transition period more graduate. I’ve looked to the commit and at a first glance haven’t seen any conflicting code that was forcing to trash ESM/VSM that radically.

First things first: NEVER change software in the middle of a production. It always causes issues.

The flickering is from soft shadows. They’ve always done this. Before they weren’t on by default.

As for the light leaks, do you have Contact Shadows enabled under your light Settings?

Summing up, switch back to 2.80 until you finish this animation you’re working on, or relight everything. Software changes, but you aren’t forced to upgrade to the latest and greatest (unless you use certain software from a large software conglomerate that forces the subscription model on you). This is why the movie Next Gen was made in Blender 2.78 or something like that and not 2.80.

Normally keep options implies a lot of work for developers. And like this shadows only work in 2.80, a few months, and have a lot of bugs, I don’t see reason to keep it.

BUt I understand your reaction, it is normal. Something that work for you doesn’t work now.

I have been using the daily compiled version,
When this feature was just updated, I had a hunch that someone would complain during the official version.

Because the default render settings and lighting settings make shadows look terrible and are almost unusable.
But when you study the lighting parameters and rendering parameters carefully, you will find that the new shadow system is much better than the original one. I like it anyway,
Like ClémentFoucault

I think this may be a place that blender needs to polish.The various default settings should be relatively optimal, which can avoid user bias and avoid repeated labor and waste of time.

What is unsatisfactory to eevee is indeed the issue of rendering speed and sampling.
Although it is fast, it is still a bit slow for complex scene rendering.
It would be great if you could set different rendering sampling rates for different materials or objects or layers.
Because many times only the important objects in the scene need to look fine enough,
Other insignificant ones can completely undersample and leave resources to important objects.
It can speed up rendering and allow better contrast between important and secondary objects.