Files
Máté Homolya e3814a944b Atmosphere occlusion and PBR shading (#21383)
# Objective

- Occlude the directional lights by the atmosphere
- More Physically accurate light values reaching the objects from
directional lights
- Support volumetric shadowing through the atmosphere with an additional
layer of FogVolume
- Strategic direction: use the FogVolume and expand on that
implementation for shadow sampling Since it already uses pipeline
specialization.
- For now keep the atmosphere pipeline as is, free from shadow sampling
code since these effects only matter at large scales. Shadow sampling
for the atmosphere can be implemented in a later PR for planetary rings,
objects in space, other large scale objects.

## Solution

- Bind the transmittance LUT to the core 3d mesh PBR shader
- tint the incoming light L to point P by the transmittance through the
atmospheric medium
- Apply the same effects to volumetric fog
- Ensured that new new Atmosphere pipeline key works with deferred
rendering
- Updated example to include water plane and screen space reflections.
Removed the water plane from the GLB terrain asset. (small asset churn!)

## Testing

```bash
cargo run --example atmosphere
# or
cargo run --example atmosphere --features=free_camera
```

---

## Showcase


<img width="1275" height="721" alt="Screenshot 2025-10-22 at 9 50 27 PM"
src="https://github.com/user-attachments/assets/f91ec8ba-a4ee-4bd2-b205-5158193466b9"
/>

---------

Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
Co-authored-by: atlv <email@atlasdostal.com>
2025-11-01 21:24:14 +00:00
..