Fix spot lights rendering on D3D12

This commit is contained in:
Wojciech Figat
2021-12-07 18:22:06 +01:00
parent 660c8ef95c
commit 4b9001abf2
4 changed files with 9 additions and 25 deletions

View File

@@ -122,7 +122,7 @@ float4 GetLighting(float3 viewPos, LightData lightData, GBufferSample gBuffer, f
// Calculate attenuation
if (isRadial)
{
GetRadialLightAttenuation(lightData, isSpotLight, gBuffer.WorldPos, N, 1, lightData.Direction, L, NoL, distanceAttenuation, lightRadiusMask, spotAttenuation);
GetRadialLightAttenuation(lightData, isSpotLight, gBuffer.WorldPos, N, 1, L, NoL, distanceAttenuation, lightRadiusMask, spotAttenuation);
}
float attenuation = distanceAttenuation * lightRadiusMask * spotAttenuation;
@@ -141,7 +141,7 @@ float4 GetLighting(float3 viewPos, LightData lightData, GBufferSample gBuffer, f
// Calculate direct lighting
LightingData lighting = SurfaceShading(gBuffer, energy, L, V, N);
#if NO_SPECULAR
lighting.Specular = 0;
lighting.Specular = float3(0, 0, 0);
#endif
// Calculate final light color