diff options
| author | yum <yum.food.vr@gmail.com> | 2024-07-20 01:46:51 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2024-07-20 01:46:51 -0700 |
| commit | 6c1e463a846292a55cf10db772741cea657f298f (patch) | |
| tree | f04f1171ba478adf570094cdb0f16cd2dd393406 /tooner_lighting.cginc | |
| parent | 0592c85cd172369625e084be6b037f8c122cbf16 (diff) | |
Add second mask to matcaps
Useful for PBR overlay.
Diffstat (limited to 'tooner_lighting.cginc')
| -rw-r--r-- | tooner_lighting.cginc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tooner_lighting.cginc b/tooner_lighting.cginc index 68cfa57..650e66e 100644 --- a/tooner_lighting.cginc +++ b/tooner_lighting.cginc @@ -966,6 +966,15 @@ float4 effect(inout v2f i) #else float matcap_mask = 1; #endif +#if defined(_MATCAP0_MASK2) + { + float4 matcap_mask2_raw = _Matcap0_Mask2.SampleGrad(linear_repeat_s, i.uv.xy, iddx, iddy); + float matcap_mask2 = matcap_mask2_raw.r; + matcap_mask2 = (bool) round(_Matcap0_Mask2_Invert) ? 1 - matcap_mask2 : matcap_mask2; + matcap_mask2 *= matcap_mask2_raw.a; + matcap_mask *= matcap_mask2; + } +#endif int mode = round(_Matcap0Mode); switch (mode) { @@ -1019,6 +1028,15 @@ float4 effect(inout v2f i) #else float matcap_mask = 1; #endif +#if defined(_MATCAP1_MASK2) + { + float4 matcap_mask2_raw = _Matcap1_Mask2.SampleGrad(linear_repeat_s, i.uv.xy, iddx, iddy); + float matcap_mask2 = matcap_mask2_raw.r; + matcap_mask2 = (bool) round(_Matcap1_Mask2_Invert) ? 1 - matcap_mask2 : matcap_mask2; + matcap_mask2 *= matcap_mask2_raw.a; + matcap_mask *= matcap_mask2; + } +#endif int mode = round(_Matcap1Mode); switch (mode) { |
