Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
LightingKeys.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using SiliconStudio.Core;
4 using SiliconStudio.Paradox.Shaders;
5 
6 namespace SiliconStudio.Paradox.Effects
7 {
8  /// <summary>
9  /// Keys used for lighting.
10  /// </summary>
11  [DataContract]
12  public partial class LightingKeys : ShaderMixinParameters
13  {
14  /// <summary>
15  /// Maximum number of directional lights.
16  /// </summary>
17  /// <userdoc>
18  /// Maximum number of supported directional lights.
19  /// </userdoc>
20  public static readonly ParameterKey<int> MaxDirectionalLights = ParameterKeys.New(0);
21 
22  /// <summary>
23  /// Maximum number of point lights.
24  /// </summary>
25  /// <userdoc>
26  /// Maximum number of supported point lights.
27  /// </userdoc>
28  public static readonly ParameterKey<int> MaxPointLights = ParameterKeys.New(0);
29 
30  /// <summary>
31  /// Maximum number of spot lights.
32  /// </summary>
33  /// <userdoc>
34  /// Maximum number of supported spot lights.
35  /// </userdoc>
36  public static readonly ParameterKey<int> MaxSpotLights = ParameterKeys.New(0);
37 
38  /// <summary>
39  /// A flag stating if directional light loop should be unrolled.
40  /// </summary>
41  /// <userdoc>
42  /// When checked, the effect will support exactly the set number of directional lights.
43  /// </userdoc>
44  public static readonly ParameterKey<bool> UnrollDirectionalLightLoop = ParameterKeys.New(false);
45 
46  /// <summary>
47  /// A flag stating if point light loop should be unrolled.
48  /// </summary>
49  /// <userdoc>
50  /// When checked, the effect will support exactly the set number of point lights.
51  /// </userdoc>
52  public static readonly ParameterKey<bool> UnrollPointLightLoop = ParameterKeys.New(false);
53 
54  /// <summary>
55  /// A flag stating if spot light loop should be unrolled.
56  /// </summary>
57  /// <userdoc>
58  /// When checked, the effect will support exactly the set number of spot lights.
59  /// </userdoc>
60  public static readonly ParameterKey<bool> UnrollSpotLightLoop = ParameterKeys.New(false);
61 
62  /// <summary>
63  /// Flag stating if the mesh casts shadows.
64  /// </summary>
65  /// <userdoc>
66  /// When checked, the mesh will cast shadows.
67  /// </userdoc>
68  public static readonly ParameterKey<bool> CastShadows = ParameterKeys.New(true);
69 
70  /// <summary>
71  /// Flag stating if the mesh receives shadows.
72  /// </summary>
73  /// <userdoc>
74  /// When checked, the mesh will receive shadows.
75  /// </userdoc>
76  public static readonly ParameterKey<bool> ReceiveShadows = ParameterKeys.New(true);
77 
78  /// <summary>
79  /// Supported lighting configurations.
80  /// </summary>
81  /// <userdoc>
82  /// The supported lighting configurations.
83  /// </userdoc>
84  public static readonly ParameterKey<LightingConfigurationsSet> LightingConfigurations = ParameterKeys.New<LightingConfigurationsSet>();
85 
86  /// <summary>
87  /// Maximum number of deferred lights.
88  /// </summary>
89  /// <userdoc>
90  /// Maximum number of deferred point lights.
91  /// </userdoc>
92  public static readonly ParameterKey<int> MaxDeferredLights = ParameterKeys.New(64);
93 
94  /// <summary>
95  /// A flag stating if deferred light loop should be unrolled.
96  /// </summary>
97  /// <userdoc>
98  /// When checked, the deferred effect will support exactly the set number of point lights.
99  /// </userdoc>
100  public static readonly ParameterKey<bool> UnrollDeferredLightLoop = ParameterKeys.New(false);
101  }
102 }
Key of an effect parameter.
Definition: ParameterKey.cs:15