Blender Git Loki

Blender Git "tmp-eevee-shadowmap-refactor" branch commits.

September 2, 2019, 14:41 (GMT)
EEVEE: Fix sunlight when sun angle is 180 degrees
September 2, 2019, 14:41 (GMT)
Eevee: Light: Refactor shadow tagging to allow dupli shadow casters

Dupli objects can now cast shadows.

This also replace the custom lightbits by BLI_bitmap.
September 2, 2019, 14:41 (GMT)
Cleanup: EEVEE: Split eevee_lights.c into smaller files

Also have some const correctness fix and some header cleanup.
September 2, 2019, 14:41 (GMT)
UI: Make cascaded shadowmap panel on top of contact shadow

This make more sense as cascade parameters are more important.
September 2, 2019, 14:41 (GMT)
EEVEE: Fix spotlight shadow optimization

Spot light can be non-uniform and scale in one direction. This fix makes
sure both directions are taken into account before skipping cubemap faces.
September 2, 2019, 14:41 (GMT)
Eevee: Shadow: Refactor / Cleanup of shadow update

- Replace EEVEE_lightbits by BLI_bitmap
- Replace EEVEE_BoundSphere by BoundSphere
- Support for dupli light shadows
- Detect unecessary update of soft shadows (i.e: moving the view)
- Remove Object references
September 2, 2019, 14:41 (GMT)
EEVEE: Remove softness parameters from RNA & UI

Keep it in DNA for backward compatibility
September 2, 2019, 14:41 (GMT)
EEVEE: Shadow: Add temporal sampling to shadowmaps

If soft shadows is enabled, we randomize the shadowmap sample position
to reduce aliasing artifacts (jagged edge shadows).
September 2, 2019, 14:41 (GMT)
EEVEE: Shadow: Add back shadow bias

This is needed in some corner case (shadow acne due to aliasing and depth
disparity). This is a simple bias added to default bias. It should not be
needed most of the time but we leave it at 1 by default.
September 2, 2019, 14:41 (GMT)
Eevee: Remove ESM and VSM code
September 2, 2019, 14:41 (GMT)
Eevee: Shadows: Make shadowmap follow light orientation

This is in preparation of an optimization
September 2, 2019, 14:41 (GMT)
DRW: Add shadow bias state

This state add shadowmap bias to avoid most of self shadowing.
September 2, 2019, 14:41 (GMT)
Eevee: Shadow: Speedup: Use only 2 sample for cascaded shadowmap
September 2, 2019, 14:41 (GMT)
Eevee: Shadows: Improve contact shadows

Contact shadows now follow the shadowmap direction. This means it matches
the shadowmap blur that is proportional to the light radius.

Moreover this adds a more efficient bias for most contact shadows.
September 2, 2019, 14:41 (GMT)
Eevee: Shadows: Add texel border on shadow cube for better edge filtering

Unfortunately, this seems to be imprecise on lower cube resolution. But
the result is still most of the time more pleasant than no border filtering.
September 2, 2019, 14:41 (GMT)
Eevee: Shadow: Make sun clip distances automatic

This simplify sun lights setup and matches more cycles behavior.
September 2, 2019, 14:41 (GMT)
Eevee: Shadow: Remove receiver plane bias and use hardware filtering

In an attempt to simplify the shadowing in eevee, we remove the bias and
filtering option.

Now the shadowmap always get the minimum constant and slope bias and we
only do a bilinear shadow filtering. This means the shadow is as sharper
and exact as the shadow map format allows (bitdepth and size).

Only the lamp size can change the shadow softness.
September 2, 2019, 14:41 (GMT)
Eevee: Shadows: Add Receiver Plane Depth Bias

This bias replace the previous bias method. The bias is now scalled to
have the correct depth of the triangle at the sample location. This is done
by computing the actual depth that would be recorded in the shadowmap
at the texels locations, if the triangle was extrapolated.

This leads to less shadow acne and it ensure the bias is always the minimum
amount that ensure correct shadowing.

However this technique is not failure free and if the receiver is nearly
parallel to the light, the bias is nearly infinite and light leaking occurs.

For this reason I decided to cap the bias by the bias parameter to tweak
between shadow acne and light leaking.
September 2, 2019, 14:41 (GMT)
DRW: Add line offset to DRW_STATE_SHADOW_OFFSET

This is needed for hairs.
September 2, 2019, 14:41 (GMT)
Eevee: Shadow: Speedup: Only render shadow cube face needed

This reduce the number of face to render to 5 in the case of area lights
and 5 or 1 for spotlights.

Spotlights that have a spot size less than 90 degrees only need 1 face and
are the fastest.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021