pbrBaseSimpleMaterial.d.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import type { Scene } from "../../scene";
  2. import { Color3 } from "../../Maths/math.color";
  3. import { PBRBaseMaterial } from "./pbrBaseMaterial";
  4. import type { BaseTexture } from "../../Materials/Textures/baseTexture";
  5. import type { Nullable } from "../../types";
  6. /**
  7. * The Physically based simple base material of BJS.
  8. *
  9. * This enables better naming and convention enforcements on top of the pbrMaterial.
  10. * It is used as the base class for both the specGloss and metalRough conventions.
  11. */
  12. export declare abstract class PBRBaseSimpleMaterial extends PBRBaseMaterial {
  13. /**
  14. * Number of Simultaneous lights allowed on the material.
  15. */
  16. maxSimultaneousLights: number;
  17. /**
  18. * If sets to true, disables all the lights affecting the material.
  19. */
  20. disableLighting: boolean;
  21. /**
  22. * Environment Texture used in the material (this is use for both reflection and environment lighting).
  23. */
  24. environmentTexture: Nullable<BaseTexture>;
  25. /**
  26. * If sets to true, x component of normal map value will invert (x = 1.0 - x).
  27. */
  28. invertNormalMapX: boolean;
  29. /**
  30. * If sets to true, y component of normal map value will invert (y = 1.0 - y).
  31. */
  32. invertNormalMapY: boolean;
  33. /**
  34. * Normal map used in the model.
  35. */
  36. normalTexture: Nullable<BaseTexture>;
  37. /**
  38. * Emissivie color used to self-illuminate the model.
  39. */
  40. emissiveColor: Color3;
  41. /**
  42. * Emissivie texture used to self-illuminate the model.
  43. */
  44. emissiveTexture: Nullable<BaseTexture>;
  45. /**
  46. * Occlusion Channel Strength.
  47. */
  48. occlusionStrength: number;
  49. /**
  50. * Occlusion Texture of the material (adding extra occlusion effects).
  51. */
  52. occlusionTexture: Nullable<BaseTexture>;
  53. /**
  54. * Defines the alpha limits in alpha test mode.
  55. */
  56. alphaCutOff: number;
  57. /**
  58. * Gets the current double sided mode.
  59. */
  60. get doubleSided(): boolean;
  61. /**
  62. * If sets to true and backfaceCulling is false, normals will be flipped on the backside.
  63. */
  64. set doubleSided(value: boolean);
  65. /**
  66. * Stores the pre-calculated light information of a mesh in a texture.
  67. */
  68. lightmapTexture: Nullable<BaseTexture>;
  69. /**
  70. * If true, the light map contains occlusion information instead of lighting info.
  71. */
  72. useLightmapAsShadowmap: boolean;
  73. /**
  74. * Instantiates a new PBRMaterial instance.
  75. *
  76. * @param name The material name
  77. * @param scene The scene the material will be use in.
  78. */
  79. constructor(name: string, scene?: Scene);
  80. getClassName(): string;
  81. }