Merge pull request #1393 from Azaezel/alpha41/mangledMetal

correct high metallic objects lacking color input
This commit is contained in:
Brian Roberts 2025-02-25 02:46:13 -06:00 committed by GitHub
commit e7dfcc1fe3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 4 deletions

View file

@ -226,7 +226,7 @@ float getDistanceAtt( vec3 unormalizedLightVector , float invSqrAttRadius )
vec3 evaluateStandardBRDF(Surface surface, SurfaceToLight surfaceToLight)
{
//diffuse term
vec3 Fd = surface.albedo.rgb * surface.ao * M_1OVER_PI_F;
vec3 Fd = surface.albedo.rgb * M_1OVER_PI_F;
//GGX specular
vec3 F = F_Schlick(surface.f0, surface.f90, surfaceToLight.HdotV);
@ -237,7 +237,7 @@ vec3 evaluateStandardBRDF(Surface surface, SurfaceToLight surfaceToLight)
if(isCapturing == 1)
return mix(Fd + Fr, surface.baseColor.rgb, surface.metalness);
else
return Fd + Fr;
return Fd + Fr + surface.f0 * surface.ao;
}
vec3 getDirectionalLight(Surface surface, SurfaceToLight surfaceToLight, vec3 lightColor, float lightIntensity, float shadow)

View file

@ -227,7 +227,7 @@ float getDistanceAtt( float3 unormalizedLightVector , float invSqrAttRadius )
float3 evaluateStandardBRDF(Surface surface, SurfaceToLight surfaceToLight)
{
//diffuse term
float3 Fd = surface.albedo.rgb * surface.ao * M_1OVER_PI_F;
float3 Fd = surface.albedo.rgb * M_1OVER_PI_F;
//GGX specular
float3 F = F_Schlick(surface.f0, surface.f90, surfaceToLight.HdotV);
@ -238,7 +238,7 @@ float3 evaluateStandardBRDF(Surface surface, SurfaceToLight surfaceToLight)
if(isCapturing == 1)
return lerp(Fd + Fr,surface.baseColor.rgb,surface.metalness);
else
return Fd + Fr;
return Fd + Fr + surface.f0 * surface.ao;
}
float3 getDirectionalLight(Surface surface, SurfaceToLight surfaceToLight, float3 lightColor, float lightIntensity, float shadow)