PageRenderTime 17ms CodeModel.GetById 13ms app.highlight 2ms 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
 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}