summaryrefslogtreecommitdiffstats
path: root/lighting.cginc
diff options
context:
space:
mode:
Diffstat (limited to 'lighting.cginc')
-rw-r--r--lighting.cginc5
1 files changed, 4 insertions, 1 deletions
diff --git a/lighting.cginc b/lighting.cginc
index 4e5a61b..5f66b80 100644
--- a/lighting.cginc
+++ b/lighting.cginc
@@ -188,7 +188,10 @@ void GetLighting(v2f i, Pbr pbr, out LightData data) {
data.direct.color = lightColorIntensity.rgb * lightColorIntensity.w;
// Indirect lighting
- data.indirect.dir = -reflect(data.common.V, pbr.normal);
+ float3 reflect_dir = -reflect(data.common.V, pbr.normal);
+ float3 dominant_dir = getSpecularDominantDirection(pbr.normal, reflect_dir, pbr.roughness);
+
+ data.indirect.dir = normalize(dominant_dir);
data.indirect.H = normalize(data.common.V + data.indirect.dir);
data.indirect.NoL = saturate(dot(pbr.normal, data.indirect.dir));
data.indirect.NoH = saturate(dot(pbr.normal, data.indirect.H));