public override void Unpack(string[] keywords) { snow = HasFeature(keywords, SnowDefineFeature._SNOW) ? SnowMode.Rich : SnowMode.None; if (HasFeature(keywords, SnowDefineFeature._SNOWSIMPLE)) { snow = SnowMode.Simple; } if (snow != SnowMode.None) { snowNormalNoise = HasFeature(keywords, SnowDefineFeature._SNOWNORMALNOISE); snowDistanceResample = HasFeature(keywords, SnowDefineFeature._SNOWDISTANCERESAMPLE); perTexSnow = HasFeature(keywords, SnowDefineFeature._PERTEXSNOWSTRENGTH) && snow == SnowMode.Rich; globalLevel = HasFeature(keywords, SnowDefineFeature._USEGLOBALSNOWLEVEL); globalHeight = HasFeature(keywords, SnowDefineFeature._USEGLOBALSNOWHEIGHT); snowSSS = HasFeature(keywords, SnowDefineFeature._SNOWSSS); snowMask = HasFeature(keywords, SnowDefineFeature._SNOWMASK); useWorldSpaceUV = HasFeature(keywords, SnowDefineFeature._SNOWWORLDSPACEUV); snowRim = HasFeature(keywords, SnowDefineFeature._SNOWRIM); snowSparkle = HasFeature(keywords, SnowDefineFeature._SNOWSPARKLE); #if __MICROSPLAT_TEXTURECLUSTERS__ snowStochastic = HasFeature(keywords, SnowDefineFeature._SNOWSTOCHASTIC); #endif } }
public override void DrawFeatureGUI(MicroSplatKeywords keywords) { snow = (SnowMode)EditorGUILayout.EnumPopup(CShaderSnow, snow); if (snow != SnowMode.None) { EditorGUI.indentLevel++; useWorldSpaceUV = EditorGUILayout.Toggle(CWorldSpaceUV, useWorldSpaceUV); snowNormalNoise = EditorGUILayout.Toggle(CShaderNormalNoise, snowNormalNoise); snowDistanceResample = EditorGUILayout.Toggle(CShaderSnowDistanceResample, snowDistanceResample); #if __MICROSPLAT_TEXTURECLUSTERS__ snowStochastic = EditorGUILayout.Toggle(CShaderSnowStochastic, snowStochastic); #endif snowRim = EditorGUILayout.Toggle(CSnowRim, snowRim); snowSSS = EditorGUILayout.Toggle(CShaderSnowSSS, snowSSS); snowSparkle = EditorGUILayout.Toggle(CSnowSparkle, snowSparkle); snowMask = EditorGUILayout.Toggle(CSnowMask, snowMask); EditorGUI.indentLevel--; } }