From 50ac7c1c2fbf46e7e11a68de865b05d5a391d6d8 Mon Sep 17 00:00:00 2001 From: mklokocka Date: Fri, 1 Nov 2024 03:30:22 +0100 Subject: [PATCH] feat(tex): add has_opaque_alpha for crunch --- data/crunch.7z | Bin 111339 -> 200903 bytes include/btu/tex/crunch_texture.hpp | 2 ++ src/tex/crunch_texture.cpp | 34 +++++++++++++++++++++++++++++ tests/tex/crunch.cpp | 15 +++++++++++++ 4 files changed, 51 insertions(+) diff --git a/data/crunch.7z b/data/crunch.7z index e2175e035329b4cb7798922eec7dfdd161ba28f8..8142b153ba841e099a956d514c94264e2b6f6444 100644 GIT binary patch delta 90454 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

2nYp~Na+2Jeg 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 J##`tQ006z0-h==E delta 185 zcmX@UkmvPNHU;ylJ?qtF7+5ZgW-+bY#K-^wN??+KK~b-1cB8^p1xBY$^$ZM+#_a3( zum8*nELh|5H2aa>_ZZPT>jbYo`||WeQ_@jquJ1BTO$#%3?9}FAzt{Vs-Szt6JuzlC z4henN`!u`$dGw!q*K2t=bMNkvNiSYx_qsNeXU?1~!Gm5V-fia0E~~9;Qj4_|7{u8Q lI&EU)OlM%{W@KPgW@cn$jb#vEVBq2@<6_J%T)3Zs0RZq7L;3&! diff --git a/include/btu/tex/crunch_texture.hpp b/include/btu/tex/crunch_texture.hpp index cebbc5e1..6006f178 100644 --- a/include/btu/tex/crunch_texture.hpp +++ b/include/btu/tex/crunch_texture.hpp @@ -42,6 +42,8 @@ class CrunchTexture [[nodiscard]] auto get_texture_type() const noexcept -> TextureType; [[nodiscard]] auto get_format_as_dxgi() const noexcept -> DXGI_FORMAT; + [[nodiscard]] auto has_opaque_alpha() const noexcept -> bool; + [[nodiscard]] auto operator==(const CrunchTexture &) const noexcept -> bool = default; private: diff --git a/src/tex/crunch_texture.cpp b/src/tex/crunch_texture.cpp index 1b00a3e5..4e859ec2 100644 --- a/src/tex/crunch_texture.cpp +++ b/src/tex/crunch_texture.cpp @@ -111,6 +111,40 @@ auto CrunchTexture::get_format_as_dxgi() const noexcept -> DXGI_FORMAT } } +auto CrunchTexture::has_opaque_alpha() const noexcept -> bool +{ + if (!tex_.has_alpha()) + return true; + + // Check if there are any miplevels at all. + [[unlikely]] if (!tex_.get_num_levels()) + return true; + + // Should catch everything. + const uint8 threshold = 254; + + for (auto face = 0u; face < tex_.get_num_faces(); face++) + { + const auto *mip = tex_.get_level(face, 0); + + const auto img = mip->get_image(); + + // One last safety check. + [[unlikely]] if (img == nullptr) + return true; + + const auto pixels = img->get_pixels(); + + for (auto i = 0u; i < img->get_total_pixels(); i++) + { + if (pixels[i].a < threshold) + return false; + } + } + + return true; +} + auto load_crunch(Path path) noexcept -> tl::expected { CrunchTexture tex; diff --git a/tests/tex/crunch.cpp b/tests/tex/crunch.cpp index d467bd95..a0749241 100644 --- a/tests/tex/crunch.cpp +++ b/tests/tex/crunch.cpp @@ -73,6 +73,21 @@ TEST_CASE("Crunch Tex Memory IO", "[src]") REQUIRE(*mem_data == fs_data); } +TEST_CASE("Crunch Tex has_opaque_alpha", "[src]") +{ + const auto dir = Path("crunch"); + const auto opaque_file = dir / "in" / u8"opaque_alpha.dds"; + const auto not_opaque_file = dir / "in" / u8"not_opaque_alpha.dds"; + + // Load. + auto opaque = require_expected(btu::tex::load_crunch(opaque_file)); + auto not_opaque = require_expected(btu::tex::load_crunch(not_opaque_file)); + + // Test alpha. + CHECK(opaque.has_opaque_alpha()); + CHECK_FALSE(not_opaque.has_opaque_alpha()); +} + TEST_CASE("Crunch resize", "[src]") { test_expected_dir_crunch(u8"crunch_resize", [](auto &&tex) {