diff options
| author | yum <yum.food.vr@gmail.com> | 2025-02-01 19:15:58 -0800 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2025-02-01 19:15:58 -0800 |
| commit | fb26b02a20ef751cdd1832abc925b5e57bb2234b (patch) | |
| tree | 265f343a4b57e6345468ff5c37902fdd66a3764e /Editor/tooner.cs | |
| parent | 4bd9c2ba494013f292ddc14d793bc2b362aff365 (diff) | |
Implement surface stable fractal dithering
Diffstat (limited to 'Editor/tooner.cs')
| -rw-r--r-- | Editor/tooner.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Editor/tooner.cs b/Editor/tooner.cs index fab06e0..c7d89d4 100644 --- a/Editor/tooner.cs +++ b/Editor/tooner.cs @@ -3236,6 +3236,33 @@ public class ToonerGUI : ShaderGUI { EditorGUI.indentLevel -= 1; } + void DoSurfaceStableFractalDithering() { + MaterialProperty bc; + + bc = FindProperty("_Surface_Stable_Fractal_Dithering_Enable_Static"); + bool enabled = (bc.floatValue != 0.0); + EditorGUI.BeginChangeCheck(); + enabled = Toggle("Stable fractal dithering", enabled); + EditorGUI.EndChangeCheck(); + bc.floatValue = enabled ? 1.0f : 0.0f; + SetKeyword("_SURFACE_STABLE_FRACTAL_DITHERING", enabled); + + if (!enabled) { + return; + } + + EditorGUI.indentLevel += 1; + + bc = FindProperty("_Surface_Stable_Fractal_Dithering_Noise"); + TexturePropertySingleLine(MakeLabel(bc, "Noise"), bc); + bc = FindProperty("_Surface_Stable_Fractal_Dithering_Scale"); + FloatProperty(bc, "Scale"); + bc = FindProperty("_Surface_Stable_Fractal_Dithering_Max_Fwidth"); + FloatProperty(bc, "Max fwidth"); + + EditorGUI.indentLevel -= 1; + } + void DoGimmicks() { show_ui.Add(AddCollapsibleMenu("Gimmicks", "_Gimmicks")); EditorGUI.indentLevel += 1; @@ -3269,6 +3296,7 @@ public class ToonerGUI : ShaderGUI { DoGeoScroll(); DoGimmickEpilepsyMode(); DoLens00(); + DoSurfaceStableFractalDithering(); EditorGUI.indentLevel -= 1; show_ui.RemoveAt(show_ui.Count - 1); |
