Eevee - Environment Shadows

Currently in Eevee, the only way to achieve real shadows is by using direct light instead of environment textures.

I know that Eevee uses rasterization instead of ray tracing which Cycles uses.

I also know that to achieve environmental shadows Eevee would have to use some ray tracing techniques in order to know the position of the light source and the existence of objects between the objects and the light source of the HDRI.

Is there a way that Eevee would have this ability in the future? Maybe fake it by analyzing the brightest spot of the HDRI and handle it as direct lighting. Is that possible?

By enviromental shadows, do you mean ambient occlusion (beyond SSAO)? Then no, you don’t need raytracing. Users did something like that ages ago with Blender Internal, before raytracing. But EEVEE (current?) limits are a barrier to duplicate that.

No, I don’t mean AO because that’s already implemented in Eevee. However, that are just shadows that depend on surrounding meshes and the way you look at it. Ambient Occlusion doesn’t use any light information neither from direct light nor from HDRIs. I’m talking about real shadows that are casted by objects that obscure the light source and in Eevee this is only possible with direct lighting elements. Using just the HDRI as a light source won’t cast any shadows.

EEVEE implements SSAO or generic AO?

Anyway, HDRI casting shadows was proposed somewhere else. Something like that was possible in the past via scripts that placed some lights (similar to non traytraced AO effect) for strongest parts of image, but it could be automatic now; it will be harder with EEVEE due to low limits. Those will need to be raised, or a completly different way found (lighting pre-pass(es)?).

As @gsrb3d says, this is being discussed in the pointed thread, sum up to the chat! :smiley: