2#include <engine/engine_export.h>
59 const auto&
scale = transform.get_scale();
70 return math::max(scaled_extents.x, math::max(scaled_extents.y, scaled_extents.z));
110 return pr1.type == pr2.type && pr1.method == pr2.method &&
111 math::equal(pr1.intensity, pr2.intensity, math::epsilon<float>()) &&
112 math::all(math::equal(pr1.box_data.extents, pr2.box_data.extents, math::epsilon<float>())) &&
113 math::equal(pr1.box_data.transition_distance, pr2.box_data.transition_distance, math::epsilon<float>()) &&
114 math::equal(pr1.sphere_data.range, pr2.sphere_data.range, math::epsilon<float>());
126 return !(pr1 == pr2);
probe_type
Enum class representing the type of reflection probe.
@ sphere
Sphere type reflection probe.
@ box
Box type reflection probe.
reflect_method
Enum class representing the reflection method.
@ environment
Environment reflection method.
@ static_only
Static-only reflection method.
auto operator!=(const reflection_probe &pr1, const reflection_probe &pr2) -> bool
Inequality operator for reflection_probe.
auto operator==(const reflection_probe &pr1, const reflection_probe &pr2) -> bool
Equality operator for reflection_probe.
Structure representing box projection data.
math::vec3 extents
Extents of the box projection.
float transition_distance
Transition distance for the box projection.
Structure representing sphere projection data.
float range
Range of the sphere projection.
Structure representing a reflection probe.
auto get_face_extents(uint32_t face, const math::transform &transform) const -> float
auto get_max_range() const -> float
probe_type type
Type of the reflection probe.
reflect_method method
Reflection method.
float intensity
Intensity.
box box_data
Data describing box projection.
sphere sphere_data
Data describing sphere projection.