summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-11-09 16:48:23 -0800
committeryum <yum.food.vr@gmail.com>2024-11-09 16:48:39 -0800
commit82b3aa6059d6c118c6fd617be49ee6f070e153a0 (patch)
tree665971fe1a433e58f9484bbb1ecadf910a3cd8ef
parentc5d3fb245c692e238250a46afa60564ab4cf5eb1 (diff)
Add seed to interleaved gradient noise cutout
-rw-r--r--Editor/tooner.cs3
-rw-r--r--globals.cginc3
-rw-r--r--tooner.shader1
-rw-r--r--tooner_lighting.cginc2
4 files changed, 8 insertions, 1 deletions
diff --git a/Editor/tooner.cs b/Editor/tooner.cs
index 953f5c5..df3fa9d 100644
--- a/Editor/tooner.cs
+++ b/Editor/tooner.cs
@@ -2510,6 +2510,9 @@ public class ToonerGUI : ShaderGUI {
TexturePropertySingleLine(
MakeLabel(bc, "Noise mask"),
bc);
+ } else if (cmode == CutoutMode.InterleavedGradientNoise) {
+ bc = FindProperty("_Rendering_Cutout_Ign_Seed");
+ FloatProperty(bc, "Seed");
}
EditorGUI.indentLevel -= 1;
}
diff --git a/globals.cginc b/globals.cginc
index 1a995e8..0e8da7b 100644
--- a/globals.cginc
+++ b/globals.cginc
@@ -317,6 +317,9 @@ float _Ambient_Occlusion_Strength;
#if defined(_RENDERING_CUTOUT)
float _Alpha_Cutoff;
+#if defined(_RENDERING_CUTOUT_IGN)
+float _Rendering_Cutout_Ign_Seed;
+#endif
#endif
#if defined(_OUTLINES)
diff --git a/tooner.shader b/tooner.shader
index fa7a46a..e47f35c 100644
--- a/tooner.shader
+++ b/tooner.shader
@@ -205,6 +205,7 @@ Shader "yum_food/tooner"
[MaterialToggle] _Confabulate_Normals("Confabulate mesh normals", Float) = 0.0
_Alpha_Cutoff("Alpha cutoff", Range(0, 1)) = 0.5
+ _Rendering_Cutout_Ign_Seed("IGN seed", Float) = 0
_Outline_Width("Outline width", Range(0, 0.1)) = 0.01
_Outline_Color("Outline color", Color) = (0, 0, 0, 1)
diff --git a/tooner_lighting.cginc b/tooner_lighting.cginc
index 56c37f7..243393a 100644
--- a/tooner_lighting.cginc
+++ b/tooner_lighting.cginc
@@ -1789,7 +1789,7 @@ float4 effect(inout v2f i, out float depth)
float ar = rand2(i.uv0);
clip(albedo.a - ar);
#elif defined(_RENDERING_CUTOUT_IGN)
- float ar = ign_anim(tdata.screen_uv_round);
+ float ar = ign_anim(tdata.screen_uv_round+_Rendering_Cutout_Ign_Seed);
clip(albedo.a - ar);
#elif defined(_RENDERING_CUTOUT_NOISE_MASK)
float ar = _Rendering_Cutout_Noise_Mask.SampleLevel(point_repeat_s, tdata.screen_uv * _ScreenParams.xy * _Rendering_Cutout_Noise_Mask_TexelSize.xy, 0);