Skip to main content

Fog quality and materials

Find Fog Quality in Features > Fog. These controls override the project's volumetric-fog rendering values in Config/DefaultGame.ini. They update the rendered grid, not the baked probe data.

The grid is shared by Spectral Fog Volume and Exponential Height Fog's volumetric contribution. These quality controls are therefore not limited to local Spectral boxes. Enable Volumetric Fog on native Exponential Height Fog to use that source, and see probe lighting requirements for the supported rendering path.

The grid and temporal controls initially reflect the engine/scalability configuration. Saved project overrides can change the values shown.

Fog Filtering​

Default: Trilinear. Scope: per project.

Chooses how the rendered volumetric fog is sampled between grid cells. This dropdown replaces the earlier Bicubic Fog Filtering checkbox. It applies to both Spectral Fog Volume and Exponential Height Fog with Volumetric Fog enabled, on the supported rendering path.

Choices by Unreal Engine version​

Engine versionDropdown choices
UE 5.6 and UE 5.7Trilinear, Bicubic
UE 5.8 before 5.8.3Trilinear, Bicubic
UE 5.8.3 and later compatible builds with native filtering supportTrilinear, Bicubic, Tricubic, Spectral Bicubic

Before UE 5.8.3, Bicubic means Spectral's custom filter. In the expanded menu, Bicubic and Tricubic are Unreal's native filters, while Spectral Bicubic keeps Spectral's implementation available as a separate choice. The native choices depend on the engine's filtering support, not just a package being labelled UE 5.8.

Trilinear​

The standard, lowest-cost option. It interpolates between neighboring cells across the horizontal, vertical, and depth directions. Start here when comparing quality and GPU cost. Coarse grids can still show visible cell transitions.

Bicubic​

Smooths across the horizontal and vertical grid directions while leaving depth interpolation linear. It can reduce visible screen-space cell boundaries, but does not increase the number of depth slices.

On engines before UE 5.8.3, this selects Spectral's custom bicubic filter. On supported UE 5.8.3 builds, it selects Unreal's native bicubic filtering through r.VolumetricFog.Filtering.Quality.

Tricubic​

Available with native filtering support from UE 5.8.3. Filters through depth as well as across the screen-space grid. Use it when transitions between depth slices remain noticeable with bicubic filtering.

The shipped native shader uses eight filtered samples rather than the four used by bicubic. Expect additional sampling work and compare GPU timings on the target hardware. More filtering is not the same as more captured detail.

Spectral Bicubic​

Available as a separately named choice in the expanded UE 5.8.3 menu. This is the custom filter called Bicubic on older engines, and it requires Spectral's shader hooks.

It combines four filtered texture samples across the grid's horizontal and vertical directions. Interpolation through depth remains linear. Fog color and light transmission use the same weights, so it is not a blur applied only to bright fog. Select it to compare Spectral's result with the engine's native filter.

Choosing a filter​

  1. Keep the camera, fog density, grid resolution, and temporal settings fixed.
  2. Compare Trilinear with Bicubic on visible cell transitions.
  3. Where available, compare Tricubic for depth transitions and Spectral Bicubic against the native result.
  4. Move the camera and test the GPU cost before keeping a higher-quality option.

Changing the filter does not increase grid resolution, change temporal settings, or modify baked probe data. It cannot recover a narrow shaft that the grid never captured, supply missing illumination, or fix temporal trails.

The choice updates without a lighting rebake and is saved with the Fog Quality overrides in Config/DefaultGame.ini. It affects other maps in the project. The reset arrow releases the saved override so the applicable engine/configuration value becomes effective again.

Two different interpolation controlsNote

Features > Probes > Interpolation filters the baked probe field and is saved per level. Fog Filtering samples the rendered volumetric fog grid and is saved per project. Selecting Bicubic in one does not enable it in the other. Fog filtering can be used without enabling Use Probe Fog Lighting; it filters the fog result rather than supplying its illumination.


Grid Pixel Size​

Menu choices: 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64.

Screen-space size of a grid cell. Smaller values produce more cells across the screen, retaining finer fog detail at higher GPU and memory cost. Larger values make a coarser grid.

Halving this size increases the number of cells across both screen dimensions, so cost can grow much faster than the numerical change suggests.

Grid Size Z​

Menu choices: 16, 32, 48, 64, 96, 128, 192, 256, 384, 512.

Number of depth slices. More slices can preserve more detail along the view direction but increase grid cost. The useful detail also depends on how far the fog extends and how slices are distributed.

If you greatly increase fog View Distance without adding depth detail, individual slices must cover more space.

Depth Distribution Scale​

Range: 8 to 128.

Controls how depth slices are distributed. Lower values allocate more detail nearby. This changes the allocation of existing slices rather than increasing their total number.

Tune it against both near-camera fog and distant fog; improving one region can leave the other more coarsely sampled.

Temporal Reprojection​

Reuses previous-frame fog data to stabilize the result. It can reduce visible sampling noise, but rapidly changing lighting or view movement can expose lag. Turning it off is useful for distinguishing history artifacts from current-frame grid resolution.

History Weight​

Range: 0 to 0.99.

Amount of previous-frame information retained during temporal reprojection. Higher values reduce noise but react more slowly. Lower values react faster and may look noisier. Without temporal reprojection, increasing history weight does not add stabilization.

Jitter​

Varies sample placement over time. Combined with temporal accumulation, this helps distribute sampling instead of repeatedly using the same positions. Judge it in motion; individual frames can be noisier than the accumulated result.

History Miss Samples​

Integer range: 1 to 16.

Extra sampling used when valid history is unavailable. Higher values can improve newly revealed regions or frames after a history reset, at additional work in those regions. It is not the same as increasing samples everywhere on every frame.

Resetting a control​

The reset arrow appears when Spectral owns an override for that row. Reset removes that saved override and releases Spectral's interactive override. The engine/scalability value, or a previous applicable override, becomes effective again.

Reset is per control. It does not delete fog actors or clear lighting bakes.

Project-wide changesWarning

These quality overrides are shared by the project, not isolated to the selected fog volume. Keep DefaultGame.ini writable and test representative maps before committing a higher-cost grid.

Spectral Remove Fog​

A post-process material node that removes fog from the supplied scene color so a custom operation can work on the underlying image. It is not a surface-material node for creating a fog volume.

See Spectral Remove Fog for the input and output reference, material setup, and recovery limits.

Spectral Reapply Fog​

Restores the fog after that custom color operation. Use the matching scene-color workflow so the result is not fogged twice.

See Spectral Reapply Fog for wiring, examples, and checks for double fogging.

At Scene Color Before DOF, the intended order is:

PostProcessInput0 → Spectral Remove Fog → your color processing → Spectral Reapply Fog

Do not replace the input with an unrelated color and expect it to represent the original unfogged scene.

For density and local scattering settings, see Fog Volume.