Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
ShadowConfiguration.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 System.Collections.Generic;
4 
5 using SiliconStudio.Core;
6 using SiliconStudio.Core.Serialization.Converters;
7 using SiliconStudio.Paradox.DataModel;
8 using SiliconStudio.Paradox.Engine;
9 
10 namespace SiliconStudio.Paradox.Effects
11 {
12  [DataConverter(AutoGenerate = true)]
13  [DataContract("ShadowConfiguration")]
14  public struct ShadowConfiguration
15  {
16  /// <summary>
17  /// The type of light.
18  /// </summary>
19  /// <userdoc>
20  /// The type of light that will cast shadows. Point light is not yet supported.
21  /// </userdoc>
22  [DataMemberConvert]
23  [DataMember(10)]
25 
26  /// <summary>
27  /// The number of shadows in this group.
28  /// </summary>
29  /// <userdoc>
30  /// The number of shadows in this group.
31  /// </userdoc>
32  [DataMemberConvert]
33  [DataMember(20)]
34  public int ShadowCount;
35 
36  /// <summary>
37  /// The number of cascade in this group.
38  /// </summary>
39  /// <userdoc>
40  /// The number of cascades of each shadow map in this group
41  /// </userdoc>
42  [DataMemberConvert]
43  [DataMember(30)]
44  public int CascadeCount;
45 
46  /// <summary>
47  /// The type of filtering in this group.
48  /// </summary>
49  /// <userdoc>
50  /// The shadow filtering of this group.
51  /// </userdoc>
52  [DataMemberConvert]
53  [DataMember(40)]
55  }
56 
57  // TODO: array?
58  [DataConverter(AutoGenerate = true)]
59  [DataContract("ShadowConfigurationArray")]
61  {
62  /// <summary>
63  /// The groups of shadows. Each group contains only one type light, of filtering and a fixed number of cascades.
64  /// </summary>
65  /// <userdoc>
66  /// The groups of shadowmaps. The groups will be processed at the same time.
67  /// </userdoc>
68  [DataMemberConvert]
69  [DataMember(10)]
70  public List<ShadowConfiguration> Groups;
71 
73  {
74  Groups = new List<ShadowConfiguration>();
75  }
76  }
77 }
int CascadeCount
The number of cascade in this group.
Base class for converters to/from a data type.
List< ShadowConfiguration > Groups
The groups of shadows. Each group contains only one type light, of filtering and a fixed number of ca...
ShadowMapFilterType FilterType
The type of filtering in this group.
int ShadowCount
The number of shadows in this group.