From 7ed81040eda72f96d9ce34fcf04427b40d88f6fe Mon Sep 17 00:00:00 2001 From: emil28092005 Date: Thu, 18 Jun 2026 19:47:29 +0300 Subject: [PATCH] =?UTF-8?q?debug:=20simple=20diffuse=20point=20light=20?= =?UTF-8?q?=E2=80=94=20test=20if=20light=20data=20reaches=20fragment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Shaders/triangle.frag | 15 +++++++++++++-- .../Shaders/triangle.frag.spv | Bin 928 -> 2220 bytes 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Engine.Graphics.Vulkan/Shaders/triangle.frag b/src/Engine.Graphics.Vulkan/Shaders/triangle.frag index 1cb8f53..82d0e14 100644 --- a/src/Engine.Graphics.Vulkan/Shaders/triangle.frag +++ b/src/Engine.Graphics.Vulkan/Shaders/triangle.frag @@ -14,6 +14,17 @@ layout(set = 0, binding = 0) uniform CameraUBO { void main() { - // Just output albedo — tests if vp matrix in 128B UBO works - outColor = vec4(fragAlbedo, 1.0); + vec3 N = normalize(fragNormal); + vec3 toLight = pointLightPos.xyz - fragWorldPos; + float dist = length(toLight); + vec3 L = normalize(toLight); + + float NdotL = max(dot(N, L), 0.0); + float atten = 1.0 / (1.0 + dist * dist * 0.05); + float intensity = pointLightPos.w; + + vec3 color = fragAlbedo * pointLightColor.xyz * NdotL * intensity * atten; + color += fragAlbedo * 0.02; + + outColor = vec4(color, 1.0); } diff --git a/src/Engine.Graphics.Vulkan/Shaders/triangle.frag.spv b/src/Engine.Graphics.Vulkan/Shaders/triangle.frag.spv index aaa49571c4ede38911f8c3a270c02fcebc2febc1..1babfe73ee4ea7e302bc39512829f35109b5ea27 100644 GIT binary patch literal 2220 zcmZ9L+fGwa5QZ0&a+ZV0!4tON0YwoN5an1?y-`;DWaW&I5|39;4&0+0C>tu&>Ew0CPx?LBqLDwqAiEEGcY<@RC(+JBm zbMv!!^tnXjh)=)ka&6j?{ZjP+LyzQ)_cMV)2e}2hCU*#U3*G0Du40@V^0ZpYKKF>-P&6`Uhr=m{~w)D1T*d`f#t!X48d4|~k{5$X66&vK$K_+vk>-Rj~z z`Atb!hNmO+Va@PO;a@-VE8IUPJr&twfAGA-dbA*&`-yA!Gl%AUm%We0&k1+`{=Q6p zykTNl{$S{}qWjrD5>7vmt$50&hN>(#g+!9!SRz z-h7xVb(_y4>G;7@A8#KHe{#u6sL%W#doHKle4a?>9KGkvQwbct78B0=3)1o5@pIXh n4#zUCC>@U87`NlOR_#UIL~ox-IFCPeX3m{k+Ohprghk0e2D^dU literal 928 zcmZ9KOHaa35QQ&b3yAXY0k|O`OB3QkjfwHe0v1Fu#<;Elk)%*l(6ztKU**Qc^W9P; z-ej1bGiT(@ULwtk&@g=H8BG;R$Vb#h+ubv-Haji~qQ$ zFsG}{FoSt;SBjWpE?i%M7koDqoEYy%P(G8^N5g)t$WvL*uIhC~Mg8~y^Zn}j%_#G) zfInMc_5p`}T^T(XeNH){fJYBzUvLM)X!8nVJ}=`s`=cIX_6M#?zpKpM_^B=S5OeU{ zSy5&W?1&j)_5gRH9y0wLe13~z|L0=yxv9Y8y;%Ge7M#+O