/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
- using System.Collections.Generic;
-
- namespace Delta.Utilities.Graphics.ShaderFeatures
- {
- /// <summary>
- /// Interface for all ShaderFeatures.
- /// </summary>
- public interface IShaderFeature : ISaveLoadBinary
- {
- #region ShaderFeature (Public)
- /// <summary>
- /// Which shader feature flag is this ShaderFeature class using?
- /// Important for loading this file via ShaderData.LoadShaderFeature.
- /// Each flag should obviously only have one class for it!
- /// </summary>
- ShaderFeatureFlags ShaderFeature
- {
- get;
- }
- #endregion
-
- #region Parameters (Public)
- /// <summary>
- /// Parameters as a dictionary, will be generated on the fly when
- /// requested.
- /// </summary>
- Dictionary<string, object> Parameters
- {
- get;
- }
- #endregion
-
- #region RequiredShaderFeatures (Public)
- /// <summary>
- /// Which shader feature flags are required for this ShaderFeature.
- /// Very important for creating of a new ShaderFeature.
- /// </summary>
- ShaderFeatureFlags RequiredShaderFeatures
- {
- get;
- }
- #endregion
- }
- }