diff options
| -rw-r--r-- | brdf.cginc | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -87,7 +87,7 @@ float4 brdf(Pbr pbr, LightData data) { float3 direct_specular_cc = FDGc * data.direct.color * data.direct.NoL_cc * pbr.cc_strength; direct_specular_cc = max(0, direct_specular_cc); specular += direct_specular_cc; - remainder -= Fc; + remainder -= Fc * pbr.cc_strength; #endif float F = F_Schlick(data.direct.LoH, f0, f90); @@ -115,7 +115,7 @@ float4 brdf(Pbr pbr, LightData data) { float Fc = F_Schlick(data.indirect.LoH, cc_f0, f90); float3 indirect_specular_cc = Fc * data.indirect.specular_cc * pbr.cc_strength; specular += indirect_specular_cc; - remainder -= Fc; + remainder -= Fc * pbr.cc_strength; #endif float F = F_Schlick(data.indirect.LoH, f0, f90); @@ -124,7 +124,6 @@ float4 brdf(Pbr pbr, LightData data) { remainder -= F; float Fd = 1.0f; // Lambertian divide is baked into SH - remainder -= indirect_specular; float3 indirect_diffuse = Fd * remainder * pbr.albedo.xyz * data.indirect.diffuse; diffuse += indirect_diffuse; } |
