 
         [Enum(UnityEngine.Rendering.CullMode)]
         _Cull ("Culling Mode", Int) = 1  // Default: Front
+
+        // [ColorMask]
+        _ColorMask ("Color Mask", Int) = 15
 
         [Enum(Off, 0, On, 1)]
         _AlphaToMask ("Alpha To Mask", Int) = 0  // Default: Off

                // Lambertian reflectance.
                const float3 lightCol = _LightColor0.rgb * LIGHT_ATTENUATION(i);
                const float nDotL = saturate(dot(normal, lightDir));
#if defined(_DIFFUSEMODE_SQURED_HALF_LEMBERT)
                const float3 diffuse = lightCol * sq(nDotL * 0.5 + 0.5);
#elif defined(_DIFFUSEMODE_HALF_LEMBERT)
                const float3 diffuse = lightCol * (nDotL * 0.5 + 0.5);
#else
                const float3 diffuse = lightCol * nDotL;
#endif  // defined(_DIFFUSEMODE_SQURED_HALF_LEMBERT)

                // Specular reflection.
#ifdef _SPECULARMODE_HALF_VECTOR
                const float3 specular = pow(max(0.0, dot(normalize(lightDir + viewDir), normal)), _SpecularPower) * _SpecularColor.xyz * lightCol;
#else
                const float3 specular = pow(max(0.0, dot(reflect(-lightDir, normal), viewDir)), _SpecularPower) * _SpecularColor.xyz * lightCol;
#endif  // _SPECULARMODE_HALF_VECTOR

                // Ambient color.
#ifdef _AMBIENTMODE_SH9
                const float3 ambient = ShadeSH9(half4(normal, 1.0));
#else
                const float3 ambient = UNITY_LIGHTMODEL_AMBIENT.rgb;
#endif  // _AMBIENTMODE_SH9

#ifdef _ENABLE_REFLECTION_PROBE
                const half3 refDir = UnityObjectToWorldNormal(reflect(-viewDir, normal));
                const half4 refColor = getRefProbeColor(refDir);
                const float4 col = float4((diffuse + ambient) * lerp(_Color.rgb, refColor.rgb, _RefProbeBlendCoeff) + specular, _Color.a);
#else
                // Output color.

             */
            struct v2f
            {
                float4 vertex : SV_POSITION;
                float2 uv : TEXCOORD0;
                float3 pos : TEXCOORD1;
            };

            /*!
