Page MenuHome

Spotlight very close to tiny cube shines through the cube
Closed, ArchivedPublic

Description

System Information
Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: GeForce GT 730/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.67

Blender Version
Broken: version: 2.80 (sub 57), branch: blender2.7, commit date: 2019-04-17 19:26, hash: rBb46245470f79
Worked: (optional)

Short description of error
Why is spotlight shining through cube? (Blender 2.80 EEVEE render view)
Thanks for any ideas. Maybe that's not what I'm seeing?

Exact steps for others to reproduce the error
add a cube, scale it down to dimensions x, y, z all 0.05, add spotlight and bring spotlight very close to cube,
bring spotlight radius down to around 1, power for this test 55W, notice how it shines right through the cube, not sure why, I think it has something to do with the tiny cube size so close to the spotlight, also setting spotlight custom distance to something like 0.20m works to stop the shining through the cube, also here spotlight shadow enabled/disabled makes no difference, thanks for any ideas

Details

Type
Bug

Event Timeline

frew frew (frew) updated the task description. (Show Details)

There are two issues here:

  1. The "Clip Start" value of the spotlight is too large. It should be below the distance to the shadow casters or they won't cast a shadow. However, because of how shadow mapping works, it mustn't be zero. Try 0.01m.
  2. The "Exponent" value should be increased to, like 500 in this case. This is an inherent restriction of ESM, and is actually described on the manual:

ESM
They are fast to filter but light leaking may occur near a occluder. This can be minimized by increasing the Exponent parameter.

Okay, nice, thanks so much for looking into this. Yes, now it works to not shine through the cube when I set:

Spotlight selected> Properties panel> Object Data> Shadow> Clip start> 0.02m

Spotlight selected> Properties panel> Object Data> Shadow> 200.0

Good to know, thanks again!

Brecht Van Lommel (brecht) claimed this task.