Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
EffectReflection.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 using SiliconStudio.Core;
5 using SiliconStudio.Core.Serialization;
6 using SiliconStudio.Paradox.Graphics;
7 
8 namespace SiliconStudio.Paradox.Shaders
9 {
10  /// <summary>
11  /// The reflection data describing the parameters of a shader.
12  /// </summary>
13  [DataContract]
14  public class EffectReflection
15  {
16  /// <summary>
17  /// Initializes a new instance of the <see cref="EffectReflection"/> class.
18  /// </summary>
20  {
21  SamplerStates = new List<EffectSamplerStateBinding>();
22  ResourceBindings = new List<EffectParameterResourceData>();
23  ConstantBuffers = new List<ShaderConstantBufferDescription>();
24  ShaderStreamOutputDeclarations = new List<ShaderStreamOutputDeclarationEntry>();
25  }
26 
27  /// <summary>
28  /// Gets or sets the sampler states.
29  /// </summary>
30  /// <value>The sampler states.</value>
31  public List<EffectSamplerStateBinding> SamplerStates { get; set; }
32 
33  /// <summary>
34  /// Gets the parameter binding descriptions.
35  /// </summary>
36  /// <value>The resource bindings.</value>
37  public List<EffectParameterResourceData> ResourceBindings { get; set; }
38 
39  /// <summary>
40  /// Gets the constant buffer descriptions (if any).
41  /// </summary>
42  /// <value>The constant buffers.</value>
43  public List<ShaderConstantBufferDescription> ConstantBuffers { get; set; }
44 
45  /// <summary>
46  /// Gets or sets the stream output declarations.
47  /// </summary>
48  /// <value>The stream output declarations.</value>
49  public List<ShaderStreamOutputDeclarationEntry> ShaderStreamOutputDeclarations { get; set; }
50 
51  /// <summary>
52  /// Gets or sets the stream output strides.
53  /// </summary>
54  /// <value>The stream output strides.</value>
55  public int[] StreamOutputStrides { get; set; }
56 
57  /// <summary>
58  /// Gets or sets the stream output rasterized stream.
59  /// </summary>
60  /// <value>The stream output rasterized stream.</value>
61  public int StreamOutputRasterizedStream { get; set; }
62  }
63 }
The reflection data describing the parameters of a shader.
EffectReflection()
Initializes a new instance of the EffectReflection class.