BabylonStandardMaterial.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using System.Runtime.Serialization;
  2. namespace BabylonExport.Entities
  3. {
  4. [DataContract]
  5. public class BabylonStandardMaterial: BabylonMaterial
  6. {
  7. [DataMember]
  8. public string customType { get; private set; }
  9. [DataMember]
  10. public float[] ambient { get; set; }
  11. [DataMember]
  12. public float[] diffuse { get; set; }
  13. [DataMember]
  14. public float[] specular { get; set; }
  15. [DataMember]
  16. public float[] emissive { get; set; }
  17. [DataMember]
  18. public float specularPower { get; set; }
  19. [DataMember]
  20. public BabylonTexture diffuseTexture { get; set; }
  21. [DataMember]
  22. public BabylonFresnelParameters diffuseFresnelParameters { get; set; }
  23. [DataMember]
  24. public BabylonTexture ambientTexture { get; set; }
  25. [DataMember]
  26. public BabylonTexture opacityTexture { get; set; }
  27. [DataMember]
  28. public BabylonFresnelParameters opacityFresnelParameters { get; set; }
  29. [DataMember]
  30. public BabylonTexture reflectionTexture { get; set; }
  31. [DataMember]
  32. public BabylonFresnelParameters reflectionFresnelParameters { get; set; }
  33. [DataMember]
  34. public BabylonTexture emissiveTexture { get; set; }
  35. [DataMember]
  36. public BabylonTexture lightmapTexture { get; set; }
  37. [DataMember]
  38. public bool useLightmapAsShadowmap { get; set; }
  39. [DataMember]
  40. public BabylonFresnelParameters emissiveFresnelParameters { get; set; }
  41. [DataMember]
  42. public BabylonTexture specularTexture { get; set; }
  43. [DataMember]
  44. public BabylonTexture bumpTexture { get; set; }
  45. [DataMember]
  46. public bool useSpecularOverAlpha { get; set; }
  47. [DataMember]
  48. public bool disableLighting { get; set; }
  49. [DataMember]
  50. public bool useEmissiveAsIllumination { get; set; }
  51. [DataMember]
  52. public bool linkEmissiveWithDiffuse { get; set; }
  53. [DataMember]
  54. public bool twoSidedLighting { get; set; }
  55. [DataMember]
  56. public int maxSimultaneousLights { get; set; }
  57. public BabylonStandardMaterial() : base()
  58. {
  59. SetCustomType("BABYLON.StandardMaterial");
  60. ambient = new[] {1.0f, 1.0f, 1.0f};
  61. diffuse = new[] { 1.0f, 1.0f, 1.0f };
  62. specular = new[] { 1.0f, 1.0f, 1.0f };
  63. emissive = new[] { 0f, 0f, 0f };
  64. specularPower = 64;
  65. maxSimultaneousLights = 4;
  66. useSpecularOverAlpha = true;
  67. useEmissiveAsIllumination = false;
  68. linkEmissiveWithDiffuse = false;
  69. }
  70. public void SetCustomType(string type)
  71. {
  72. customType = type;
  73. }
  74. }
  75. }