Various debug to check lighting

This commit is contained in:
2026-02-23 23:13:06 -05:00
parent 581656568b
commit 446670bd29
13 changed files with 222 additions and 70 deletions

View File

@@ -27,10 +27,10 @@ cbuffer RootConstants : register(b0, space0)
float2 Translate; // 2D translation
float2 _Padding2; // Explicit padding to align LightDirection to 16 bytes
float3 LightDirection; // Normalized, world-space
float LightPad;
float3 LightColor;
float AmbientIntensity;
float3 GlobalLightDirection; // Normalized, world-space
float GlobalLightPad;
float3 GlobalLightColor;
float GlobalAmbientIntensity;
uint LightBufferIndex;
uint ActiveLightCount;

View File

@@ -12,11 +12,11 @@ float4 main(Input input) : SV_Target0
float3 normal = normalize(input.WorldNormal);
// Initial ambient component
float3 result = input.Color.rgb * LightColor * AmbientIntensity;
float3 result = input.Color.rgb * GlobalLightColor * GlobalAmbientIntensity;
// Directional light contribution
float ndotl = max(dot(normal, -LightDirection), 0.0);
result += input.Color.rgb * LightColor * ndotl;
float ndotl = max(dot(normal, -GlobalLightDirection), 0.0);
result += input.Color.rgb * GlobalLightColor * ndotl;
// Point lights
if (ActiveLightCount > 0)