From 2e8ea0e8877495392e1daaedbae9dba050212bf4 Mon Sep 17 00:00:00 2001 From: SirLynix Date: Wed, 22 Feb 2023 19:12:15 +0100 Subject: [PATCH] Graphics/TextSprite: Fix outline showing up over glyphs --- include/Nazara/Graphics/TextSprite.hpp | 14 +++++++------- src/Nazara/Graphics/TextSprite.cpp | 1 - 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/include/Nazara/Graphics/TextSprite.hpp b/include/Nazara/Graphics/TextSprite.hpp index 1d6fafca4..1d7333e26 100644 --- a/include/Nazara/Graphics/TextSprite.hpp +++ b/include/Nazara/Graphics/TextSprite.hpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace Nz { @@ -68,14 +69,13 @@ namespace Nz { return !operator==(rhs); } - }; - struct HashRenderKey - { - std::size_t operator()(const RenderKey& key) const + bool operator<(const RenderKey& rhs) const { - // Since renderOrder will be very small, this will be enough - return std::hash()(key.texture) + key.renderOrder; + if (renderOrder != rhs.renderOrder) + return renderOrder < rhs.renderOrder; + + return texture < rhs.texture; } }; @@ -85,8 +85,8 @@ namespace Nz unsigned int count; }; + mutable std::map m_renderInfos; std::unordered_map m_atlases; - mutable std::unordered_map m_renderInfos; std::shared_ptr m_material; std::vector m_vertices; }; diff --git a/src/Nazara/Graphics/TextSprite.cpp b/src/Nazara/Graphics/TextSprite.cpp index 2e197aa0a..7787c63b4 100644 --- a/src/Nazara/Graphics/TextSprite.cpp +++ b/src/Nazara/Graphics/TextSprite.cpp @@ -260,7 +260,6 @@ namespace Nz // Rebuild new render infos with adjusted texture decltype(m_renderInfos) newRenderInfos; - newRenderInfos.reserve(m_renderInfos.size()); for (auto&& [renderKey, indices] : m_renderInfos) {