PageRenderTime 48ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/Utilities/Graphics/ShaderFeatures/IShaderFeature.cs

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