summaryrefslogtreecommitdiffstats
path: root/decal.cginc
diff options
context:
space:
mode:
Diffstat (limited to 'decal.cginc')
-rw-r--r--decal.cginc8
1 files changed, 8 insertions, 0 deletions
diff --git a/decal.cginc b/decal.cginc
index 7673bee..8492c74 100644
--- a/decal.cginc
+++ b/decal.cginc
@@ -68,6 +68,14 @@ void applyDecals(v2f i, inout Pbr pbr) {
pbr.albedo.rgb += lerp(0, albedo.rgb * pbr.albedo.rgb, albedo.a);
break;
}
+
+#if defined(_DECAL0_METALLIC_GLOSS)
+ float4 mg = decal_sample(_Decal0_Metallic_Gloss, uv, _Decal0_UV_Mode);
+ pbr.metallic = lerp(pbr.metallic, mg.r, albedo.a);
+ pbr.smoothness = lerp(pbr.smoothness, mg.a, albedo.a);
+ pbr.roughness_perceptual = clamp(1 - pbr.smoothness, MIN_PERCEPTUAL_ROUGHNESS, 1);
+ pbr.roughness = clamp(pbr.roughness_perceptual * pbr.roughness_perceptual, MIN_ROUGHNESS, 1);
+#endif // _DECAL0_METALLIC_GLOSS
}
#endif
}