summaryrefslogtreecommitdiffstats
path: root/lighting.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-11-11 15:47:16 -0800
committeryum <yum.food.vr@gmail.com>2025-11-11 15:47:16 -0800
commit5cbad6aa884ee4c77f6af65cdfceac987f54a227 (patch)
tree0648d2c763841919f7597d94da4a292f106e8ccb /lighting.cginc
parenta9d68542ce0dede3a9759107b7ae76bedfa62c1e (diff)
add clearcoat mask
Diffstat (limited to 'lighting.cginc')
-rw-r--r--lighting.cginc6
1 files changed, 5 insertions, 1 deletions
diff --git a/lighting.cginc b/lighting.cginc
index 17f1a0a..8276b8c 100644
--- a/lighting.cginc
+++ b/lighting.cginc
@@ -163,6 +163,10 @@ void GetLighting(v2f i, Pbr pbr, out LightData data) {
float3 view_dir = normalize(i.eyeVec.xyz);
+#if defined(_CLEARCOAT_MASK)
+ float cc_mask = _Clearcoat_Mask.Sample(bilinear_clamp_s, i.uv01.xy).r;
+#endif
+
data.common.V = -view_dir;
data.common.N = pbr.normal;
data.common.NoV = saturate(dot(pbr.normal, data.common.V));
@@ -205,7 +209,7 @@ void GetLighting(v2f i, Pbr pbr, out LightData data) {
data.indirect.diffuse = getIndirectDiffuse(i, pbr, data.indirect);
data.indirect.specular = getIndirectSpecular(i, pbr.roughness, view_dir, data.indirect.dir);
#if defined(_CLEARCOAT)
- data.indirect.specular_cc = getIndirectSpecular(i, pbr.cc_roughness, view_dir, dir_cc);
+ data.indirect.specular_cc = getIndirectSpecular(i, pbr.cc_roughness, view_dir, dir_cc) * cc_mask;
#endif
}