29struct sdf_r8 :
public snorm_r8 {
36 constexpr static float one_over_max_distance = 1.0f /
max_distance;
38 sdf_r8() noexcept = default;
39 sdf_r8(sdf_r8 const& other) noexcept = default;
40 sdf_r8(sdf_r8&& other) noexcept = default;
41 sdf_r8& operator=(sdf_r8 const& other) noexcept = default;
42 sdf_r8& operator=(sdf_r8&& other) noexcept = default;
45 sdf_r8(
float rhs) noexcept : snorm_r8(rhs * one_over_max_distance) {}
47 sdf_r8& operator=(
float rhs)
noexcept
49 snorm_r8::operator=(rhs *one_over_max_distance);
53 operator float() const noexcept
55 return (snorm_r8::operator
float()) * max_distance;
58 void repair() noexcept
60 *
this = -
static_cast<float>(*this);