Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::assao_pass::settings Struct Reference

#include <assao_pass.h>

Public Attributes

float radius {1.2f}
 
float shadow_multiplier {1.0f}
 
float shadow_power {1.0f}
 
float shadow_clamp {0.98f}
 
float horizon_angle_threshold {0.06f}
 
float fade_out_from {50.0f}
 
float fade_out_to {200.0f}
 
int32_t quality_level {3}
 
float adaptive_quality_limit {0.45f}
 
int32_t blur_pass_count {2}
 
float sharpness {0.98f}
 
float temporal_supersampling_angle_offset {0.0f}
 
float temporal_supersampling_radius_offset {1.0f}
 
float detail_shadow_strength {0.5f}
 
bool generate_normals {false}
 

Detailed Description

Definition at line 14 of file assao_pass.h.

Member Data Documentation

◆ adaptive_quality_limit

float unravel::assao_pass::settings::adaptive_quality_limit {0.45f}

Adaptive quality limit (only for Quality Level 3).

Note
Range: [0.0, 1.0]

Definition at line 77 of file assao_pass.h.

◆ blur_pass_count

int32_t unravel::assao_pass::settings::blur_pass_count {2}

Number of edge-sensitive smart blur passes to apply.

Note
Quality 0 is an exception with only one 'dumb' blur pass used.
Range: [0, 6]

Definition at line 84 of file assao_pass.h.

◆ detail_shadow_strength

float unravel::assao_pass::settings::detail_shadow_strength {0.5f}

Used for high-res detail AO using neighboring depth pixels. Adds a lot of detail but also reduces temporal stability (adds aliasing).

Note
Range: [0.0, 5.0]

Definition at line 115 of file assao_pass.h.

◆ fade_out_from

float unravel::assao_pass::settings::fade_out_from {50.0f}

Distance to start fading out the effect.

Note
Range: [0.0, ~]

Definition at line 53 of file assao_pass.h.

◆ fade_out_to

float unravel::assao_pass::settings::fade_out_to {200.0f}

Distance at which the effect is faded out.

Note
Range: [0.0, ~]

Definition at line 59 of file assao_pass.h.

◆ generate_normals

bool unravel::assao_pass::settings::generate_normals {false}

If true, normals will be generated from depth.

Note
Range: [true/false]

Definition at line 121 of file assao_pass.h.

◆ horizon_angle_threshold

float unravel::assao_pass::settings::horizon_angle_threshold {0.06f}

Limits self-shadowing. Makes the sampling area less of a hemisphere, more of a spherical cone, to avoid self-shadowing and various artifacts due to low tessellation and depth buffer imprecision, etc.

Note
Range: [0.0, 0.2]

Definition at line 47 of file assao_pass.h.

◆ quality_level

int32_t unravel::assao_pass::settings::quality_level {3}

Effect quality. -1: Lowest (low, half res checkerboard) 0: Low 1: Medium 2: High 3: Very high / adaptive Each quality level is roughly 2x more costly than the previous, except q3 which is variable but generally above q2.

Note
Range: [-1, 3]

Definition at line 71 of file assao_pass.h.

◆ radius

float unravel::assao_pass::settings::radius {1.2f}

World (view) space size of the occlusion sphere.

Note
Range: [0.0, ~]

Definition at line 22 of file assao_pass.h.

◆ shadow_clamp

float unravel::assao_pass::settings::shadow_clamp {0.98f}

Effect max limit (applied after multiplier but before blur).

Note
Range: [0.0, 1.0]

Definition at line 40 of file assao_pass.h.

◆ shadow_multiplier

float unravel::assao_pass::settings::shadow_multiplier {1.0f}

Effect strength linear multiplier.

Note
Range: [0.0, 5.0]

Definition at line 28 of file assao_pass.h.

◆ shadow_power

float unravel::assao_pass::settings::shadow_power {1.0f}

Effect strength power modifier.

Note
Range: [0.5, 5.0]

Definition at line 34 of file assao_pass.h.

◆ sharpness

float unravel::assao_pass::settings::sharpness {0.98f}

Sharpness (how much to bleed over edges). 1: Not at all 0.5: Half-half 0.0: Completely ignore edges

Note
Range: [0.0, 1.0]

Definition at line 93 of file assao_pass.h.

◆ temporal_supersampling_angle_offset

float unravel::assao_pass::settings::temporal_supersampling_angle_offset {0.0f}

Used to rotate sampling kernel. If using temporal AA / supersampling, suggested to rotate by ((frame%3)/3.0*PI) or similar. Kernel is already symmetrical, which is why we use PI and not 2*PI.

Note
Range: [0.0, PI]

Definition at line 101 of file assao_pass.h.

◆ temporal_supersampling_radius_offset

float unravel::assao_pass::settings::temporal_supersampling_radius_offset {1.0f}

Used to scale sampling kernel. If using temporal AA / supersampling, suggested to scale by (1.0f + (((frame%3)-1.0)/3.0)*0.1) or similar.

Note
Range: [0.0, 2.0]

Definition at line 108 of file assao_pass.h.


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