Skip to content

[Feature] Fog: distance, height and volumetric #1240

Description

@miogds

Goal

Fog gives a level its atmosphere and its sense of scale: the far field fading into the sky colour, mist pooling in a valley or along a street at dawn, a torch beam cutting through a damp cave, dust hanging in the light of a window. The engine has no fog of any kind today, so every scene reads as clear air to the horizon.

The goal is fog at three levels of cost. Distance and height fog, analytic and per pixel in the light pass from depth: colour, density, start and end, a height falloff, saved with the scene, applied consistently to opaque geometry, transparent objects and Gaussian splats. Volumetric fog, a view-aligned froxel grid that takes density from the scene and in-scattering from its lights and shadows, with temporal reuse and half resolution on visionOS, which gives god rays and lit mist. Local fog volumes placed as entities so a designer can fill one room or one corridor. On visionOS fog applies in full immersion only; over passthrough the real room sets the air. Fog is atmospheric and computed in the lighting and post passes; smoke, which is emitted and drifts, belongs to the particle system (issue #1237).

Status

Step Plan Status
Requirements Which of the three the game needs first; behaviour on visionOS (no fog over passthrough in mixed immersion, full fog in full immersion); interaction with the sky and the tone map Not started
Distance and height fog Analytic fog in the light pass from depth: colour, density, start and end, height falloff; per-scene settings saved with the scene; transparent objects and Gaussian splats fogged consistently Not started
Volumetric fog Froxel grid (view-aligned 3D texture) with density injection, in-scattering from the scene lights and shadows, temporal reuse; half resolution on visionOS with foveation Not started
Local volumes Fog volumes placed as entities (a box or sphere of denser fog) authored in the editor Not started
Editor Fog settings in the environment panel with live preview Not started
Sample A misty street on one of the demos with the performance counters attached Not started

Next steps

  • Distance and height fog first: small, and most scenes want it.
  • Volumetric fog after the performance work on visionOS, since it is a full-screen cost at two eyes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions