Color.cpp 498 B

12345678910111213141516171819202122
  1. #include "Color.h"
  2. #include <cmath>
  3. #include <algorithm>
  4. RGBColor::RGBColor(const RGBColorf& rgb)
  5. {
  6. float cr = std::clamp(rgb.r, 0.0f, 1.0f);
  7. float cg = std::clamp(rgb.g, 0.0f, 1.0f);
  8. float cb = std::clamp(rgb.b, 0.0f, 1.0f);
  9. r = uint8_t(cr * cr * 255.0f);
  10. g = uint8_t(cg * cg * 255.0f);
  11. b = uint8_t(cb * cb * 255.0f);
  12. }
  13. RGBColorf::RGBColorf(const RGBColor& srgb)
  14. {
  15. r = ::sqrtf(srgb.r / 255.0f);
  16. g = ::sqrtf(srgb.g / 255.0f);
  17. b = ::sqrtf(srgb.b / 255.0f);
  18. }