From be4c8a8ee8eaf892d008835225dfd897d259d793 Mon Sep 17 00:00:00 2001 From: yum Date: Wed, 30 Jul 2025 17:10:34 -0700 Subject: buncha shit - overhaul gradient normals to take a (dFy/dx, dFy/dz) input, and optionally two more: (dFx/dx, dFx/dz) and (dFz/dx, dFz/z) - this is what fft water needs - put YumPbr into data.cginc - fix tessellation compiler errors - remove tessellation frustum culling, seems to have been buggy - remove not impactful brdf code --- yum_brdf.cginc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'yum_brdf.cginc') diff --git a/yum_brdf.cginc b/yum_brdf.cginc index 2d07440..6a9031f 100644 --- a/yum_brdf.cginc +++ b/yum_brdf.cginc @@ -163,18 +163,16 @@ float4 YumBRDF(v2f i, const YumLighting light, YumPbr pbr) { const float3 f0 = lerp(dielectric_f0, pbr.albedo, pbr.metallic); const float3 dfg = PrefilteredDFG_LUT(pbr.roughness_perceptual, NoV); const float3 E = specularDFG(dfg, f0); - const float3 energy_compensation = energyCompensation(dfg, f0); + const float3 energy_compensation = energyCompensation(dfg, f0); // Compute specular ambient occlusion float diffuseAO = pbr.ao; - float specularAO = computeSpecularAO(NoV, diffuseAO * light.occlusion, pbr.roughness); - float3 specularSingleBounceAO = singleBounceAO(specularAO) * energy_compensation; // Use proper diffuse color calculation float3 diffuseColor = computeDiffuseColor(pbr.albedo, pbr.metallic); float3 Fd = diffuseColor * light.diffuse * (1.0 - E) * pbr.ao; - float3 Fr = E * light.specular * specularSingleBounceAO; + float3 Fr = E * light.specular; indirect_standard = Fr + Fd; } -- cgit v1.2.3