diff options
| -rw-r--r-- | Editor/tooner.cs | 35 | ||||
| -rw-r--r-- | feature_macros.cginc | 82 | ||||
| -rw-r--r-- | globals.cginc | 7 | ||||
| -rw-r--r-- | tooner.shader | 193 | ||||
| -rw-r--r-- | tooner_lighting.cginc | 23 |
5 files changed, 156 insertions, 184 deletions
diff --git a/Editor/tooner.cs b/Editor/tooner.cs index 71e7271..d806f88 100644 --- a/Editor/tooner.cs +++ b/Editor/tooner.cs @@ -684,6 +684,36 @@ public class ToonerGUI : ShaderGUI { } } + void DoGimmicks() { + MaterialProperty bc; + bc = FindProperty("_Gimmick_Flat_Color_Enable_Static"); + bool enabled = (bc.floatValue != 0.0); + EditorGUI.BeginChangeCheck(); + enabled = EditorGUILayout.Toggle("Flat color", enabled); + EditorGUI.EndChangeCheck(); + bc.floatValue = enabled ? 1.0f : 0.0f; + SetKeyword("_GIMMICK_FLAT_COLOR", enabled); + + if (!enabled) { + return; + } + + EditorGUI.indentLevel += 1; + EditorGUI.indentLevel -= 1; + + bc = FindProperty("_Gimmick_Flat_Color_Enable_Dynamic"); + enabled = (bc.floatValue != 0.0); + EditorGUI.BeginChangeCheck(); + enabled = EditorGUILayout.Toggle("Enable (runtime switch)", enabled); + EditorGUI.EndChangeCheck(); + bc.floatValue = enabled ? 1.0f : 0.0f; + + bc = FindProperty("_Gimmick_Flat_Color_Color"); + editor.ColorProperty(bc, "Color"); + bc = FindProperty("_Gimmick_Flat_Color_Emission"); + editor.ColorProperty(bc, "Emission"); + } + enum RenderingMode { Opaque, Cutout, @@ -938,6 +968,11 @@ public class ToonerGUI : ShaderGUI { DoClones(); EditorGUI.indentLevel -= 1; + GUILayout.Label("Gimmicks", EditorStyles.boldLabel); + EditorGUI.indentLevel += 1; + DoGimmicks(); + EditorGUI.indentLevel -= 1; + GUILayout.Label("Rendering", EditorStyles.boldLabel); EditorGUI.indentLevel += 1; DoRendering(); diff --git a/feature_macros.cginc b/feature_macros.cginc new file mode 100644 index 0000000..5729b48 --- /dev/null +++ b/feature_macros.cginc @@ -0,0 +1,82 @@ +#ifndef __FEATURE_MACROS_INC +#define __FEATURE_MACROS_INC + +#pragma shader_feature_local _ _BASECOLOR_MAP +#pragma shader_feature_local _ _NORMAL_MAP +#pragma shader_feature_local _ _METALLIC_MAP +#pragma shader_feature_local _ _ROUGHNESS_MAP +#pragma shader_feature_local _ _CUBEMAP +#pragma shader_feature_local _ _EMISSION +#pragma shader_feature_local _ _RENDERING_CUTOUT +#pragma shader_feature_local _ _RENDERING_CUTOUT_STOCHASTIC +#pragma shader_feature_local _ _RENDERING_FADE +#pragma shader_feature_local _ _RENDERING_TRANSPARENT +#pragma shader_feature_local _ _RENDERING_TRANSCLIPPING +#pragma shader_feature_local _ _OUTLINES +#pragma shader_feature_local _ _GLITTER +#pragma shader_feature_local _ _EXPLODE +#pragma shader_feature_local _ _SCROLL +#pragma shader_feature_local _ _UVSCROLL +#pragma shader_feature_local _ _MATCAP0 +#pragma shader_feature_local _ _MATCAP0_MASK +#pragma shader_feature_local _ _MATCAP1 +#pragma shader_feature_local _ _MATCAP1_MASK +#pragma shader_feature_local _ _RIM_LIGHTING0 +#pragma shader_feature_local _ _RIM_LIGHTING0_MASK +#pragma shader_feature_local _ _RIM_LIGHTING1 +#pragma shader_feature_local _ _RIM_LIGHTING1_MASK +#pragma shader_feature_local _ _OKLAB +#pragma shader_feature_local _ _CLONES +#pragma shader_feature_local _ _PBR_OVERLAY0 +#pragma shader_feature_local _ _PBR_OVERLAY0_BASECOLOR_MAP +#pragma shader_feature_local _ _PBR_OVERLAY0_EMISSION_MAP +#pragma shader_feature_local _ _PBR_OVERLAY0_NORMAL_MAP +#pragma shader_feature_local _ _PBR_OVERLAY0_ROUGHNESS_MAP +#pragma shader_feature_local _ _PBR_OVERLAY0_METALLIC_MAP +#pragma shader_feature_local _ _PBR_OVERLAY0_MASK +#pragma shader_feature_local _ _PBR_OVERLAY0_MIX_ALPHA_BLEND +#pragma shader_feature_local _ _PBR_OVERLAY0_MIX_ADD +#pragma shader_feature_local _ _PBR_OVERLAY0_MIX_MIN +#pragma shader_feature_local _ _PBR_OVERLAY0_MIX_MAX +#pragma shader_feature_local _ _PBR_OVERLAY1 +#pragma shader_feature_local _ _PBR_OVERLAY1_BASECOLOR_MAP +#pragma shader_feature_local _ _PBR_OVERLAY1_EMISSION_MAP +#pragma shader_feature_local _ _PBR_OVERLAY1_NORMAL_MAP +#pragma shader_feature_local _ _PBR_OVERLAY1_ROUGHNESS_MAP +#pragma shader_feature_local _ _PBR_OVERLAY1_METALLIC_MAP +#pragma shader_feature_local _ _PBR_OVERLAY1_MASK +#pragma shader_feature_local _ _PBR_OVERLAY1_MIX_ALPHA_BLEND +#pragma shader_feature_local _ _PBR_OVERLAY1_MIX_ADD +#pragma shader_feature_local _ _PBR_OVERLAY1_MIX_MIN +#pragma shader_feature_local _ _PBR_OVERLAY1_MIX_MAX +#pragma shader_feature_local _ _PBR_OVERLAY2 +#pragma shader_feature_local _ _PBR_OVERLAY2_BASECOLOR_MAP +#pragma shader_feature_local _ _PBR_OVERLAY2_EMISSION_MAP +#pragma shader_feature_local _ _PBR_OVERLAY2_NORMAL_MAP +#pragma shader_feature_local _ _PBR_OVERLAY2_ROUGHNESS_MAP +#pragma shader_feature_local _ _PBR_OVERLAY2_METALLIC_MAP +#pragma shader_feature_local _ _PBR_OVERLAY2_MASK +#pragma shader_feature_local _ _PBR_OVERLAY2_MIX_ALPHA_BLEND +#pragma shader_feature_local _ _PBR_OVERLAY2_MIX_ADD +#pragma shader_feature_local _ _PBR_OVERLAY2_MIX_MIN +#pragma shader_feature_local _ _PBR_OVERLAY2_MIX_MAX +#pragma shader_feature_local _ _PBR_OVERLAY3 +#pragma shader_feature_local _ _PBR_OVERLAY3_BASECOLOR_MAP +#pragma shader_feature_local _ _PBR_OVERLAY3_EMISSION_MAP +#pragma shader_feature_local _ _PBR_OVERLAY3_NORMAL_MAP +#pragma shader_feature_local _ _PBR_OVERLAY3_ROUGHNESS_MAP +#pragma shader_feature_local _ _PBR_OVERLAY3_METALLIC_MAP +#pragma shader_feature_local _ _PBR_OVERLAY3_MASK +#pragma shader_feature_local _ _PBR_OVERLAY3_MIX_ALPHA_BLEND +#pragma shader_feature_local _ _PBR_OVERLAY3_MIX_ADD +#pragma shader_feature_local _ _PBR_OVERLAY3_MIX_MIN +#pragma shader_feature_local _ _PBR_OVERLAY3_MIX_MAX +#pragma shader_feature_local _ _LTCGI +#pragma shader_feature_local _ _TESSELLATION +#pragma shader_feature_local _ _MATCAP0_DISTORTION0 +#pragma shader_feature_local _ _MATCAP1_DISTORTION0 +#pragma shader_feature_local _ _AMBIENT_OCCLUSION +#pragma shader_feature_local _ _GIMMICK_FLAT_COLOR + +#endif // __FEATURE_MACROS_INC + diff --git a/globals.cginc b/globals.cginc index 6c3d51f..b283afb 100644 --- a/globals.cginc +++ b/globals.cginc @@ -236,5 +236,12 @@ float4 _LTCGI_SpecularColor; float4 _LTCGI_DiffuseColor; #endif +#if defined(_GIMMICK_FLAT_COLOR) +float _Gimmick_Flat_Color_Enable_Static; +float _Gimmick_Flat_Color_Enable_Dynamic; +float4 _Gimmick_Flat_Color_Color; +float3 _Gimmick_Flat_Color_Emission; +#endif + #endif diff --git a/tooner.shader b/tooner.shader index d03d53e..d21890f 100644 --- a/tooner.shader +++ b/tooner.shader @@ -189,6 +189,11 @@ Shader "yum_food/tooner" _Shadow_Strength("Shadows strength", Range(0, 1)) = 1.0 _Mip_Multiplier("Mipmap multiplier", Float) = 1.0 + + _Gimmick_Flat_Color_Enable_Static("Enable flat color gimmick", Float) = 0.0 + _Gimmick_Flat_Color_Enable_Dynamic("Enable flat color gimmick", Float) = 0.0 + _Gimmick_Flat_Color_Color("Flat color gimmick color", Color) = (0, 0, 0, 1) + _Gimmick_Flat_Color_Emission("Flat color gimmick emission", Color) = (0, 0, 0, 1) } SubShader { @@ -216,82 +221,8 @@ Shader "yum_food/tooner" #pragma target 5.0 #pragma multi_compile _ VERTEXLIGHT_ON SHADOWS_SCREEN - #pragma shader_feature_local _ _BASECOLOR_MAP - #pragma shader_feature_local _ _NORMAL_MAP - #pragma shader_feature_local _ _METALLIC_MAP - #pragma shader_feature_local _ _ROUGHNESS_MAP - #pragma shader_feature_local _ _CUBEMAP - #pragma shader_feature_local _ _EMISSION - //#pragma shader_feature_local _ _SHADING_MODE_FLAT - #pragma shader_feature_local _ _RENDERING_CUTOUT - #pragma shader_feature_local _ _RENDERING_CUTOUT_STOCHASTIC - #pragma shader_feature_local _ _RENDERING_FADE - #pragma shader_feature_local _ _RENDERING_TRANSPARENT - #pragma shader_feature_local _ _RENDERING_TRANSCLIPPING - #pragma shader_feature_local _ _OUTLINES - #pragma shader_feature_local _ _GLITTER - #pragma shader_feature_local _ _EXPLODE - #pragma shader_feature_local _ _SCROLL - #pragma shader_feature_local _ _UVSCROLL - #pragma shader_feature_local _ _MATCAP0 - #pragma shader_feature_local _ _MATCAP0_MASK - #pragma shader_feature_local _ _MATCAP1 - #pragma shader_feature_local _ _MATCAP1_MASK - #pragma shader_feature_local _ _RIM_LIGHTING0 - #pragma shader_feature_local _ _RIM_LIGHTING0_MASK - #pragma shader_feature_local _ _RIM_LIGHTING1 - #pragma shader_feature_local _ _RIM_LIGHTING1_MASK - #pragma shader_feature_local _ _OKLAB - #pragma shader_feature_local _ _CLONES - #pragma shader_feature_local _ _PBR_OVERLAY0 - #pragma shader_feature_local _ _PBR_OVERLAY0_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_MASK - #pragma shader_feature_local _ _PBR_OVERLAY0_MIX_ALPHA_BLEND - #pragma shader_feature_local _ _PBR_OVERLAY0_MIX_ADD - #pragma shader_feature_local _ _PBR_OVERLAY0_MIX_MIN - #pragma shader_feature_local _ _PBR_OVERLAY0_MIX_MAX - #pragma shader_feature_local _ _PBR_OVERLAY1 - #pragma shader_feature_local _ _PBR_OVERLAY1_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_MASK - #pragma shader_feature_local _ _PBR_OVERLAY1_MIX_ALPHA_BLEND - #pragma shader_feature_local _ _PBR_OVERLAY1_MIX_ADD - #pragma shader_feature_local _ _PBR_OVERLAY1_MIX_MIN - #pragma shader_feature_local _ _PBR_OVERLAY1_MIX_MAX - #pragma shader_feature_local _ _PBR_OVERLAY2 - #pragma shader_feature_local _ _PBR_OVERLAY2_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_MASK - #pragma shader_feature_local _ _PBR_OVERLAY2_MIX_ALPHA_BLEND - #pragma shader_feature_local _ _PBR_OVERLAY2_MIX_ADD - #pragma shader_feature_local _ _PBR_OVERLAY2_MIX_MIN - #pragma shader_feature_local _ _PBR_OVERLAY2_MIX_MAX - #pragma shader_feature_local _ _PBR_OVERLAY3 - #pragma shader_feature_local _ _PBR_OVERLAY3_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_MASK - #pragma shader_feature_local _ _PBR_OVERLAY3_MIX_ALPHA_BLEND - #pragma shader_feature_local _ _PBR_OVERLAY3_MIX_ADD - #pragma shader_feature_local _ _PBR_OVERLAY3_MIX_MIN - #pragma shader_feature_local _ _PBR_OVERLAY3_MIX_MAX - #pragma shader_feature_local _ _LTCGI - #pragma shader_feature_local _ _TESSELLATION - #pragma shader_feature_local _ _MATCAP0_DISTORTION0 - #pragma shader_feature_local _ _MATCAP1_DISTORTION0 - #pragma shader_feature_local _ _AMBIENT_OCCLUSION + + #include "feature_macros.cginc" #pragma vertex vert //#pragma vertex hull_vertex @@ -321,66 +252,7 @@ Shader "yum_food/tooner" #pragma multi_compile_fwdadd_fullshadows #pragma multi_compile DIRECTIONAL DIRECTIONAL_COOKIE POINT SPOT - #pragma shader_feature_local _BASECOLOR_MAP - #pragma shader_feature_local _NORMAL_MAP - #pragma shader_feature_local _METALLIC_MAP - #pragma shader_feature_local _ROUGHNESS_MAP - #pragma shader_feature_local _CUBEMAP - #pragma shader_feature_local _ _EMISSION - //#pragma shader_feature_local _SHADING_MODE_FLAT - #pragma shader_feature_local _RENDERING_CUTOUT - #pragma shader_feature_local _RENDERING_CUTOUT_STOCHASTIC - #pragma shader_feature_local _RENDERING_FADE - #pragma shader_feature_local _RENDERING_TRANSPARENT - #pragma shader_feature_local _RENDERING_TRANSCLIPPING - #pragma shader_feature_local _OUTLINES - #pragma shader_feature_local _GLITTER - #pragma shader_feature_local _EXPLODE - #pragma shader_feature_local _SCROLL - #pragma shader_feature_local _UVSCROLL - #pragma shader_feature_local _MATCAP0 - #pragma shader_feature_local _ _MATCAP0_MASK - #pragma shader_feature_local _MATCAP1 - #pragma shader_feature_local _ _MATCAP1_MASK - #pragma shader_feature_local _ _RIM_LIGHTING0 - #pragma shader_feature_local _ _RIM_LIGHTING0_MASK - #pragma shader_feature_local _ _RIM_LIGHTING1 - #pragma shader_feature_local _ _RIM_LIGHTING1_MASK - #pragma shader_feature_local _ _OKLAB - #pragma shader_feature_local _ _CLONES - #pragma shader_feature_local _ _PBR_OVERLAY0 - #pragma shader_feature_local _ _PBR_OVERLAY0_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_MASK - #pragma shader_feature_local _ _PBR_OVERLAY1 - #pragma shader_feature_local _ _PBR_OVERLAY1_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_MASK - #pragma shader_feature_local _ _PBR_OVERLAY2 - #pragma shader_feature_local _ _PBR_OVERLAY2_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_MASK - #pragma shader_feature_local _ _PBR_OVERLAY3 - #pragma shader_feature_local _ _PBR_OVERLAY3_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_MASK - #pragma shader_feature_local _ _LTCGI - #pragma shader_feature_local _ _TESSELLATION - #pragma shader_feature_local _ _MATCAP0_DISTORTION0 - #pragma shader_feature_local _ _MATCAP1_DISTORTION0 - #pragma shader_feature_local _ _AMBIENT_OCCLUSION + #include "feature_macros.cginc" #pragma vertex vert //#pragma vertex hull_vertex @@ -406,54 +278,7 @@ Shader "yum_food/tooner" CGPROGRAM #pragma target 5.0 - #pragma shader_feature_local _BASECOLOR_MAP - #pragma shader_feature_local _RENDERING_CUTOUT - #pragma shader_feature_local _RENDERING_CUTOUT_STOCHASTIC - #pragma shader_feature_local _OUTLINES - #pragma shader_feature_local _EXPLODE - #pragma shader_feature_local _ _SCROLL - #pragma shader_feature_local _ _UVSCROLL - #pragma shader_feature_local _MATCAP0 - #pragma shader_feature_local _ _MATCAP0_MASK - #pragma shader_feature_local _MATCAP1 - #pragma shader_feature_local _ _MATCAP1_MASK - #pragma shader_feature_local _ _RIM_LIGHTING0 - #pragma shader_feature_local _ _RIM_LIGHTING0_MASK - #pragma shader_feature_local _ _RIM_LIGHTING1 - #pragma shader_feature_local _ _RIM_LIGHTING1_MASK - #pragma shader_feature_local _ _OKLAB - #pragma shader_feature_local _ _CLONES - #pragma shader_feature_local _ _PBR_OVERLAY0 - #pragma shader_feature_local _ _PBR_OVERLAY0_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY0_MASK - #pragma shader_feature_local _ _PBR_OVERLAY1 - #pragma shader_feature_local _ _PBR_OVERLAY1_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY1_MASK - #pragma shader_feature_local _ _PBR_OVERLAY2 - #pragma shader_feature_local _ _PBR_OVERLAY2_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY2_MASK - #pragma shader_feature_local _ _PBR_OVERLAY3 - #pragma shader_feature_local _ _PBR_OVERLAY3_BASECOLOR_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_EMISSION_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_NORMAL_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_ROUGHNESS_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_METALLIC_MAP - #pragma shader_feature_local _ _PBR_OVERLAY3_MASK - #pragma shader_feature_local _ _LTCGI - #pragma shader_feature_local _ _TESSELLATION - #pragma shader_feature_local _ _AMBIENT_OCCLUSION + #include "feature_macros.cginc" #pragma vertex vert //#pragma vertex hull_vertex diff --git a/tooner_lighting.cginc b/tooner_lighting.cginc index 2a8a75d..ab90525 100644 --- a/tooner_lighting.cginc +++ b/tooner_lighting.cginc @@ -885,9 +885,32 @@ float4 effect(inout v2f i) float ao = 1; #endif +#if defined(_GIMMICK_FLAT_COLOR) + if (round(_Gimmick_Flat_Color_Enable_Dynamic)) { + albedo = _Gimmick_Flat_Color_Color; + normal = i.normal; + } +#endif + float4 lit = getLitColor(vertex_light_color, albedo, i.worldPos, normal, metallic, 1.0 - roughness, i.uv, ao, i); +#if defined(_GIMMICK_FLAT_COLOR) + if (round(_Gimmick_Flat_Color_Enable_Dynamic)) { +#if defined(_RENDERING_CUTOUT) +#if defined(_RENDERING_CUTOUT_STOCHASTIC) + float ar = rand2(i.uv); + clip(albedo.a - ar); +#else + clip(albedo.a - _Alpha_Cutoff); +#endif + albedo.a = 1; +#endif + + return float4(lit.rgb + _Gimmick_Flat_Color_Emission, albedo.a); + } +#endif + float4 result = lit; #if defined(_MATCAP0) || defined(_MATCAP1) || defined(_RIM_LIGHTING0) || defined(_RIM_LIGHTING1) result.rgb += matcap_emission; |
