/Utilities/Graphics/ShaderFeatures/IShaderFeature.cs
C# | 44 lines | 25 code | 3 blank | 16 comment | 0 complexity | d0314f0a17d1a69bcf6944fd243b0e10 MD5 | raw file
1using System.Collections.Generic; 2 3namespace Delta.Utilities.Graphics.ShaderFeatures 4{ 5 /// <summary> 6 /// Interface for all ShaderFeatures. 7 /// </summary> 8 public interface IShaderFeature : ISaveLoadBinary 9 { 10 #region ShaderFeature (Public) 11 /// <summary> 12 /// Which shader feature flag is this ShaderFeature class using? 13 /// Important for loading this file via ShaderData.LoadShaderFeature. 14 /// Each flag should obviously only have one class for it! 15 /// </summary> 16 ShaderFeatureFlags ShaderFeature 17 { 18 get; 19 } 20 #endregion 21 22 #region Parameters (Public) 23 /// <summary> 24 /// Parameters as a dictionary, will be generated on the fly when 25 /// requested. 26 /// </summary> 27 Dictionary<string, object> Parameters 28 { 29 get; 30 } 31 #endregion 32 33 #region RequiredShaderFeatures (Public) 34 /// <summary> 35 /// Which shader feature flags are required for this ShaderFeature. 36 /// Very important for creating of a new ShaderFeature. 37 /// </summary> 38 ShaderFeatureFlags RequiredShaderFeatures 39 { 40 get; 41 } 42 #endregion 43 } 44}