Core/Color: Switch formal from RGBA8 to RGBA32F

This commit is contained in:
SirLynix
2022-04-23 16:08:15 +02:00
parent de53c88c01
commit e7274b24e9
32 changed files with 331 additions and 196 deletions

View File

@@ -1,17 +1,18 @@
#include <Nazara/Core/Color.hpp>
#include <catch2/catch.hpp>
const float epsilon = 1.f;
void CompareColor(const Nz::Color& lhs, const Nz::Color& rhs)
{
Nz::UInt8 tolerance = 3;
REQUIRE(Nz::NumberEquals(lhs.r, rhs.r, tolerance));
REQUIRE(Nz::NumberEquals(lhs.g, rhs.g, tolerance));
REQUIRE(Nz::NumberEquals(lhs.b, rhs.b, tolerance));
REQUIRE(Nz::NumberEquals(lhs.a, rhs.a, tolerance));
constexpr float epsilon = 0.1f;
REQUIRE(lhs.r == Approx(rhs.r).margin(epsilon));
REQUIRE(lhs.g == Approx(rhs.g).margin(epsilon));
REQUIRE(lhs.b == Approx(rhs.b).margin(epsilon));
REQUIRE(lhs.a == Approx(rhs.a).margin(epsilon));
}
constexpr float epsilon = 1.f;
void CompareCMY(const Nz::Color& color, float cyan, float magenta, float yellow)
{
float retrievedCyan = 0.f, retrievedMagenta = 0.f, retrievedYellow = 0.f;
@@ -62,17 +63,18 @@ SCENARIO("Color", "[CORE][COLOR]")
{
GIVEN("Two colors, one red (255) and one gray (128)")
{
Nz::Color red(255, 0, 0);
Nz::Color grey(128);
Nz::Color red(1.f, 0.f, 0.f);
Nz::Color grey(0.5f);
WHEN("We do operations")
{
THEN("These results are expected")
{
red += Nz::Color(0, 0, 0);
grey *= Nz::Color(255);
REQUIRE((red + grey) == Nz::Color(255, 128, 128));
REQUIRE((red * grey) == Nz::Color(128, 0, 0));
grey *= Nz::Color(1.f);
CompareColor(red + grey, Nz::Color(1.5f, 0.5f, 0.5f, 3.f));
CompareColor(red * grey, Nz::Color(0.5f, 0.f, 0.f, 2.f));
}
}
}
@@ -94,7 +96,7 @@ SCENARIO("Color", "[CORE][COLOR]")
colors.push_back({
"blue",
Nz::Color(0, 0, 255),
Nz::Color(0.f, 0.f, 1.f),
1.f, 1.f, 0.f, // cmy
1.f, 1.f, 0.f, 0.f, // cmyk
240.f, 1.f, 0.5f, // hsl
@@ -104,7 +106,7 @@ SCENARIO("Color", "[CORE][COLOR]")
colors.push_back({
"white",
Nz::Color(255, 255, 255),
Nz::Color(1.f, 1.f, 1.f),
0.f, 0.f, 0.f, // cmy
0.f, 0.f, 0.f, 0.f, // cmyk
0.f, 0.f, 1.f, // hsl
@@ -114,7 +116,7 @@ SCENARIO("Color", "[CORE][COLOR]")
colors.push_back({
"greenish",
Nz::Color(5, 191, 25),
Nz::Color(5 / 255.f, 191.f / 255.f, 25.f / 255.f),
0.980f, 0.251f, 0.902f, // cmy
0.974f, 0.000f, 0.869f, 0.251f, // cmyk
126.f, 0.95f, 0.38f, // hsl

View File

@@ -16,7 +16,7 @@ SCENARIO("Images", "[Utility][Image]")
CHECK(logo->GetWidth() == 765);
CHECK(logo->GetHeight() == 212);
CHECK(logo->GetLevelCount() == 1);
CHECK(logo->GetPixelColor(165, 139) == Nz::Color(51, 58, 100));
CHECK(logo->GetPixelColor(165, 139) == Nz::Color::FromRGB8(51, 58, 100));
CHECK(logo->GetFormat() == Nz::PixelFormat::RGBA8);
CHECK(logo->HasAlpha());
}
@@ -32,7 +32,7 @@ SCENARIO("Images", "[Utility][Image]")
CHECK(background->GetWidth() == 1920);
CHECK(background->GetHeight() == 1200);
CHECK(background->GetLevelCount() == 1);
CHECK(background->GetPixelColor(1377, 372) == Nz::Color(171, 152, 233));
CHECK(background->GetPixelColor(1377, 372) == Nz::Color::FromRGB8(171, 152, 233));
CHECK(background->GetFormat() == Nz::PixelFormat::RGBA8);
CHECK(!background->HasAlpha());
}