summaryrefslogtreecommitdiffstats
path: root/Editor/tooner.cs
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-02-01 19:15:58 -0800
committeryum <yum.food.vr@gmail.com>2025-02-01 19:15:58 -0800
commitfb26b02a20ef751cdd1832abc925b5e57bb2234b (patch)
tree265f343a4b57e6345468ff5c37902fdd66a3764e /Editor/tooner.cs
parent4bd9c2ba494013f292ddc14d793bc2b362aff365 (diff)
Implement surface stable fractal dithering
Diffstat (limited to 'Editor/tooner.cs')
-rw-r--r--Editor/tooner.cs28
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);