Page MenuHome

Blender 2.82 EEVEE Sun Shadows look terrible in viewport
Closed, InvalidPublic

Description

System Information
Operating system: Windows-10-10.0.17763 64 Bits
Graphics card: GeForce GTX 1060 6GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 436.30

Blender Version
Broken: version: 2.82 (sub 0), branch: master, commit date: 2019-10-14 19:07, hash: rB9a85592ddea2
Worked: (optional)

Short description of error
[Blender 2.82 EEVEE Sun Shadows look terrible in viewport, pixelated even at the highest shadow maps setting. Shadows from other lights looks ok at high shadow maps but sun shadows in EEVEE look terrible. it used to look good in version 2.81]

Exact steps for others to reproduce the error
[ In EEVEE render view change the light to sun and look at the shadow of any object]
[Based on the default startup or an attached .blend file (as simple as possible)]

Details

Type
Bug

Event Timeline

Demeter Dzadik (Mets) lowered the priority of this task from Needs Triage by Developer to Needs Information from User.Oct 17 2019, 11:04 PM

Please provide a blend file that the devs can open in 2.81 and 2.82 to compare the results.

We cannot be sure without having concrete examples but I think I know what this is about because I’ve had the same exact problem with Sun shadows when Blender switched from ESM\VSM shadows to a new PCF algorithm. The thing is that old shadows used to have Softness parameter which helped with jagged edges but new algorithm relies on light shape and Soft Shadows option in Render Properties panel.

Just in case, here is my comparison between old and new Sun shadows. Old shadows tend to look less precise but more smooth while new ones look more precise but tend to look jagged or fuzzy. I'm not sure but perhaps new shadows are considered a trade-off between quality and precision and this is how it's supposed to be? The only case where I see a problem is high intensity case when PCF shadow looks pixelated regardless of Angle.




Please provide a blend file that the devs can open in 2.81 and 2.82 to compare the results.

File added for comparison. thank you.

Shamimur Rahman (shamimurrahman19) renamed this task from Blender 2.82 EEVEE Sun Shadows look terrible to Blender 2.82 EEVEE Sun Shadows look terrible in viewport.Oct 18 2019, 11:36 AM

first one is from 2.81
second one is from 2.82

I also noticed that it looks bad in the viewport only

Demeter Dzadik (Mets) raised the priority of this task from Needs Information from User to Needs Triage by Developer.Oct 18 2019, 12:12 PM

Really something has changed between releases.
Is this result expected?

@Shamimur Rahman (shamimurrahman19) what precise version hash are you comparing against?

Shadows have had an overhaul during the 2.81 development which got rid of pre-filtered shadowmaps (VSM & ESM). This might be what you are interpreting as less good.

@Shamimur Rahman (shamimurrahman19) what precise version hash are you comparing against?
Shadows have had an overhaul during the 2.81 development which got rid of pre-filtered shadowmaps (VSM & ESM). This might be what you are interpreting as less good.

Yeah I know...maybe the problem started after removing VSM & ESM. But still, it's a problem.
I can make the sun shadow look good in render by changing a lot of settings but sun shadows always look ugly in the viewport when camera not added.

What you might experience is lower shadowmap resolution due to camera having much lower far clip distance than the default viewport camera.

The sun shadow map uses near and far clip distance to calculate shadowmap projection that contain the whole viewable scene. If near - far distance is much higher there is less shadowmap resolution per unit distance, resulting in less precise shadows.

What you might experience is lower shadowmap resolution due to camera having much lower far clip distance than the default viewport camera.
The sun shadow map uses near and far clip distance to calculate shadowmap projection that contain the whole viewable scene. If near - far distance is much higher there is less shadowmap resolution per unit distance, resulting in less precise shadows.

I changed the far clip distance but the result is still the same.

@Shamimur Rahman (shamimurrahman19)

The Clip end distance needs to be way lower. Try 100 and you will see what I'm talking about.

@Shamimur Rahman (shamimurrahman19)
The Clip end distance needs to be way lower. Try 100 and you will see what I'm talking about.

"Try 100"
That's not a good solution.
Even if that somehow works, it sounds like an inefficient way to go around a bug.

I'm not an expert on Eevee but this just sounds like a reality of real time rendering. You have to deal with shadow map resolutions on any other real time renderer, including UE4.

You can:

  • Max out this value
  • Increase the size of your scene (don't do this)
  • Adjust your clipping distances so they always include only exactly what you need. (do this)

I'm assuming the new shadow method has benefits that shine when used appropriately. And if you want a render engine that works without diving into any settings, raytracing is your only option.

@Shamimur Rahman (shamimurrahman19) The "100" I gave you was just to show you that the clip distance has an impact on shadow accuracy. If you set it the same as your camera settings you should see the same results.

The new shadow method is more simple to use and has less corner cases. The downside of them is that we don't do any filtering and rely on temporal sampling accumulation to reduce aliasing artifacts. In other words, more samples are needed for smooth shadows.

From what I can understand, what you describe here is not a bug but is the expected behavior of the new system.

Some Comparison shots of shadows in Eevee v2.80 and v2.81. Default scene with added plane:

2.80 ESM vs 2.81

2.80 VSM vs 2.81

2.80 VSM 2.81 with Cube Size maxed out

As recommended above Cube Size maxed out seems to give the best result and it has a transition from hard to soft shadow which I like though it looks a bit low res on the soft side and the corner looks weird with the hard shadow but I guess that requires some extra tweaking.

Cycles 2.80 vs Eevee 2.81

While I am here can I take the time to beg you guys for osX (AMD) GPU support in Cycles and a shadow catcher for Eevee?
Here's Radeon Pro Render and Cycles with shadow catchers:

My main use for Blender is compositing and I am trying to get a similar result to Adobe Dimension but it requires quite a bit of tinkering in Blender. I love working in eevee but it's too much work(around) to get a shadow catcher effect. Cycles/RPR does the trick but only trough compositing nodes. Doing all this in realtime like in Adobe Dimension would be fantastic!

Please feel free to move or remove this post if it clashes with the rules or this thread. Thanks guys and respect!