Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::ssil_pass::spatial_denoise_settings Struct Reference

Spatial denoise parameters (a-trous wavelet filter) More...

#include <ssil_pass.h>

Public Attributes

float depth_sigma = 0.02f
 
float normal_power = 64.0f
 
float luma_sigma = 4.0f
 
int passes = 4
 
int full_res_passes = 0
 
int max_step = 16
 

Detailed Description

Spatial denoise parameters (a-trous wavelet filter)

Definition at line 17 of file ssil_pass.h.

Member Data Documentation

◆ depth_sigma

float unravel::ssil_pass::spatial_denoise_settings::depth_sigma = 0.02f

Definition at line 19 of file ssil_pass.h.

◆ full_res_passes

int unravel::ssil_pass::spatial_denoise_settings::full_res_passes = 0

Mixed-resolution split: the first full_res_passes a-trous passes run at the trace resolution; the REMAINING passes run at half that resolution, where their wide dilation is cache-coherent and ~4x cheaper. The bilateral upsample reconstructs sharp silhouettes from the full-res G-buffer regardless of where the blur ran.

Default 0 lets the pass choose the cheapest split. When temporal moments are available, it is automatically promoted to one trace-resolution pass so the stable variance is consumed before the wide half-res tier.

Definition at line 38 of file ssil_pass.h.

◆ luma_sigma

float unravel::ssil_pass::spatial_denoise_settings::luma_sigma = 4.0f

Variance-guided luminance edge-stop multiplier (phi). Multiplies the measured luminance std-dev: lower keeps more intra-surface indirect detail (colour-bleed gradients, contact darkening) that the depth/normal stops cannot see; higher blurs flatter. Kept low because the shader floors the sigma to a tiny constant (LUMA_SIGMA_EPS) on converged pixels, so a large phi here would disable the luminance stop entirely.

Definition at line 27 of file ssil_pass.h.

◆ max_step

int unravel::ssil_pass::spatial_denoise_settings::max_step = 16

Upper bound on the a-trous dilation (in texels, within each tier). The step normally doubles each pass (1,2,4,8,...); capping it turns the widest passes into same-cost repeated-step passes (which also fill holes better) at a small loss of filter reach.

Definition at line 42 of file ssil_pass.h.

◆ normal_power

float unravel::ssil_pass::spatial_denoise_settings::normal_power = 64.0f

Definition at line 20 of file ssil_pass.h.

◆ passes

int unravel::ssil_pass::spatial_denoise_settings::passes = 4

Definition at line 29 of file ssil_pass.h.


The documentation for this struct was generated from the following file: