Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::light::contact_shadow_params Struct Reference

Struct representing contact shadow parameters. Screen-space ray-marched shadows that add fine detail at object contact points where shadow maps lack resolution. More...

#include <light.h>

Public Attributes

bool enabled {false}
 Whether contact shadows are enabled for this light.
 
float ray_length {0.2f}
 
float thickness {0.15f}
 
float n_dot_l_fade_start {0.0f}
 N·L smoothstep low edge: below this, contact shadow fades out (surface faces away from light).
 
float n_dot_l_fade_end {0.475f}
 N·L smoothstep high edge: at or above this, contact shadow has full strength.
 
float normal_facing_reject {-1.0f}
 

Detailed Description

Struct representing contact shadow parameters. Screen-space ray-marched shadows that add fine detail at object contact points where shadow maps lack resolution.

Definition at line 344 of file light.h.

Member Data Documentation

◆ enabled

bool unravel::light::contact_shadow_params::enabled {false}

Whether contact shadows are enabled for this light.

Definition at line 347 of file light.h.

◆ n_dot_l_fade_end

float unravel::light::contact_shadow_params::n_dot_l_fade_end {0.475f}

N·L smoothstep high edge: at or above this, contact shadow has full strength.

Definition at line 357 of file light.h.

◆ n_dot_l_fade_start

float unravel::light::contact_shadow_params::n_dot_l_fade_start {0.0f}

N·L smoothstep low edge: below this, contact shadow fades out (surface faces away from light).

Definition at line 355 of file light.h.

◆ normal_facing_reject

float unravel::light::contact_shadow_params::normal_facing_reject {-1.0f}

If in [0, 1], reject ray hits whose reconstructed occluder normal faces the light more strongly than this cosine (reduces false self-contact). Below zero disables.

Definition at line 360 of file light.h.

◆ ray_length

float unravel::light::contact_shadow_params::ray_length {0.2f}

Maximum ray length in view-space units. Shorter = tighter contact detail, longer = catches more occluders but may produce artifacts on thin geometry.

Definition at line 350 of file light.h.

◆ thickness

float unravel::light::contact_shadow_params::thickness {0.15f}

View-space depth comparison thickness for ray hits. Zero uses automatic thickness from ray length (legacy 15 percent of ray length).

Definition at line 353 of file light.h.


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