BabylonPBRMetallicRoughnessMaterial.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using System.Runtime.Serialization;
  2. namespace BabylonExport.Entities
  3. {
  4. [DataContract]
  5. public class BabylonPBRMetallicRoughnessMaterial : BabylonMaterial
  6. {
  7. public enum TransparencyMode
  8. {
  9. OPAQUE = 0,
  10. ALPHATEST = 1,
  11. ALPHABLEND = 2,
  12. ALPHATESTANDBLEND = 3
  13. }
  14. [DataMember]
  15. public string customType { get; private set; }
  16. [DataMember]
  17. public float[] baseColor { get; set; }
  18. [DataMember]
  19. public BabylonTexture baseTexture { get; set; }
  20. [DataMember]
  21. public float metallic { get; set; }
  22. [DataMember]
  23. public float roughness { get; set; }
  24. [DataMember]
  25. public BabylonTexture metallicRoughnessTexture { get; set; }
  26. [DataMember]
  27. public int maxSimultaneousLights { get; set; }
  28. [DataMember]
  29. public bool disableLighting { get; set; }
  30. [DataMember]
  31. public BabylonTexture environmentTexture { get; set; }
  32. [DataMember]
  33. public bool invertNormalMapX { get; set; }
  34. [DataMember]
  35. public bool invertNormalMapY { get; set; }
  36. [DataMember]
  37. public BabylonTexture normalTexture { get; set; }
  38. [DataMember]
  39. public float[] emissiveColor { get; set; }
  40. [DataMember]
  41. public BabylonTexture emissiveTexture { get; set; }
  42. [DataMember]
  43. public float occlusionStrength { get; set; }
  44. [DataMember]
  45. public BabylonTexture occlusionTexture { get; set; } // ignored
  46. [DataMember]
  47. public float alphaCutOff { get; set; }
  48. [DataMember]
  49. public int transparencyMode { get; set; }
  50. [DataMember]
  51. public bool doubleSided { get; set; } // ignored
  52. public BabylonPBRMetallicRoughnessMaterial() : base()
  53. {
  54. customType = "BABYLON.PBRMetallicRoughnessMaterial";
  55. maxSimultaneousLights = 4;
  56. emissiveColor = new[] { 0f, 0f, 0f };
  57. occlusionStrength = 1.0f;
  58. alphaCutOff = 0.4f;
  59. transparencyMode = (int)TransparencyMode.OPAQUE;
  60. }
  61. }
  62. }