Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
MaterialParametersKeys.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;
4 
5 using SiliconStudio.Core;
6 
7 namespace SiliconStudio.Paradox.Effects
8 {
9  public partial class MaterialParameters
10  {
11  /// <summary>
12  /// Parameter key for the shading model.
13  /// </summary>
14  /// <userdoc>
15  /// The desired shading model (flat, Gouraud or Phong shading).
16  /// </userdoc>
17  public static ParameterKey<MaterialShadingModel> ShadingModel = ParameterKeys.New<MaterialShadingModel>(MaterialShadingModel.Flat);
18 
19  /// <summary>
20  /// Parameter key for the diffuse model.
21  /// </summary>
22  /// <userdoc>
23  /// The desired diffuse model (Lambert or Oren-Nayar).
24  /// </userdoc>
25  public static ParameterKey<MaterialDiffuseModel> DiffuseModel = ParameterKeys.New<MaterialDiffuseModel>(MaterialDiffuseModel.None);
26 
27  /// <summary>
28  /// Parameter key for the specular model.
29  /// </summary>
30  /// <userdoc>
31  /// The desired specular model (Phong, Blinn-Phong or Cook-Torrance).
32  /// </userdoc>
33  public static ParameterKey<MaterialSpecularModel> SpecularModel = ParameterKeys.New<MaterialSpecularModel>(MaterialSpecularModel.None);
34 
35  /// <summary>
36  /// Parameter key for the lighting type.
37  /// </summary>
38  /// <userdoc>
39  /// This parameter specifies if lighting computation should be done per vertex or per pixel. Specular is always done per pixel.
40  /// </userdoc>
41  public static ParameterKey<MaterialLightingType> LightingType = ParameterKeys.New<MaterialLightingType>(MaterialLightingType.DiffuseSpecularPixel);
42  }
43 
44  /// <summary>
45  /// Shading interpolation model.
46  /// </summary>
47  [DataContract("MaterialShadingModel")]
49  {
50  Flat,
51  Gouraud,
52  Phong
53  }
54 
55  /// <summary>
56  /// Diffuse component model.
57  /// </summary>
58  [DataContract("MaterialDiffuseModel")]
60  {
61  None,
62  Lambert,
63  OrenNayar
64  }
65 
66  /// <summary>
67  /// Specular component model.
68  /// </summary>
69  [DataContract("MaterialSpecularModel")]
71  {
72  None,
73  Phong,
74  BlinnPhong,
76  }
77 
78  [Flags]
79  [DataContract("MaterialLightingType")]
81  {
82  DiffuseVertex = 1,
83  DiffusePixel = 2,
84  SpecularPixel = 4,
85 
88  }
89 }
Key of an effect parameter.
Definition: ParameterKey.cs:15
MaterialDiffuseModel
Diffuse component model.
Flags
Enumeration of the new Assimp's flags.
MaterialSpecularModel
Specular component model.
MaterialShadingModel
Shading interpolation model.