From 61a877cee14ebb55ae8f4b26cc762e3e46461f47 Mon Sep 17 00:00:00 2001 From: Brandon Mak Date: Thu, 2 Mar 2023 16:04:22 +0800 Subject: [PATCH] Fixed bug texture loading - During mipmap transfer to GPU, height would sometimes be 0. Fixed it using std::max --- Assets/Shaders/UI_FS.glsl | 2 +- Assets/Shaders/UI_FS.shshaderb | Bin 2125 -> 2125 bytes .../src/Graphics/Images/SHVkImage.cpp | 2 +- .../MiddleEnd/Textures/SHTextureLibrary.h | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Assets/Shaders/UI_FS.glsl b/Assets/Shaders/UI_FS.glsl index 30b59e48..3c66891b 100644 --- a/Assets/Shaders/UI_FS.glsl +++ b/Assets/Shaders/UI_FS.glsl @@ -37,7 +37,7 @@ layout(location = 1) out uint outEntityID; void main() { fragColor = texture(textures[nonuniformEXT(MatProp.data[In2.materialIndex].textureIndex)], In.uv); - if (fragColor.a < 0.01f) + if (fragColor.a < 0.1f) { discard; } diff --git a/Assets/Shaders/UI_FS.shshaderb b/Assets/Shaders/UI_FS.shshaderb index 92f4ed4ece0ecf30a998c0cac1a7117aa46cd281..d734949d4a6a368e405562b731d7f6de5c8bffab 100644 GIT binary patch delta 17 YcmX>ra8_UgFB{9*Gd{MP1=(zv06OgjtN;K2 delta 17 YcmX>ra8_UgFB=Qjb!D5)f^0TS05e4d$^ZZW diff --git a/SHADE_Engine/src/Graphics/Images/SHVkImage.cpp b/SHADE_Engine/src/Graphics/Images/SHVkImage.cpp index 53703924..28870797 100644 --- a/SHADE_Engine/src/Graphics/Images/SHVkImage.cpp +++ b/SHADE_Engine/src/Graphics/Images/SHVkImage.cpp @@ -262,7 +262,7 @@ namespace SHADE copyRegions[i].imageSubresource.baseArrayLayer = 0; // TODO: Array textures not supported yet copyRegions[i].imageSubresource.layerCount = layerCount; copyRegions[i].imageOffset = vk::Offset3D{ 0,0,0 }; - copyRegions[i].imageExtent = vk::Extent3D{ width >> i, height >> i, 1 }; + copyRegions[i].imageExtent = vk::Extent3D{ std::max (1u, width >> i), std::max (1u, height >> i), 1 }; } cmdBufferHdl->CopyBufferToImage(stagingBuffer, vkImage, copyRegions); diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Textures/SHTextureLibrary.h b/SHADE_Engine/src/Graphics/MiddleEnd/Textures/SHTextureLibrary.h index bbc72a1a..e1c93349 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Textures/SHTextureLibrary.h +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Textures/SHTextureLibrary.h @@ -71,7 +71,7 @@ namespace SHADE //! of the texture library would mean the recreation of the desc set that also //! involves the generic data, which is bad bad bad. Solution is to separate the //! 2 desc sets. - static constexpr uint32_t DEFAULT_MAX_TEXTURES = 2000; + static constexpr uint32_t DEFAULT_MAX_TEXTURES = 1000; /*-----------------------------------------------------------------------------*/ /* Usage Functions */