3#include <engine/engine_export.h>
sm_type
Enum representing the type of shadow map.
sm_resolution
Enum representing the resolution of shadow maps.
sm_impl
Enum representing the implementation type for shadow mapping.
sm_depth
Enum representing the depth method for shadow mapping.
light_type
Enum representing the type of light.
pack_depth
Enum representing the packing method for depth in shadow mapping.
uint8_t num_splits
Number of splits for cascade shadow maps.
float split_distribution
Split distribution for cascade shadow maps.
bool stabilize
Whether to stabilize the shadow map.
Struct representing directional light specific properties.
float fov_y_adjust
Field of view y-axis adjustment.
bool stencil_pack
Whether to use stencil packing.
float fov_x_adjust
Field of view x-axis adjustment.
Struct representing point light specific properties.
float exponent_falloff
The exponent falloff for the point light.
Struct representing implementation parameters for ESM shadow mapping.
float blur_x_offset
Blur offset along the x-axis.
float depth_multiplier
Depth multiplier for ESM.
bool do_blur
Whether to blur the shadow map.
float hardness
ESM hardness parameter.
float blur_y_offset
Blur offset along the y-axis.
Struct representing implementation parameters for hard shadow mapping.
Struct representing implementation parameters for PCF shadow mapping.
float y_offset
Offset along the y-axis for PCF sampling.
float x_offset
Offset along the x-axis for PCF sampling.
Struct representing implementation parameters for PCSS shadow mapping.
float penumbra_x_offset
Offset along the x-axis for PCSS sampling.
float penumbra_y_offset
Offset along the y-axis for PCSS sampling.
Struct representing implementation parameters for VSM shadow mapping.
float blur_x_offset
Blur offset along the x-axis.
float depth_multiplier
Depth multiplier for VSM.
float min_variance
Minimum variance for VSM filtering.
float blur_y_offset
Blur offset along the y-axis.
bool do_blur
Whether to blur the shadow map.
Struct representing common shadow map parameters.
float near_plane
Near plane distance for shadow mapping.
float bias
Bias for shadow mapping.
float normal_bias
Normal bias for shadow mapping.
float far_plane
Far plane distance for shadow mapping.
sm_resolution resolution
Resolution of the shadow map.
sm_depth depth
Depth method for shadow mapping.
sm_impl type
Implementation type for shadow mapping.
bool show_coverage
Whether to show shadow map coverage.
Struct representing spot light specific properties.
void set_inner_angle(float angle)
Sets the inner angle of the spot light.
void set_outer_angle(float angle)
Sets the outer angle of the spot light.
float outer_angle
The outer angle of the spot light.
float inner_angle
The inner angle of the spot light.
float get_range() const
Gets the range of the spot light.
void set_range(float r)
Sets the range of the spot light.
float get_outer_angle() const
Gets the outer angle of the spot light.
float get_inner_angle() const
Gets the inner angle of the spot light.
float range
The range of the spot light.
Struct representing a light.
bool casts_shadows
Whether the light casts shadows.
struct unravel::light::directional_shadowmap_params directional_shadow_params
struct unravel::light::shadowmap_params shadow_params
float intensity
The intensity of the light.
struct unravel::light::contact_shadow_params contact_shadow
light_type type
The type of the light.
math::color color
The color of the light.
point point_data
Data specific to point lights.
directional directional_data
Data specific to directional lights.
struct unravel::light::point_shadowmap_params point_shadow_params
spot spot_data
Data specific to spot lights.
struct unravel::light::spot_shadowmap_params spot_shadow_params