godotengine / godotengine/godot
Volumetric Fog overlaps over Distance Fog
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Reproducible in 4.3.4, 4.3rc2
### System information
Godot v4.3.rc2 - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1650 (NVIDIA; 32.0.15.5612) - AMD Ryzen 3 2200G with Radeon Vega Graphics (4 Threads)
### Issue description
When you enable both Volumetric fog and Distance fog, any point where both fogs overlap, the volumetric fog will lit up/uncover any surface that are expected to be covered by the distance fog. My expected outcome is for the distance fog to always cover the surfaces that are meant to be hidden by it. Not sure if theres a perspective where the expected outcome is the current one.

Windows to black background at end of hallway.

Window completely hidden by fog at end of hallway

Volumetric fog being lit up by the indirect lighing (SDFGI), overlapping the distance fog, lighting up the surfaces previously covered by the distance fog

Volumetric fog being lit up by a spotlight with volumetric enabled, overlapping the distance fog, lighting up the surfaces previously covered by the distance fog
### Steps to reproduce
1. Open the project and the TestScene.tscn
2. Move the camera behind SpotLight3D1, looking towards the window
3. Observe the wall and windows, previously covered by fog, become visible
4. Enable SDFGI in the WorldEnviroment node
5. Move the camera behind SpotLight3D2, looking towards the window
6. Observe the wall and windows, previously covered by fog, become visible
### Minimal reproduction project (MRP)
[MultiFogTest.zip](https://github.com/user-attachments/files/16499249/MultiFogTest.zip)
Contributor guide
Research direction
Start with the MultiFogTest.zip reproduction project and open TestScene.tscn. Follow the listed camera positions and compare the wall and window visibility with Distance Fog, Volumetric Fog, SDFGI, and volumetric spotlights enabled; done means the interaction matches the intended fog occlusion behavior without exposing surfaces covered by Distance Fog.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, godot
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100