52 const math::vec3& light_position,
53 const math::vec3& light_direction,
54 const math::vec3& view_origin,
65 auto get_bounds_sphere_impl(
const math::vec3* light_direction)
const ->
math::bsphere;
75 std::shared_ptr<shadow::shadowmap_generator> shadowmap_generator_ = std::make_shared<shadow::shadowmap_generator>();
141 float turbidity_{1.9};
Provides storage for common representation of spherical bounding volume, and wraps up common function...
Class that contains core light data, used for rendering and other purposes.
auto get_bounds() const -> math::bbox
Gets the bounding box of the light object.
void set_light(const light &l)
Sets the light object.
auto get_bounds_sphere() const -> math::bsphere
auto get_light() const -> const light &
Gets the light object.
auto compute_projected_sphere_rect(irect32_t &rect, const math::vec3 &light_position, const math::vec3 &light_direction, const math::vec3 &view_origin, const math::transform &view, const math::transform &proj) -> int
Computes the projected sphere rectangle.
auto get_shadowmap_generator() -> shadow::shadowmap_generator &
Gets the shadow map generator.
auto get_bounds_precise(const math::vec3 &light_direction) const -> math::bbox
Gets the bounding box of the light object.
auto get_bounds_sphere_precise(const math::vec3 &light_direction) const -> math::bsphere
Shadow mapping generator with improved algorithms for high-altitude cameras.
Class that contains sky light data.
void set_mode(const sky_mode &mode)
Sets the sky mode.
void set_cubemap(const asset_handle< gfx::texture > &cubemap)
auto get_cubemap() const noexcept -> const asset_handle< gfx::texture > &
auto get_turbidity() const noexcept -> float
Gets the current turbidity value.
auto get_mode() const noexcept -> const sky_mode &
Gets the current sky mode.
void set_turbidity(float turbidity)
Sets the turbidity value.
sky_mode
Enumeration for sky modes.
@ standard
Standard sky mode.
Represents a handle to an asset, providing access and management functions.
Storage for box vector values and wraps up common functionality.
CRTP (Curiously Recurring Template Pattern) base structure for components.
Struct representing a light.