summaryrefslogtreecommitdiffstats
path: root/filamented.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-02-20 17:37:54 -0800
committeryum <yum.food.vr@gmail.com>2025-02-20 17:37:54 -0800
commit36bd33d973f54f91f881cee87a234994d3fbd4eb (patch)
tree589748f6ffeb010c2072a230fb2541234baf1abe /filamented.cginc
parentc1a5bf8f3687b604980d1275872f1320f1a39977 (diff)
Add specular quantization
Diffstat (limited to 'filamented.cginc')
-rw-r--r--filamented.cginc7
1 files changed, 6 insertions, 1 deletions
diff --git a/filamented.cginc b/filamented.cginc
index 9edfca5..9895361 100644
--- a/filamented.cginc
+++ b/filamented.cginc
@@ -343,7 +343,12 @@ half3 Unity_GlossyEnvironment_local (UNITY_ARGS_TEXCUBE(tex), half4 hdr, Unity_G
half3 R = glossIn.reflUVW;
half4 rgbm = UNITY_SAMPLE_TEXCUBE_LOD(tex, R, mip);
- return DecodeHDR(rgbm, hdr);
+ half3 color = DecodeHDR(rgbm, hdr);
+#if defined(_QUANTIZE_SPECULAR)
+ float luminance = dot(color, float3(0.2126, 0.7152, 0.0722)); // convert to luminance
+ color = color * floor(luminance * _Quantize_Specular_Steps) / _Quantize_Specular_Steps;
+#endif
+ return color;
}
inline half3 UnityGI_prefilteredRadiance(const UnityGIInput data,