import type { Scene } from "../../scene"; import { Color3 } from "../../Maths/math.color"; import { PBRBaseMaterial } from "./pbrBaseMaterial"; import type { BaseTexture } from "../../Materials/Textures/baseTexture"; import type { Nullable } from "../../types"; /** * The Physically based simple base material of BJS. * * This enables better naming and convention enforcements on top of the pbrMaterial. * It is used as the base class for both the specGloss and metalRough conventions. */ export declare abstract class PBRBaseSimpleMaterial extends PBRBaseMaterial { /** * Number of Simultaneous lights allowed on the material. */ maxSimultaneousLights: number; /** * If sets to true, disables all the lights affecting the material. */ disableLighting: boolean; /** * Environment Texture used in the material (this is use for both reflection and environment lighting). */ environmentTexture: Nullable; /** * If sets to true, x component of normal map value will invert (x = 1.0 - x). */ invertNormalMapX: boolean; /** * If sets to true, y component of normal map value will invert (y = 1.0 - y). */ invertNormalMapY: boolean; /** * Normal map used in the model. */ normalTexture: Nullable; /** * Emissivie color used to self-illuminate the model. */ emissiveColor: Color3; /** * Emissivie texture used to self-illuminate the model. */ emissiveTexture: Nullable; /** * Occlusion Channel Strength. */ occlusionStrength: number; /** * Occlusion Texture of the material (adding extra occlusion effects). */ occlusionTexture: Nullable; /** * Defines the alpha limits in alpha test mode. */ alphaCutOff: number; /** * Gets the current double sided mode. */ get doubleSided(): boolean; /** * If sets to true and backfaceCulling is false, normals will be flipped on the backside. */ set doubleSided(value: boolean); /** * Stores the pre-calculated light information of a mesh in a texture. */ lightmapTexture: Nullable; /** * If true, the light map contains occlusion information instead of lighting info. */ useLightmapAsShadowmap: boolean; /** * Instantiates a new PBRMaterial instance. * * @param name The material name * @param scene The scene the material will be use in. */ constructor(name: string, scene?: Scene); getClassName(): string; }