From f2b164d6e8bcd97935d9c2d56ba9c011ca669028 Mon Sep 17 00:00:00 2001 From: ohyzha Date: Mon, 13 Jan 2025 11:05:54 +0100 Subject: [PATCH] Subpixel rendering (#186) Reviewed-on: https://git.madvoxel.net/OpenVulkano/OpenVulkano/pulls/186 Reviewed-by: Georg Hagen Co-authored-by: ohyzha Co-committed-by: ohyzha --- 3rdParty/glfw/CMakeLists.txt | 1 + 3rdParty/msdf/CMakeLists.txt | 6 + examples/ExampleApps/TextExampleApp.cpp | 109 ++++++++------ .../bitmap_subpixel_atlas_packed.png | Bin 0 -> 264240 bytes openVulkanoCpp/Base/EngineConfiguration.hpp | 5 + openVulkanoCpp/Base/UI/IWindow.hpp | 2 + openVulkanoCpp/CMakeLists.txt | 6 +- openVulkanoCpp/Host/GLFW/WindowGLFW.cpp | 114 ++++++++++---- openVulkanoCpp/Host/GLFW/WindowGLFW.hpp | 2 + openVulkanoCpp/Host/Windows/SystemInfo.cpp | 2 +- .../Scene/BitmapFontAtlasGenerator.cpp | 142 ++++++++++++++++-- .../Scene/BitmapFontAtlasGenerator.hpp | 14 +- .../Scene/SdfFontAtlasGenerator.cpp | 2 +- openVulkanoCpp/Scene/Shelf.hpp | 35 +++-- openVulkanoCpp/Scene/SubpixelLayout.hpp | 75 +++++++++ openVulkanoCpp/Scene/Text/FontAtlas.cpp | 15 +- openVulkanoCpp/Scene/Text/FontAtlas.hpp | 8 +- openVulkanoCpp/Scene/Text/FontAtlasType.hpp | 4 +- openVulkanoCpp/Scene/TextDrawable.cpp | 2 + openVulkanoCpp/Shader/subpixelText.frag | 20 +++ 20 files changed, 452 insertions(+), 112 deletions(-) create mode 100644 examples/ExampleSources/bitmap_subpixel_atlas_packed.png create mode 100644 openVulkanoCpp/Scene/SubpixelLayout.hpp create mode 100644 openVulkanoCpp/Shader/subpixelText.frag diff --git a/3rdParty/glfw/CMakeLists.txt b/3rdParty/glfw/CMakeLists.txt index 030c155..632e74e 100644 --- a/3rdParty/glfw/CMakeLists.txt +++ b/3rdParty/glfw/CMakeLists.txt @@ -13,6 +13,7 @@ FetchContent_Declare( ) set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) +set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE) if(APPLE) set(GLFW_VULKAN_STATIC ON CACHE BOOL "" FORCE) endif() diff --git a/3rdParty/msdf/CMakeLists.txt b/3rdParty/msdf/CMakeLists.txt index e7f7849..15e8db4 100644 --- a/3rdParty/msdf/CMakeLists.txt +++ b/3rdParty/msdf/CMakeLists.txt @@ -36,6 +36,12 @@ if (ENABLE_MSDF) set(FT_SRC_DIR "${CMAKE_BINARY_DIR}/_deps/freetype-src") set(FT_BUILD_DIR "${FT_SRC_DIR}/build") + + set(FREETYPE_CONFIG_FILE "${FT_SRC_DIR}/include/freetype/config/ftoption.h") + file(READ "${FREETYPE_CONFIG_FILE}" FILE_CONTENTS) + string(REPLACE "/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */" "#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING" FILE_CONTENTS "${FILE_CONTENTS}") + file(WRITE "${FREETYPE_CONFIG_FILE}" "${FILE_CONTENTS}") + file(MAKE_DIRECTORY ${FT_BUILD_DIR}) if (IOS) set(PLATFORM_CFG -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/patched_freetype_iOS_toolchain.cmake) diff --git a/examples/ExampleApps/TextExampleApp.cpp b/examples/ExampleApps/TextExampleApp.cpp index 871b57c..e286b87 100644 --- a/examples/ExampleApps/TextExampleApp.cpp +++ b/examples/ExampleApps/TextExampleApp.cpp @@ -56,17 +56,18 @@ namespace OpenVulkano texts.push_back(std::make_pair("This is first line\nSecond gg line\nThird G line", TextConfig())); texts[1].second.backgroundColor.a = 255; - const int N = texts.size(); + constexpr int atlasesCount = 4; + const int textsCount = texts.size(); auto& resourceLoader = ResourceLoader::GetInstance(); const std::string fontPath = resourceLoader.GetResourcePath("Roboto-Regular.ttf"); - m_nodesPool.resize(N * 3); - m_drawablesPool.resize(N * 3); + m_nodesPool.resize(textsCount * atlasesCount); + m_drawablesPool.resize(textsCount * atlasesCount); if constexpr (CREATE_BITMAP_ATLAS) { // ReSharper disable once CppDFAUnreachableCode std::set s = BitmapFontAtlasGenerator::LoadAllGlyphs(fontPath); - BitmapFontAtlasGenerator generator; + BitmapFontAtlasGenerator generator(FontPixelSizeConfig(), SubpixelLayout::RGB); generator.GenerateAtlas(fontPath, s); generator.GetAtlas()->Save("bitmap_atlas_packed.png"); } @@ -81,63 +82,73 @@ namespace OpenVulkano auto sdfMetadataInfo = resourceLoader.GetResource("sdf_atlas_packed.png"); auto msdfMetadataInfo = resourceLoader.GetResource("msdf_atlas_packed.png"); auto bitmapMetadataInfo = resourceLoader.GetResource("bitmap_atlas_packed.png"); + auto bitmapSubpixelRenderingMetadataInfo = resourceLoader.GetResource("bitmap_subpixel_atlas_packed.png"); #endif - for (int i = 0; i < texts.size() * 3; i++) + for (int i = 0, xOffset = -5; i < atlasesCount; i++, xOffset += 20) { - int textIdx = i % texts.size(); - TextDrawable* t = nullptr; + for (int j = 0; j < texts.size(); j++) + { + TextDrawable* t = nullptr; #if defined(MSDFGEN_AVAILABLE) && CREATE_NEW_ATLAS - if (i < texts.size()) - { - t = new TextDrawable(m_atlasGenerator.GetAtlasData(), texts[textIdx].second); - } - else - { - t = new TextDrawable(m_msdfAtlasGenerator.GetAtlasData(), texts[textIdx].second); - } + if (i < texts.size()) + { + t = new TextDrawable(m_atlasGenerator.GetAtlasData(), texts[j].second); + t->SetShader(&TextDrawable::GetSdfDefaultShader()); + } + else + { + t = new TextDrawable(m_msdfAtlasGenerator.GetAtlasData(), texts[j].second); + t->SetShader(&TextDrawable::GetMsdfDefaultShader()); + } #else - int xOffset = 0; - if (i < N) - { - t = new TextDrawable(sdfMetadataInfo, texts[textIdx].second); - xOffset = -5; + if (i == 0) + { + t = new TextDrawable(sdfMetadataInfo, texts[j].second); + } + else if (i == 1) + { + t = new TextDrawable(msdfMetadataInfo, texts[j].second); + } + else if (i == 2) + { + // bitmap + t = new TextDrawable(bitmapMetadataInfo, texts[j].second); + } + else if (i == 3) + { + // bitmap subpixel rendering + t = new TextDrawable(bitmapSubpixelRenderingMetadataInfo, texts[j].second); + } + // OR use separate texture + metadata file + //auto metadataInfo = resourceLoader.GetResource("atlas_metadata"); + //auto data = resourceLoader.GetResource("roboto-regular-atlas.png"); + //Image::ImageLoaderPng loader; + //static auto image = loader.loadData(reinterpret_cast(data.Data()), data.Size()); + //static Texture tex; + //tex.resolution = image->resolution; + //tex.textureBuffer = image->data.Data(); + //tex.format = image->dataFormat; + //tex.size = image->data.Size(); // 1 channel + //TextDrawable* t = new TextDrawable(metadataInfo, &tex, texts[i].second); +#endif // MSDFGEN_AVAILABLE + const int nodeIdx = i * texts.size() + j; + t->GenerateText(texts[j].first); + m_drawablesPool[nodeIdx].reset(t); + m_nodesPool[nodeIdx].Init(); + m_nodesPool[nodeIdx].SetMatrix( + Math::Utils::translate(glm::mat4x4(1.f), Vector3f(xOffset, 2 - j * 2, 0))); + m_nodesPool[nodeIdx].AddDrawable(m_drawablesPool[nodeIdx].get()); + m_scene.GetRoot()->AddChild(&m_nodesPool[nodeIdx]); } - else if (i >= N && i < N * 2) - { - t = new TextDrawable(msdfMetadataInfo, texts[textIdx].second); - xOffset = 15; - } - else - { - t = new TextDrawable(bitmapMetadataInfo, texts[textIdx].second); - xOffset = 35; - } - // OR use separate texture + metadata file - //auto metadataInfo = resourceLoader.GetResource("atlas_metadata"); - //auto data = resourceLoader.GetResource("roboto-regular-atlas.png"); - //Image::ImageLoaderPng loader; - //static auto image = loader.loadData(reinterpret_cast(data.Data()), data.Size()); - //static Texture tex; - //tex.resolution = image->resolution; - //tex.textureBuffer = image->data.Data(); - //tex.format = image->dataFormat; - //tex.size = image->data.Size(); // 1 channel - //TextDrawable* t = new TextDrawable(metadataInfo, &tex, texts[i].second); -#endif // MSDFGEN_AVAILABLE - t->GenerateText(texts[textIdx].first); - m_drawablesPool[i].reset(t); - m_nodesPool[i].Init(); - m_nodesPool[i].SetMatrix(Math::Utils::translate(glm::mat4x4(1.f), Vector3f(xOffset, 2 - textIdx * 2, 0))); - m_nodesPool[i].AddDrawable(m_drawablesPool[i].get()); - m_scene.GetRoot()->AddChild(&m_nodesPool[i]); } + GetGraphicsAppManager()->GetRenderer()->SetScene(&m_scene); m_camController.Init(&m_cam); m_camController.SetDefaultKeybindings(); m_camController.SetPosition({ 10, 0, 15 }); m_camController.SetBoostFactor(5); - + std::shared_ptr m_perfInfo = std::make_shared(); m_ui.AddElement(m_perfInfo); diff --git a/examples/ExampleSources/bitmap_subpixel_atlas_packed.png b/examples/ExampleSources/bitmap_subpixel_atlas_packed.png new file mode 100644 index 0000000000000000000000000000000000000000..344c8b620290e642ef951f74faf0352773fdc7a5 GIT binary patch literal 264240 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 ??vS0CSz`+QgcH-zi#?s7 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 YR~`M6mYVMi0u)IA00000009920Ka{cQ2+n{ literal 0 HcmV?d00001 diff --git a/openVulkanoCpp/Base/EngineConfiguration.hpp b/openVulkanoCpp/Base/EngineConfiguration.hpp index 61ef440..ffe7053 100644 --- a/openVulkanoCpp/Base/EngineConfiguration.hpp +++ b/openVulkanoCpp/Base/EngineConfiguration.hpp @@ -10,6 +10,7 @@ #include #include #include "Base/Event.hpp" +#include "Scene/SubpixelLayout.hpp" #undef max namespace OpenVulkano @@ -34,6 +35,9 @@ namespace OpenVulkano [[nodiscard]] bool GetVSync() const { return m_vSync; } void SetVSync(bool vSync) { m_vSync = vSync; } + [[nodiscard]] SubpixelLayout GetSubpixelLayout() const { return m_subpixelLayout; } + void SetSubpixelLayout(SubpixelLayout subpixelLayout) { m_subpixelLayout = subpixelLayout; } + [[nodiscard]] int32_t GetFpsCap() const { return m_fpsCap; } void SetFpsCap(int32_t fpsCap) { @@ -58,6 +62,7 @@ namespace OpenVulkano bool m_preferFramebufferFormatSRGB = true; bool m_lazyRendering = false; bool m_vSync = false; + SubpixelLayout m_subpixelLayout = SubpixelLayout::AUTO; int32_t m_fpsCap = -1; // -1 = no fps cap. 0 = fps cap if vsync, no cap otherwise. > 0 = set fps cap #ifdef __APPLE__ uint32_t m_preferredImageCount = 3; diff --git a/openVulkanoCpp/Base/UI/IWindow.hpp b/openVulkanoCpp/Base/UI/IWindow.hpp index 4b7c868..4499ccc 100644 --- a/openVulkanoCpp/Base/UI/IWindow.hpp +++ b/openVulkanoCpp/Base/UI/IWindow.hpp @@ -8,6 +8,7 @@ #include "Math/Math.hpp" #include "Base/PlatformEnums.hpp" +#include "Scene/SubpixelLayout.hpp" #include #include @@ -89,6 +90,7 @@ namespace OpenVulkano virtual float GetContentScale() const { return 1; } virtual float GetInterfaceOrientation() const { return 0; } + virtual SubpixelLayout GetSubpixelLayout() const { return SubpixelLayout::UNKNOWN; } protected: static uint32_t CreateWindowId() { diff --git a/openVulkanoCpp/CMakeLists.txt b/openVulkanoCpp/CMakeLists.txt index 87fd36b..d2295be 100644 --- a/openVulkanoCpp/CMakeLists.txt +++ b/openVulkanoCpp/CMakeLists.txt @@ -60,8 +60,10 @@ SetShaderDependency(openVulkanoCpp ${SHADER_OUTPUT_DEST}) if (NOT ANDROID AND NOT IOS) - target_link_libraries(openVulkanoCpp PUBLIC glfw pugixml) - target_link_libraries(openVulkanoCpp PUBLIC ftxui::screen ftxui::dom ftxui::component) + if (LINUX) + target_link_libraries(openVulkanoCpp PUBLIC fontconfig) + endif() + target_link_libraries(openVulkanoCpp PUBLIC glfw pugixml ftxui::screen ftxui::dom ftxui::component) if (ENABLE_CURL) LinkCurl(openVulkanoCpp) endif() diff --git a/openVulkanoCpp/Host/GLFW/WindowGLFW.cpp b/openVulkanoCpp/Host/GLFW/WindowGLFW.cpp index b669695..303c876 100644 --- a/openVulkanoCpp/Host/GLFW/WindowGLFW.cpp +++ b/openVulkanoCpp/Host/GLFW/WindowGLFW.cpp @@ -6,13 +6,15 @@ #include "WindowGLFW.hpp" #include "Base/Logger.hpp" +#include "Base/EngineConfiguration.hpp" #include +#if __linux__ + #include +#endif namespace OpenVulkano::GLFW { - WindowGLFW::WindowGLFW(OpenVulkano::GLFW::InputProviderGLFW& inputProvider) - : inputProvider(inputProvider) - {} + WindowGLFW::WindowGLFW(OpenVulkano::GLFW::InputProviderGLFW& inputProvider) : inputProvider(inputProvider) {} WindowGLFW::~WindowGLFW() noexcept { @@ -31,8 +33,8 @@ namespace OpenVulkano::GLFW { int posX, posY, sizeX, sizeY; glfwGetMonitorWorkarea(monitors[i], &posX, &posY, &sizeX, &sizeY); - if (windowConfig.position.x >= posX && windowConfig.position.x < posX + sizeX && - windowConfig.position.y >= posY && windowConfig.position.y < posY + sizeY) + if (windowConfig.position.x >= posX && windowConfig.position.x < posX + sizeX + && windowConfig.position.y >= posY && windowConfig.position.y < posY + sizeY) { return monitors[i]; } @@ -56,8 +58,12 @@ namespace OpenVulkano::GLFW glfwWindowHint(GLFW_DECORATED, (~windowConfig.windowMode) & 1); glfwWindowHint(GLFW_TRANSPARENT_FRAMEBUFFER, windowConfig.transparentFrameBuffer); //TODO handle full screen resolutions - window = glfwCreateWindow(windowConfig.size.x, windowConfig.size.y, windowConfig.title.c_str(), GetTargetMonitor(), nullptr); - if (!window) return; + window = glfwCreateWindow(windowConfig.size.x, windowConfig.size.y, windowConfig.title.c_str(), + GetTargetMonitor(), nullptr); + if (!window) + { + return; + } float scaleX, scaleY; glfwGetWindowContentScale(window, &scaleX, &scaleY); contentScale = std::max(scaleX, scaleY); @@ -89,13 +95,9 @@ namespace OpenVulkano::GLFW { glfwSetInputMode(window, GLFW_RAW_MOUSE_MOTION, hideMouse); glfwSetInputMode(window, GLFW_CURSOR, hideMouse ? GLFW_CURSOR_DISABLED : GLFW_CURSOR_NORMAL); - } - GLFWmonitor* WindowGLFW::GetPrimaryMonitor() - { - return glfwGetPrimaryMonitor(); - } + GLFWmonitor* WindowGLFW::GetPrimaryMonitor() { return glfwGetPrimaryMonitor(); } std::vector WindowGLFW::GetMonitors() { @@ -112,13 +114,19 @@ namespace OpenVulkano::GLFW void WindowGLFW::Init(RenderAPI::RenderApi renderApi) { - if (renderApi == RenderAPI::Vulkan) glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); + if (renderApi == RenderAPI::Vulkan) + { + glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); + } Create(); if (!window) { throw WindowInitFailedException("Failed to initialize window"); } - if (renderApi != RenderAPI::Vulkan) MakeCurrentThread(); + if (renderApi != RenderAPI::Vulkan) + { + MakeCurrentThread(); + } Logger::WINDOW->info("GLFW Window created (id: {0}) with scale {1}", GetWindowId(), contentScale); } @@ -129,20 +137,11 @@ namespace OpenVulkano::GLFW Logger::WINDOW->info("GLFW Window destroyed (id: {0})", GetWindowId()); } - void WindowGLFW::Present() const - { - glfwSwapBuffers(window); - } + void WindowGLFW::Present() const { glfwSwapBuffers(window); } - void WindowGLFW::Show() - { - glfwShowWindow(window); - } + void WindowGLFW::Show() { glfwShowWindow(window); } - void WindowGLFW::Hide() - { - glfwHideWindow(window); - } + void WindowGLFW::Hide() { glfwHideWindow(window); } void WindowGLFW::SetTitle(const std::string& title) { @@ -175,7 +174,9 @@ namespace OpenVulkano::GLFW Math::Vector2ui WindowGLFW::GetSize() { if (currentSize.x == 0 || currentSize.y == 0) + { glfwGetWindowSize(window, reinterpret_cast(¤tSize.x), reinterpret_cast(¤tSize.y)); + } return currentSize; } @@ -195,6 +196,67 @@ namespace OpenVulkano::GLFW glfwSetWindowSizeLimits(window, minWidth, minHeight, maxWidth, maxHeight); } + SubpixelLayout WindowGLFW::GetSubpixelLayout() const + { + SubpixelLayout engineLayout = EngineConfiguration::GetEngineConfiguration()->GetSubpixelLayout(); + if (engineLayout != SubpixelLayout::UNKNOWN) + { + return engineLayout; + } +#if _WIN32 + BOOL val; + // check if font smoothing is enabled + SystemParametersInfoA(SPI_GETFONTSMOOTHING, 0, &val, 0); + if (!val) + { + return SubpixelLayout::UNKNOWN; + } + + UINT mode; + SystemParametersInfoA(SPI_GETFONTSMOOTHINGORIENTATION, 0, &mode, 0); + if (mode == FE_FONTSMOOTHINGORIENTATIONBGR) + { + return SubpixelLayout::BGR; + } + else if (mode == FE_FONTSMOOTHINGORIENTATIONRGB) + { + return SubpixelLayout::RGB; + } + return SubpixelLayout::UNKNOWN; +#elif __linux__ + FcInit(); + FcPattern* pattern = FcPatternCreate(); + FcConfigSubstitute(nullptr, pattern, FcMatchPattern); + FcDefaultSubstitute(pattern); + + FcResult result; + FcPattern* match = FcFontMatch(nullptr, pattern, &result); + if (!match) + { + Logger::WINDOW->error("Failed to match font pattern."); + FcPatternDestroy(pattern); + return SubpixelLayout::UNKNOWN; + } + + int subpixelOrder = -1; + if (FcPatternGetInteger(match, FC_RGBA, 0, &subpixelOrder) == FcResultMatch) { + switch (subpixelOrder) { + case FC_RGBA_RGB: return SubpixelLayout::RGB; + case FC_RGBA_BGR: return SubpixelLayout::BGR; + case FC_RGBA_VRGB: return SubpixelLayout::RGBV; + case FC_RGBA_VBGR: return SubpixelLayout::BGRV; + case FC_RGBA_NONE: + default: return SubpixelLayout::UNKNOWN; + } + } + FcPatternDestroy(match); + FcPatternDestroy(pattern); + return SubpixelLayout::UNKNOWN; +#else + return SubpixelLayout::UNKNOWN; +#endif + } + void WindowGLFW::MakeCurrentThread() { glfwMakeContextCurrent(window); diff --git a/openVulkanoCpp/Host/GLFW/WindowGLFW.hpp b/openVulkanoCpp/Host/GLFW/WindowGLFW.hpp index f7876ed..a14e86a 100644 --- a/openVulkanoCpp/Host/GLFW/WindowGLFW.hpp +++ b/openVulkanoCpp/Host/GLFW/WindowGLFW.hpp @@ -64,6 +64,8 @@ namespace OpenVulkano::GLFW void SetSizeLimits(int minWidth, int minHeight, int maxWidth, int maxHeight) override; + SubpixelLayout GetSubpixelLayout() const override; + [[nodiscard]] float GetContentScale() const override { return contentScale; } void MakeCurrentThread() override; diff --git a/openVulkanoCpp/Host/Windows/SystemInfo.cpp b/openVulkanoCpp/Host/Windows/SystemInfo.cpp index a7a9270..bea3c6b 100644 --- a/openVulkanoCpp/Host/Windows/SystemInfo.cpp +++ b/openVulkanoCpp/Host/Windows/SystemInfo.cpp @@ -424,7 +424,7 @@ namespace OpenVulkano static const std::string osName = "Windows"; return osName; } - + OsVersion SystemInfo::GetOsVersion() { static OsVersion osVersion = {}; diff --git a/openVulkanoCpp/Scene/BitmapFontAtlasGenerator.cpp b/openVulkanoCpp/Scene/BitmapFontAtlasGenerator.cpp index b75cf4e..d94d884 100644 --- a/openVulkanoCpp/Scene/BitmapFontAtlasGenerator.cpp +++ b/openVulkanoCpp/Scene/BitmapFontAtlasGenerator.cpp @@ -7,6 +7,7 @@ #include "BitmapFontAtlasGenerator.hpp" #include "Base/Logger.hpp" #include "Text/FontAtlas.hpp" +#include namespace OpenVulkano::Scene { @@ -34,10 +35,19 @@ namespace OpenVulkano::Scene const auto& [lib, face] = FontAtlasGeneratorBase::InitFreetype(source); FT_Set_Pixel_Sizes(face.get(), 0, m_pixelSizeConfig.CalculatePixelSize()); + if (m_subpixelLayout != SubpixelLayout::UNKNOWN) + { + FT_Error error = FT_Library_SetLcdFilter(lib.get(), FT_LCD_FILTER_DEFAULT); + if (error != 0) + { + m_subpixelLayout = SubpixelLayout::UNKNOWN; + m_channelsCount = 1; + Logger::SCENE->error("Failed to set lcd filter for subpixel rendering. {}", GetFreetypeErrorDescription(error)); + } + } - auto [allGlyphs, area] = InitGlyphsForPacking(chset, face); - const double atlasWidth = ceil(sqrt(area)); - std::vector shelves = Shelf::CreateShelves(atlasWidth, allGlyphs, face); + auto [allGlyphs, atlasWidth] = InitGlyphsForPacking(chset, face); + std::vector shelves = Shelf::CreateShelves(atlasWidth, allGlyphs, face, m_channelsCount); uint32_t atlasHeight = 0; std::for_each(shelves.begin(), shelves.end(), [&](const Shelf& shelf) { atlasHeight += shelf.GetHeight(); }); const Math::Vector2ui atlasResolution = { atlasWidth, atlasHeight }; @@ -47,7 +57,10 @@ namespace OpenVulkano::Scene // but since some algorithms have already been implemented for EM_NORMALIZED mode, currently there is no support for default font metrics (ints) // The coordinates will be normalized to the em size, i.e. 1 = 1 em const double scaleFactor = (1. / face->units_per_EM); - m_atlasData = std::make_shared(atlasResolution, face->height * scaleFactor, FontAtlasType::BITMAP); + m_atlasData = std::make_shared(atlasResolution, face->height * scaleFactor, + static_cast(m_subpixelLayout) ? FontAtlasType::BITMAP_SUBPIXEL : + FontAtlasType::BITMAP, + m_subpixelLayout.GetTextureDataFormat()); FillGlyphsInfo(allGlyphs, face, scaleFactor); if (pngOutput) m_atlasData->Save(*pngOutput); } @@ -61,20 +74,67 @@ namespace OpenVulkano::Scene allGlyphs.reserve(chset.size()); for (uint32_t codepoint : chset) { - error = FT_Load_Char(face.get(), codepoint, FT_LOAD_RENDER); + error = FT_Load_Char(face.get(), codepoint, GetGlyphRenderMode()); if (error) { Logger::SCENE->error("FT_Load_Char for codepoint {} has failed. {}", codepoint, GetFreetypeErrorDescription(error)); continue; } + // TODO: Try to reduce resulting texture size in subpixel rendering mode, + // since freetype for some glyphs not only triples width/height by 3, but also adds extra padding and extra(meaningful?) pixels. + // NOTE: looks like it adds 2 pixels to the left and right in FT_LOAD_TARGET_LCD mode, so we should take this into account in FillSubpixelData. + // https://freetype.org/freetype2/docs/reference/ft2-lcd_rendering.html + // So, the possible approach to try is: + // 1) render glyph here with FT_LOAD_RENDER mode; + // 2) render glyph in FillGlyphsInfo with FT_LOAD_RENDER | FT_LOAD_TARGET_LCD mode; + // 3) take into account all mentioned things above for proper mapping. FT_GlyphSlot slot = face->glyph; - GlyphForPacking& glyph = allGlyphs.emplace_back(codepoint, Math::Vector2ui(slot->bitmap.width, slot->bitmap.rows)); + GlyphForPacking& glyph = allGlyphs.emplace_back(codepoint, ScaleGlyphSize(slot->bitmap.width, slot->bitmap.rows)); area += slot->bitmap.rows * slot->bitmap.width; } std::sort(allGlyphs.begin(), allGlyphs.end(), [](const GlyphForPacking& a, const GlyphForPacking& b) { return a.size.y > b.size.y; }); - return { allGlyphs, area }; + // make atlas in square form, so that atlasWidth +- equals atlasHeight + return { allGlyphs, ceil(sqrt(area / (m_channelsCount == 1 ? 1 : 3))) }; + } + + Math::Vector2ui BitmapFontAtlasGenerator::ScaleGlyphSize(unsigned int w, unsigned int h) const + { + if (m_subpixelLayout == SubpixelLayout::UNKNOWN || m_channelsCount == 1) + { + return { w, h }; + } + + if (m_subpixelLayout.IsHorizontalSubpixelLayout()) + { + assert(w % 3 == 0); + w /= 3; + } + else + { + assert(h % 3 == 0); + h /= 3; + } + return { w, h }; + } + + FT_Int32 BitmapFontAtlasGenerator::GetGlyphRenderMode() const + { + if (m_channelsCount == 1) + { + return FT_LOAD_RENDER; + } + FT_Int32 glyphRenderMode = FT_LOAD_RENDER; + if (m_subpixelLayout < SubpixelLayout::RGBV) + { + glyphRenderMode |= FT_LOAD_TARGET_LCD; + } + else if (m_subpixelLayout < SubpixelLayout::UNKNOWN) + { + glyphRenderMode |= FT_LOAD_TARGET_LCD_V; + } + return glyphRenderMode; } void BitmapFontAtlasGenerator::FillGlyphsInfo(const std::vector& allGlyphs, const FtFaceRecPtr& face, double scaleFactor) @@ -82,7 +142,7 @@ namespace OpenVulkano::Scene size_t loadedGlyphs = 0; for (const GlyphForPacking& glyph : allGlyphs) { - FT_Error error = FT_Load_Char(face.get(), glyph.code, FT_LOAD_RENDER); + FT_Error error = FT_Load_Char(face.get(), glyph.code, GetGlyphRenderMode()); if (error) { Logger::SCENE->error("FT_Load_Char for codepoint {} has failed. {}", glyph.code, @@ -91,12 +151,20 @@ namespace OpenVulkano::Scene } FT_GlyphSlot slot = face->glyph; - char* baseAddress = static_cast(m_atlasData->GetTexture()->textureBuffer) + glyph.firstGlyphByteInAtlas; - for (int row = 0; row < slot->bitmap.rows; row++) + if (m_channelsCount == 1) { - std::memcpy(baseAddress + row * m_atlasData->GetTexture()->resolution.x, - &slot->bitmap.buffer[(slot->bitmap.rows - 1 - row) * slot->bitmap.pitch], - slot->bitmap.width); + char* baseAddress = static_cast(m_atlasData->GetTexture()->textureBuffer) + + glyph.firstGlyphByteInAtlas; + for (int row = 0; row < slot->bitmap.rows; row++) + { + std::memcpy(baseAddress + row * m_atlasData->GetTexture()->resolution.x, + &slot->bitmap.buffer[(slot->bitmap.rows - 1 - row) * slot->bitmap.pitch], + slot->bitmap.width); + } + } + else + { + FillSubpixelData(slot->bitmap, glyph); } GlyphInfo& glyphInfo = m_atlasData->GetGlyphs()[glyph.code]; @@ -104,10 +172,56 @@ namespace OpenVulkano::Scene slot->metrics.height * scaleFactor }; const Math::Vector2d glyphBearing = { slot->metrics.horiBearingX * scaleFactor, slot->metrics.horiBearingY * scaleFactor }; - Math::AABB glyphAtlasAABB(Math::Vector3f(glyph.atlasPos.x, glyph.atlasPos.y, 0), Math::Vector3f(glyph.atlasPos.x + slot->bitmap.width, glyph.atlasPos.y + slot->bitmap.rows, 0)); + + const Math::Vector2ui scaledAtlasSize = ScaleGlyphSize(slot->bitmap.width, slot->bitmap.rows); + Math::AABB glyphAtlasAABB(Math::Vector3f(glyph.atlasPos.x, glyph.atlasPos.y, 0), Math::Vector3f(glyph.atlasPos.x + scaledAtlasSize.x, glyph.atlasPos.y + scaledAtlasSize.y, 0)); SetGlyphData(glyphInfo, glyphBearing, glyphMetrics, glyphAtlasAABB, slot->advance.x * scaleFactor); loadedGlyphs++; } Logger::SCENE->debug("Created atlas with {} glyphs, {} glyphs could not be loaded", loadedGlyphs, allGlyphs.size() - loadedGlyphs); } + + void BitmapFontAtlasGenerator::FillSubpixelData(const FT_Bitmap& bitmap, const GlyphForPacking& glyph) + { + Texture* tex = m_atlasData->GetTexture(); + char* texBuffer = static_cast(tex->textureBuffer); + if (m_subpixelLayout.IsHorizontalSubpixelLayout()) + { + // RGB RGB RGB + assert(bitmap.width % 3 == 0); + for (int row = 0; row < bitmap.rows; row++) + { + for (int col = 0, atlasPos = 0; col < bitmap.width; col += 3, atlasPos += 4) + { + const size_t bitmapPos = row * bitmap.pitch + col; + const size_t texturePos = (glyph.firstGlyphByteInAtlas - row * tex->resolution.x * m_channelsCount) + atlasPos; + const uint8_t rgb[3] = { bitmap.buffer[bitmapPos], bitmap.buffer[bitmapPos + 1], + bitmap.buffer[bitmapPos + 2] }; + std::memcpy(texBuffer + texturePos, rgb, 3); + texBuffer[texturePos + 3] = 255; + } + } + } + else + { + // RRR + // GGG + // BBB + assert(bitmap.rows % 3 == 0); + for (int row = 0; row < bitmap.rows; row += 3) + { + for (int col = 0; col < bitmap.width; col++) + { + const size_t bitmapPos = col + (bitmap.pitch * row); + const size_t texturePos = (glyph.firstGlyphByteInAtlas + col * m_channelsCount) + - ((row / 3) * (tex->resolution.x * m_channelsCount)); + const uint8_t rgb[3] = { bitmap.buffer[bitmapPos + 2 * bitmap.pitch], + bitmap.buffer[bitmapPos + bitmap.pitch], bitmap.buffer[bitmapPos] }; + std::memcpy(texBuffer + texturePos, rgb, 3); + texBuffer[texturePos + 3] = 255; + } + } + } + } } + diff --git a/openVulkanoCpp/Scene/BitmapFontAtlasGenerator.hpp b/openVulkanoCpp/Scene/BitmapFontAtlasGenerator.hpp index 7b8c59f..c7fbfcb 100644 --- a/openVulkanoCpp/Scene/BitmapFontAtlasGenerator.hpp +++ b/openVulkanoCpp/Scene/BitmapFontAtlasGenerator.hpp @@ -7,6 +7,7 @@ #pragma once #include "FontAtlasGeneratorBase.hpp" +#include "Scene/SubpixelLayout.hpp" #include "Shelf.hpp" namespace OpenVulkano::Scene @@ -34,7 +35,13 @@ namespace OpenVulkano::Scene class BitmapFontAtlasGenerator : public FontAtlasGeneratorBase { public: - BitmapFontAtlasGenerator(FontPixelSizeConfig config = FontPixelSizeConfig()) : FontAtlasGeneratorBase(1), m_pixelSizeConfig(config) {} + BitmapFontAtlasGenerator(FontPixelSizeConfig config = FontPixelSizeConfig(), + std::optional subpixelLayout = std::nullopt) + : FontAtlasGeneratorBase(subpixelLayout.has_value() && *subpixelLayout < SubpixelLayout::UNKNOWN ? 4 : 1) + , m_pixelSizeConfig(config) + , m_subpixelLayout(subpixelLayout.value_or(SubpixelLayout::UNKNOWN)) + { + } void GenerateAtlas(const std::string& fontFile, const std::set& charset, const std::optional& pngOutput = std::nullopt) override; void GenerateAtlas(const Array& fontData, const std::set& charset, @@ -42,8 +49,13 @@ namespace OpenVulkano::Scene private: void Generate(const std::variant>& source, const std::set& chset, const std::optional& pngOutput); void FillGlyphsInfo(const std::vector& allGlyphs, const FtFaceRecPtr& face, double scaleFactor); + void FillSubpixelData(const FT_Bitmap& bitmap, const GlyphForPacking& glyph); + FT_Int32 GetGlyphRenderMode() const; + // tmp function + Math::Vector2ui ScaleGlyphSize(unsigned int w, unsigned int h) const; std::pair, double> InitGlyphsForPacking(const std::set& chset, const FtFaceRecPtr& face); private: FontPixelSizeConfig m_pixelSizeConfig; + SubpixelLayout m_subpixelLayout; }; } diff --git a/openVulkanoCpp/Scene/SdfFontAtlasGenerator.cpp b/openVulkanoCpp/Scene/SdfFontAtlasGenerator.cpp index d72a1a5..cd1c049 100644 --- a/openVulkanoCpp/Scene/SdfFontAtlasGenerator.cpp +++ b/openVulkanoCpp/Scene/SdfFontAtlasGenerator.cpp @@ -142,7 +142,7 @@ namespace OpenVulkano::Scene int idx = 0; m_atlasData = std::make_shared(Math::Vector2ui{ width, height }, fontGeometry.getMetrics().lineHeight, - channelsCount == 1 ? FontAtlasType::SDF : FontAtlasType::MSDF); + channelsCount == 1 ? FontAtlasType::SDF : FontAtlasType::MSDF, m_channelsCount == 1 ? DataFormat::R8_UNORM : DataFormat::R8G8B8A8_UNORM); if constexpr (Channels == 3) { diff --git a/openVulkanoCpp/Scene/Shelf.hpp b/openVulkanoCpp/Scene/Shelf.hpp index 922bd65..6b633b7 100644 --- a/openVulkanoCpp/Scene/Shelf.hpp +++ b/openVulkanoCpp/Scene/Shelf.hpp @@ -24,9 +24,10 @@ namespace OpenVulkano::Scene struct Shelf { inline static std::vector CreateShelves(uint32_t atlasWidth, std::vector& glyphs, - const FtFaceRecPtr& face); + const FtFaceRecPtr& face, int channelsCount); - Shelf(uint32_t width, uint32_t height) : m_width(width), m_height(height), m_remainingWidth(width) {} + Shelf(uint32_t width, uint32_t height, int pixelSize, uint32_t prevShelvesHeight) + : m_width(width), m_height(height), m_remainingWidth(width), m_pixelSize(pixelSize), m_prevShelvesHeight(prevShelvesHeight) {} bool HasSpaceForGlyph(uint32_t glyphWidth, uint32_t glyphHeight) const { return m_remainingWidth >= glyphWidth && m_height >= glyphHeight; @@ -35,7 +36,10 @@ namespace OpenVulkano::Scene uint32_t GetHeight() const { return m_height; } uint32_t GetNextGlyphPos() const { return m_nextGlyphPos; }; uint32_t GetOccupiedSize() const { return ((m_width - m_remainingWidth) * m_height); } - std::optional AddGlyph(uint32_t glyphWidth, uint32_t glyphHeight) + uint32_t GetPrevShelvesHeight() const { return m_prevShelvesHeight; } + int GetPixelSize() const { return m_pixelSize; } + + std::optional> AddGlyph(uint32_t glyphWidth, uint32_t glyphHeight) { if (!HasSpaceForGlyph(glyphWidth, glyphHeight)) { @@ -44,7 +48,13 @@ namespace OpenVulkano::Scene uint32_t insertionPos = m_nextGlyphPos; m_nextGlyphPos += glyphWidth; m_remainingWidth -= glyphWidth; - return insertionPos; + + uint32_t hOffset = m_height - (m_height - glyphHeight); + uint32_t glyphFirstByte = (insertionPos * m_pixelSize) + + ((hOffset * m_width * m_pixelSize) - (m_width * m_pixelSize)) + + (m_prevShelvesHeight * m_width * m_pixelSize); + + return std::make_pair(insertionPos, glyphFirstByte); } private: @@ -52,10 +62,12 @@ namespace OpenVulkano::Scene uint32_t m_height; uint32_t m_remainingWidth; uint32_t m_nextGlyphPos = 0; + uint32_t m_prevShelvesHeight; + int m_pixelSize; }; std::vector Shelf::CreateShelves(uint32_t atlasWidth, std::vector& glyphs, - const FtFaceRecPtr& face) + const FtFaceRecPtr& face, int channelsCount) { std::vector shelves; for (GlyphForPacking& glyph : glyphs) @@ -71,10 +83,10 @@ namespace OpenVulkano::Scene uint32_t totalPrevShelvesHeight = 0; for (Shelf& shelf : shelves) { - if (std::optional insertionPosX = shelf.AddGlyph(glyph.size.x, glyph.size.y)) + if (std::optional> opt = shelf.AddGlyph(glyph.size.x, glyph.size.y)) { - glyph.firstGlyphByteInAtlas = *insertionPosX + (totalPrevShelvesHeight * atlasWidth); - glyph.atlasPos.x = *insertionPosX; + glyph.firstGlyphByteInAtlas = opt->second; + glyph.atlasPos.x = opt->first; glyph.atlasPos.y = totalPrevShelvesHeight; needNewShelf = false; break; @@ -84,9 +96,10 @@ namespace OpenVulkano::Scene if (needNewShelf) { - shelves.emplace_back(atlasWidth, glyph.size.y); - shelves.back().AddGlyph(glyph.size.x, glyph.size.y); - glyph.firstGlyphByteInAtlas = totalPrevShelvesHeight * atlasWidth; + shelves.emplace_back(atlasWidth, glyph.size.y, channelsCount, totalPrevShelvesHeight); + Shelf& shelf = shelves.back(); + uint32_t firstByte = (*shelf.AddGlyph(glyph.size.x, glyph.size.y)).second; + glyph.firstGlyphByteInAtlas = firstByte; glyph.atlasPos.x = 0; glyph.atlasPos.y = totalPrevShelvesHeight; } diff --git a/openVulkanoCpp/Scene/SubpixelLayout.hpp b/openVulkanoCpp/Scene/SubpixelLayout.hpp new file mode 100644 index 0000000..394e9b5 --- /dev/null +++ b/openVulkanoCpp/Scene/SubpixelLayout.hpp @@ -0,0 +1,75 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#pragma once + +#include "Scene/DataFormat.hpp" +#include +#include +#include + +namespace OpenVulkano +{ + class SubpixelLayout + { + public: + enum Layout : uint32_t + { + RGB, + BGR, + RGBV, + BGRV, + // unknown and auto must be last two + UNKNOWN, + NONE = UNKNOWN, + AUTO = UNKNOWN + }; + + constexpr SubpixelLayout() = default; + + constexpr SubpixelLayout(Layout layout) : m_layout(layout) {} + + [[nodiscard]] DataFormat GetTextureDataFormat() const + { + if (m_layout >= SubpixelLayout::UNKNOWN) + { + return DataFormat::R8_UINT; + } + if (m_layout == SubpixelLayout::BGR || m_layout == SubpixelLayout::BGRV) + { + return DataFormat::B8G8R8A8_UINT; + } + return DataFormat::R8G8B8A8_UINT; + } + + [[nodiscard]] std::string_view GetName() const { return magic_enum::enum_name(m_layout); } + + [[nodiscard]] constexpr bool operator==(Layout rhs) const + { + return m_layout == rhs; + } + + [[nodiscard]] constexpr bool operator!=(Layout rhs) const + { + return m_layout != rhs; + } + + [[nodiscard]] constexpr operator uint32_t() const + { + return m_layout; + } + + [[nodiscard]] bool IsHorizontalSubpixelLayout() const + { + return m_layout == SubpixelLayout::RGB || m_layout == SubpixelLayout::BGR; + } + + explicit operator bool() const { return m_layout < Layout::UNKNOWN; } + + private: + Layout m_layout = Layout::UNKNOWN; + }; +} diff --git a/openVulkanoCpp/Scene/Text/FontAtlas.cpp b/openVulkanoCpp/Scene/Text/FontAtlas.cpp index 0ec4eba..5fe41aa 100644 --- a/openVulkanoCpp/Scene/Text/FontAtlas.cpp +++ b/openVulkanoCpp/Scene/Text/FontAtlas.cpp @@ -120,7 +120,10 @@ namespace OpenVulkano::Scene const std::span metadataSpan(metadata, eofHeader.metadataSize); if (eofHeader.flags.version == 0) LoadLegacy(metadataSpan); else LoadNew(metadataSpan); - if (GetAtlasType() >= FontAtlasType::BITMAP) m_texture.m_samplerConfig = &SamplerConfig::NEAREST; + if (GetAtlasType() >= FontAtlasType::BITMAP && GetAtlasType() != FontAtlasType::UNKNOWN) + { + m_texture.m_samplerConfig = &SamplerConfig::NEAREST; + } } void FontAtlas::LoadLegacy(const std::span data) @@ -171,14 +174,18 @@ namespace OpenVulkano::Scene m_texture.textureBuffer = m_imgData.Data(); } - void FontAtlas::Init(const Math::Vector2ui textureResolution, const double lineHeight, const FontAtlasType atlasType) + void FontAtlas::Init(const Math::Vector2ui textureResolution, const double lineHeight, + const FontAtlasType atlasType, DataFormat dataFormat) { m_metadata = { lineHeight, atlasType }; - m_texture.format = atlasType.GetChannelCount() == 1 ? DataFormat::R8_UNORM : DataFormat::R8G8B8A8_UNORM; + m_texture.format = dataFormat; m_texture.resolution = { textureResolution, 1 }; m_imgData = Array(m_texture.format.CalculatedSize(m_texture.resolution.x, m_texture.resolution.y)); m_texture.textureBuffer = m_imgData.Data(); m_texture.size = m_imgData.Size(); - if (atlasType >= FontAtlasType::BITMAP) m_texture.m_samplerConfig = &SamplerConfig::NEAREST; + if (atlasType >= FontAtlasType::BITMAP && atlasType != FontAtlasType::UNKNOWN) + { + m_texture.m_samplerConfig = &SamplerConfig::NEAREST; + } } } \ No newline at end of file diff --git a/openVulkanoCpp/Scene/Text/FontAtlas.hpp b/openVulkanoCpp/Scene/Text/FontAtlas.hpp index 9249eb7..9f04be8 100644 --- a/openVulkanoCpp/Scene/Text/FontAtlas.hpp +++ b/openVulkanoCpp/Scene/Text/FontAtlas.hpp @@ -46,11 +46,15 @@ namespace OpenVulkano::Scene public: FontAtlas() = default; - FontAtlas(const Math::Vector2ui textureResolution, const double lineHeight, const FontAtlasType atlasType) { Init(textureResolution, lineHeight, atlasType); } + FontAtlas(const Math::Vector2ui textureResolution, const double lineHeight, const FontAtlasType atlasType, + DataFormat dataFormat) + { + Init(textureResolution, lineHeight, atlasType, dataFormat); + } FontAtlas(const std::filesystem::path& path); FontAtlas(const std::span data) { Load(data); } - void Init(Math::Vector2ui textureResolution, double lineHeight, FontAtlasType atlasType); + void Init(Math::Vector2ui textureResolution, double lineHeight, FontAtlasType atlasType, DataFormat dataFormat); void Save(const std::filesystem::path& path) const; void Load(std::span data); diff --git a/openVulkanoCpp/Scene/Text/FontAtlasType.hpp b/openVulkanoCpp/Scene/Text/FontAtlasType.hpp index ba6e31d..dc95833 100644 --- a/openVulkanoCpp/Scene/Text/FontAtlasType.hpp +++ b/openVulkanoCpp/Scene/Text/FontAtlasType.hpp @@ -18,10 +18,12 @@ namespace OpenVulkano::Scene SDF = 0, MSDF, BITMAP, + BITMAP_SUBPIXEL, UNKNOWN }; - static constexpr std::string_view DEFAULT_FG_SHADERS[] = { "Shader/sdfText", "Shader/msdfText", "Shader/text" }; + static constexpr std::string_view DEFAULT_FG_SHADERS[] = { "Shader/sdfText", "Shader/msdfText", "Shader/text", + "Shader/subpixelText" }; static constexpr uint32_t CHANNEL_COUNT[] = { 1, 4, 1, 4, 0 }; diff --git a/openVulkanoCpp/Scene/TextDrawable.cpp b/openVulkanoCpp/Scene/TextDrawable.cpp index 113f3e0..5971385 100644 --- a/openVulkanoCpp/Scene/TextDrawable.cpp +++ b/openVulkanoCpp/Scene/TextDrawable.cpp @@ -21,6 +21,7 @@ namespace OpenVulkano::Scene constexpr uint32_t MISSING_GLYPH_SYMBOL = '?'; Shader DEFAULT_SHADER_BITMAP = TextDrawable::MakeDefaultShader(FontAtlasType::BITMAP); + Shader DEFAULT_SHADER_BITMAP_SUBPIXEL = TextDrawable::MakeDefaultShader(FontAtlasType::BITMAP_SUBPIXEL); Shader DEFAULT_SHADER_SDF = TextDrawable::MakeDefaultShader(FontAtlasType::SDF); Shader DEFAULT_SHADER_MSDF = TextDrawable::MakeDefaultShader(FontAtlasType::MSDF); } @@ -156,6 +157,7 @@ namespace OpenVulkano::Scene case FontAtlasType::MSDF: return &DEFAULT_SHADER_MSDF; default: Logger::RENDER->warn("No default shader for atlas type: {}", type.GetName()); case FontAtlasType::BITMAP: return &DEFAULT_SHADER_BITMAP; + case FontAtlasType::BITMAP_SUBPIXEL: return &DEFAULT_SHADER_BITMAP_SUBPIXEL; } } } \ No newline at end of file diff --git a/openVulkanoCpp/Shader/subpixelText.frag b/openVulkanoCpp/Shader/subpixelText.frag new file mode 100644 index 0000000..098c5a8 --- /dev/null +++ b/openVulkanoCpp/Shader/subpixelText.frag @@ -0,0 +1,20 @@ +#version 450 + +layout(location = 0) in vec4 color; +layout(location = 1) in vec4 bgColor; +layout(location = 2) in vec2 texCoord; + +layout(location = 0) out vec4 outColor; + +layout(set = 2, binding = 0) uniform sampler2D texSampler; + +void main() +{ + vec4 sampled = texture(texSampler, texCoord); + float alpha = max(sampled.r, max(sampled.g, sampled.b)); + outColor = vec4(color) * vec4(sampled.rgb, alpha); + if (bgColor.a != 0) + { + outColor = mix(bgColor, outColor, alpha); + } +}