godotengine / godotengine/godot

Volumetric Fog with Temporal Reprojection + SpotLight3D attached to Player Camera is broken

Open
#93,162 1 comment 2 reactions 0 assignees View on GitHub
discussion topic:3d topic:rendering
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

- Reproducible in 4.3 Beta 1

### System information

Windows 10 - Godot v4.3 Beta 1 - Vulkan (Forward +) - Dedicated GPU (RTX 2080 Super)

### Issue description

When experimenting with Godot and 3D features, I wanted to have a scene with SDFGI enabled, Volumetric Fog with Temporal Reprojection enabled and also a SpotLight3D that the player can use to affect the fog (attached to the Camera)

As one can see in the video below, whenever the player moves, there is very heavy ghosting/delay.
This is even documented and known when hovering over the "Temporal Reprojection" setting.

The "solution" to this ghosting is to turn off Temporal Reprojection, but then the Volumetric Fog looks really bad and has heavy graphical glitches, especially together with SDFGI. So turning off the reprojection is not an option.

Turning on the reprojection is also not an option due to the ghosting.

How can I achieve the desired result in Godot 4, with Vol. Fog + Temp. Reprojection, SDFGI and Dynamic Lights that affect the fog?

### Steps to reproduce

- Have a simple scene, in this example i took the classic Sponza scene
- Have a simple FPS player controller
- Enable SDFGI
- Enable Volumetric Fog with Temporal Reprojection
- Attach a SpotLight3D to the player camera
- Play and move around

### Minimal reproduction project (MRP)

See the issue in this screen cap:

https://github.com/godotengine/godot/assets/1736929/2f63d5e4-1149-4eac-9f21-c59645a865cf

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue using the Sponza scene, an FPS controller, SDFGI, volumetric fog with Temporal Reprojection, and a camera-attached SpotLight3D. Compare movement with reprojection enabled and disabled, then determine what change would remove the ghosting while preserving the requested lighting and fog features.

Written by the indexing model from the issue text.

Assessment

Tech stack
godot
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.