6#include "TTauri/Foundation/vec.hpp"
11[[nodiscard]]
constexpr uint32_t make_A2B10G10R10UNormPack32_value(vec
const &rhs)
noexcept
13 ttlet r =
static_cast<uint32_t
>(std::clamp(rhs.r, 0.0f, 1.0f) * 1023.0f);
14 ttlet g =
static_cast<uint32_t
>(std::clamp(rhs.g, 0.0f, 1.0f) * 1023.0f);
15 ttlet b =
static_cast<uint32_t
>(std::clamp(rhs.b, 0.0f, 1.0f) * 1023.0f);
16 ttlet a =
static_cast<uint32_t
>(std::clamp(rhs.a, 0.0f, 1.0f) * 3.0f);
17 return (a << 30) | (b << 20) | (g << 10) | r;
31 value(make_A2B10G10R10UNormPack32_value(rhs)) {}
34 value = make_A2B10G10R10UNormPack32_value(rhs);
38 explicit operator vec ()
const noexcept {
40 static_cast<float>((value >> 20) & 0x3ff) / 1023.0f,
41 static_cast<float>((value >> 10) & 0x3ff) / 1023.0f,
42 static_cast<float>(value & 0x3ff) / 1023.0f,
43 static_cast<float>(value >> 30) / 3.0f
Definition A2B10G10R10UNormPack32.hpp:20
A 4D vector.
Definition vec.hpp:37