     Properties
     {
         _MainTex ("Main texture", 2D) = "white" {}
+
         _Color ("Multiplicative color for _MainTex", Color) = (1.0, 1.0, 1.0, 1.0)
 
         _EmissionTex ("Emission texture", 2D) = "white" {}
-        [HDR] _EmissionColor ("Multiplicative color for _EmissionTex", Color) = (0.0, 0.0, 0.0, 1.0)
+
+        [HDR]
+        _EmissionColor ("Multiplicative color for _EmissionTex", Color) = (0.0, 0.0, 0.0, 1.0)
+
+
+        [Enum(UnityEngine.Rendering.CullMode)]
+        _Cull("Culling Mode", Int) = 2  // Default: Back
+
+        [HideInInspector]
+        _RenderingMode("Rendering Mode", Int) = 2
 
         [Toggle]
-        _EnableFog ("Enable Fog", Float) = 1
+        _AlphaTest("Alpha test", Int) = 0
 
-        [Enum(UnityEngine.Rendering.CullMode)]
-        _Cull("Cull", Float) = 2  // Default: Back
+        _Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5
+
+        [Enum(UnityEngine.Rendering.BlendMode)]
+        _SrcBlend("Blend Source Factor", Int) = 5  // Default: SrcAlpha
+
+        [Enum(UnityEngine.Rendering.BlendMode)]
+        _DstBlend("Blend Destination Factor", Int) = 10  // Default: OneMinusSrcAlpha
+
+        [Enum(UnityEngine.Rendering.BlendMode)]
+        _SrcBlendAlpha("Blend Source Factor", Int) = 5  // Default: SrcAlpha
+
+        [Enum(UnityEngine.Rendering.BlendMode)]
+        _DstBlendAlpha("Blend Destination Factor", Int) = 10  // Default: OneMinusSrcAlpha
+
+        [Enum(UnityEngine.Rendering.BlendOp)]
+        _BlendOp("BlendOp", Int) = 0  // Default: Add
+
+        [Enum(UnityEngine.Rendering.BlendOp)]
+        _BlendOpAlpha("BlendOpAlpha", Int) = 0  // Default: Add
+
+        [Enum(Off, 0, On, 1)]
+        _ZWrite("ZWrite", Int) = 0  // Default: Off
 
         [Enum(UnityEngine.Rendering.CompareFunction)]
-        _ZTest("ZTest", Float) = 4  // Default: LEqual
+        _ZTest("ZTest", Int) = 4  // Default: LEqual
+
+        [Enum(2D, 0, 3D, 1)]
+        _OffsetFact("Offset Factor", Int) = 0
+
+        _OffsetUnit("Offset Units", Range(-100, 100)) = 0
+
+        Enum(None, 0, A, 1, B, 2, BA, 3, G, 4, GA, 5, GB, 6, GBA, 7, R, 8, RA, 9, RB,10, RBA, 11, RG, 12, RGA, 13, RGB, 14, RGBA, 15)
+        _ColorMask("Color Mask", Int) = 15
 
         [Enum(Off, 0, On, 1)]
-        _ZWrite("ZWrite", Float) = 0  // Default: Off
+        _AlphaToMask("Alpha To Mask", Int) = 0  // Default: Off
 
-        [Enum(UnityEngine.Rendering.BlendMode)]
-        _SrcFactor("Src Factor", Float) = 5  // Default: SrcAlpha
 
-        [Enum(UnityEngine.Rendering.BlendMode)]
-        _DstFactor("Dst Factor", Float) = 10  // Default: OneMinusSrcAlpha
+        [IntRange]
+        _StencilRef("Stencil Reference Value", Range(0, 255)) = 0
+
+        [IntRange]
+        _StencilReadMask("Stencil ReadMask Value", Range(0, 255)) = 255
+
+        [IntRange]
+        _StencilWriteMask("Stencil WriteMask Value", Range(0, 255)) = 255
+
+        [Enum(UnityEngine.Rendering.CompareFunction)]
+        _StencilCompFunc("Stencil Compare Function", Int) = 8  // Default: Always
+
+        [Enum(UnityEngine.Rendering.StencilOp)]
+        _StencilPass("Stencil Pass", Int) = 0  // Default: Keep
+
+        [Enum(UnityEngine.Rendering.StencilOp)]
+        _StencilFail("Stencil Fail", Int) = 0  // Default: Keep
+
+        [Enum(UnityEngine.Rendering.StencilOp)]
+        _StencilZFail("Stencil ZFail", Int) = 0  // Default: Keep
     }
 
     SubShader

            {
                float4 vertex : SV_POSITION;
                float2 uv : TEXCOORD0;
#ifdef _ENABLEFOG_ON
                UNITY_FOG_COORDS(1)
#endif  // _ENABLEFOG_ON
            };



                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = v.uv;
                UNITY_TRANSFER_FOG(o, o.vertex);
                return o;
            }

