diff options
| author | yum <yum.food.vr@gmail.com> | 2025-02-20 17:37:54 -0800 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2025-02-20 17:37:54 -0800 |
| commit | 36bd33d973f54f91f881cee87a234994d3fbd4eb (patch) | |
| tree | 589748f6ffeb010c2072a230fb2541234baf1abe /filamented.cginc | |
| parent | c1a5bf8f3687b604980d1275872f1320f1a39977 (diff) | |
Add specular quantization
Diffstat (limited to 'filamented.cginc')
| -rw-r--r-- | filamented.cginc | 7 |
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, |
