From 8125d249266a4a64b2adbf7847009e50eccaba42 Mon Sep 17 00:00:00 2001 From: antopilo Date: Thu, 17 Apr 2025 22:13:57 -0400 Subject: [PATCH] Fixed crash when resizing viewport --- .../Editor/Windows/SceneEditor/Widgets/ViewportWidget.cpp | 2 +- Nuake/Source/Nuake/Rendering/Vulkan/SceneRenderPipeline.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Editor/Source/Editor/Windows/SceneEditor/Widgets/ViewportWidget.cpp b/Editor/Source/Editor/Windows/SceneEditor/Widgets/ViewportWidget.cpp index c0909d10..5171c260 100644 --- a/Editor/Source/Editor/Windows/SceneEditor/Widgets/ViewportWidget.cpp +++ b/Editor/Source/Editor/Windows/SceneEditor/Widgets/ViewportWidget.cpp @@ -200,7 +200,7 @@ void ViewportWidget::Draw() { Logger::Log("Mouse Picked: " + std::to_string(picked)); - constexpr uint32_t INVALID_PICK_ID = 4187593120; + constexpr uint32_t INVALID_PICK_ID = 3863365216; if (picked != INVALID_PICK_ID) { Nuake::Entity entity = Nuake::Entity((entt::entity)picked, editorContext.GetScene().get()); diff --git a/Nuake/Source/Nuake/Rendering/Vulkan/SceneRenderPipeline.cpp b/Nuake/Source/Nuake/Rendering/Vulkan/SceneRenderPipeline.cpp index a655bf06..d3b626fb 100644 --- a/Nuake/Source/Nuake/Rendering/Vulkan/SceneRenderPipeline.cpp +++ b/Nuake/Source/Nuake/Rendering/Vulkan/SceneRenderPipeline.cpp @@ -303,9 +303,11 @@ void SceneRenderPipeline::Render(PassRenderContext& ctx) size_t bufferSize = sizeof(Vector4); Ref stagingBuffer = CreateRef(bufferSize, BufferUsage::TRANSFER_DST, MemoryUsage::GPU_TO_CPU); - assert(request.mousePosition.x < GBufferEntityID->GetSize().x && request.mousePosition.y < GBufferEntityID->GetSize().y && "Mouse coord out of bounds"); + // Flip Y request.mousePosition.y = GBufferEntityID->GetSize().y - request.mousePosition.y; + request.mousePosition = glm::clamp(request.mousePosition, { 0, 0 }, GBufferEntityID->GetSize() - Vector2{1, 1}); + VkRenderer::Get().ImmediateSubmit([&](VkCommandBuffer cmd) { Cmd command(cmd);