From d0af9b5c2d4fee143e4c7565b5e72bb80ceda2e6 Mon Sep 17 00:00:00 2001 From: emil28092005 Date: Fri, 19 Jun 2026 08:07:44 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20UBO=20binding=200=20visible=20to=20fragm?= =?UTF-8?q?ent=20shader=20=E2=80=94=20lights=20now=20work?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause: descriptor set layout binding 0 (SceneUBO) had stageFlags=Vertex only. Fragment shader reads numLights, lights[], shadowParams[] from UBO but couldn't access it. Changed to Vertex|Fragment. --- imgui.ini | 5 +++++ src/Engine.Graphics.Vulkan/VulkanPipeline.cs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/imgui.ini b/imgui.ini index da274ca..5ca3dc3 100644 --- a/imgui.ini +++ b/imgui.ini @@ -28,3 +28,8 @@ Pos=772,456 Size=507,263 Collapsed=0 +[Window][Shadow & Light Parameters] +Pos=-1,195 +Size=427,372 +Collapsed=0 + diff --git a/src/Engine.Graphics.Vulkan/VulkanPipeline.cs b/src/Engine.Graphics.Vulkan/VulkanPipeline.cs index 6ab6812..83878c2 100644 --- a/src/Engine.Graphics.Vulkan/VulkanPipeline.cs +++ b/src/Engine.Graphics.Vulkan/VulkanPipeline.cs @@ -220,7 +220,7 @@ internal sealed unsafe class VulkanPipeline : IDisposable binding = 0, descriptorType = VkDescriptorType.UniformBuffer, descriptorCount = 1, - stageFlags = VkShaderStageFlags.Vertex, + stageFlags = VkShaderStageFlags.Vertex | VkShaderStageFlags.Fragment, }; bindings[1] = new VkDescriptorSetLayoutBinding {