diff options
Diffstat (limited to 'brdf.cginc')
| -rwxr-xr-x | brdf.cginc | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -166,11 +166,13 @@ float4 brdf(Pbr pbr, LightData data) { remainder = saturate(remainder - indirect_specular_cc); #endif - // Standard split-sum IBL - float3 f0_spec = lerp(f0, pbr.albedo.xyz, pbr.metallic); - float3 ibl_specular_reflectance = lerp(dfg.xxx, dfg.yyy, f0_spec); + float3 base_color = lerp(1, pbr.albedo.xyz, pbr.metallic); + float3 specular_dfg = lerp(dfg.xxx, dfg.yyy, f0); + float3 ibl_specular_reflectance = specular_dfg * base_color; float3 indirect_specular = data.indirect.specular * ibl_specular_reflectance; + return float4(specular_dfg, 1); + specular += indirect_specular; remainder = saturate(remainder - indirect_specular); |
