public override void DrawFeatureGUI(MicroSplatKeywords keywords)
 {
     grassMap  = EditorGUILayout.Toggle(CShaderGrassMap, grassMap);
     shadowMap = EditorGUILayout.Toggle(CShaderShadowMap, shadowMap);
     if (shadowMap)
     {
         EditorGUI.indentLevel++;
         shadowTapCount = (ShadowTapCount)EditorGUILayout.EnumPopup(CShaderTapCount, shadowTapCount);
         EditorGUI.indentLevel--;
     }
 }
        public override void Unpack(string[] keywords)
        {
            grassMap  = HasFeature(keywords, DefineFeature._VSGRASSMAP);
            shadowMap = HasFeature(keywords, DefineFeature._VSSHADOWMAP);

            shadowTapCount = ShadowTapCount.Medium;
            if (HasFeature(keywords, DefineFeature._VSSHADOWTAPNONE))
            {
                shadowTapCount = ShadowTapCount.None;
            }
            else if (HasFeature(keywords, DefineFeature._VSSHADOWTAPLOW))
            {
                shadowTapCount = ShadowTapCount.Low;
            }
            else if (HasFeature(keywords, DefineFeature._VSSHADOWTAPHIGH))
            {
                shadowTapCount = ShadowTapCount.High;
            }
        }