diff --git a/src/Engine.Graphics.Vulkan/Shaders/triangle.frag b/src/Engine.Graphics.Vulkan/Shaders/triangle.frag index ed0214b..c80b732 100644 --- a/src/Engine.Graphics.Vulkan/Shaders/triangle.frag +++ b/src/Engine.Graphics.Vulkan/Shaders/triangle.frag @@ -138,9 +138,6 @@ void main() float dist = length(toLight); vec3 L = toLight / max(dist, 0.001); - // Flip normal to face camera — fixes cubes with bad winding without breaking spheres - if (dot(N, V) < 0.0) N = -N; - float attenuation = pow(clamp(1.0 - dist / max(lightRange, 0.001), 0.0, 1.0), 2.0); vec3 radiance = lightColor * lightIntensity * attenuation; diff --git a/src/Engine.Graphics.Vulkan/Shaders/triangle.frag.spv b/src/Engine.Graphics.Vulkan/Shaders/triangle.frag.spv index f615ce7..5751d5b 100644 Binary files a/src/Engine.Graphics.Vulkan/Shaders/triangle.frag.spv and b/src/Engine.Graphics.Vulkan/Shaders/triangle.frag.spv differ diff --git a/src/Engine.Graphics.Vulkan/VulkanPipeline.cs b/src/Engine.Graphics.Vulkan/VulkanPipeline.cs index 6807495..ca3f7a8 100644 --- a/src/Engine.Graphics.Vulkan/VulkanPipeline.cs +++ b/src/Engine.Graphics.Vulkan/VulkanPipeline.cs @@ -102,7 +102,7 @@ internal sealed unsafe class VulkanPipeline : IDisposable depthClampEnable = VkBool32.False, rasterizerDiscardEnable = VkBool32.False, polygonMode = VkPolygonMode.Fill, - cullMode = VkCullModeFlags.None, + cullMode = VkCullModeFlags.Back, frontFace = VkFrontFace.CounterClockwise, depthBiasEnable = VkBool32.False, lineWidth = 1.0f, diff --git a/src/Engine.Graphics.Vulkan/VulkanShadowMap.cs b/src/Engine.Graphics.Vulkan/VulkanShadowMap.cs index 66d438b..9617f35 100644 --- a/src/Engine.Graphics.Vulkan/VulkanShadowMap.cs +++ b/src/Engine.Graphics.Vulkan/VulkanShadowMap.cs @@ -275,7 +275,7 @@ internal sealed unsafe class VulkanShadowMap : IDisposable depthClampEnable = VkBool32.False, rasterizerDiscardEnable = VkBool32.False, polygonMode = VkPolygonMode.Fill, - cullMode = VkCullModeFlags.None, + cullMode = VkCullModeFlags.Back, frontFace = VkFrontFace.CounterClockwise, depthBiasEnable = VkBool32.True, lineWidth = 1.0f,