2#include <engine/engine_export.h>
119 const auto&
scale = transform.get_scale();
130 return math::max(scaled_extents.x, math::max(scaled_extents.y, scaled_extents.z));
170 return pr1.type == pr2.type && pr1.method == pr2.method &&
171 math::equal(pr1.intensity, pr2.intensity, math::epsilon<float>()) &&
172 math::all(math::equal(pr1.box_data.extents, pr2.box_data.extents, math::epsilon<float>())) &&
173 math::equal(pr1.box_data.transition_distance, pr2.box_data.transition_distance, math::epsilon<float>()) &&
174 math::equal(pr1.sphere_data.range, pr2.sphere_data.range, math::epsilon<float>());
186 return !(pr1 == pr2);
probe_update_mode
Enum class describing when a reflection probe refreshes its cubemap.
@ once
Bakes once on load (or when edited in the editor), then stops refreshing until marked dirty.
probe_resolution
Fixed cubemap face resolutions supported by reflection probes.
auto probe_resolution_to_size(probe_resolution resolution) -> std::uint16_t
Converts a probe_resolution enum value to its pixel size.
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.
std::vector< float > scale
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.