12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import type { Scene } from "../../scene";
- import type { Color3 } from "../../Maths/math.color";
- import type { BaseTexture } from "../../Materials/Textures/baseTexture";
- import { PBRBaseSimpleMaterial } from "./pbrBaseSimpleMaterial";
- import type { Nullable } from "../../types";
- /**
- * The PBR material of BJS following the metal roughness convention.
- *
- * This fits to the PBR convention in the GLTF definition:
- * https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/README.md
- */
- export declare class PBRMetallicRoughnessMaterial extends PBRBaseSimpleMaterial {
- /**
- * The base color has two different interpretations depending on the value of metalness.
- * When the material is a metal, the base color is the specific measured reflectance value
- * at normal incidence (F0). For a non-metal the base color represents the reflected diffuse color
- * of the material.
- */
- baseColor: Color3;
- /**
- * Base texture of the metallic workflow. It contains both the baseColor information in RGB as
- * well as opacity information in the alpha channel.
- */
- baseTexture: Nullable<BaseTexture>;
- /**
- * Specifies the metallic scalar value of the material.
- * Can also be used to scale the metalness values of the metallic texture.
- */
- metallic: number;
- /**
- * Specifies the roughness scalar value of the material.
- * Can also be used to scale the roughness values of the metallic texture.
- */
- roughness: number;
- /**
- * Texture containing both the metallic value in the B channel and the
- * roughness value in the G channel to keep better precision.
- */
- metallicRoughnessTexture: Nullable<BaseTexture>;
- /**
- * Instantiates a new PBRMetalRoughnessMaterial instance.
- *
- * @param name The material name
- * @param scene The scene the material will be use in.
- */
- constructor(name: string, scene?: Scene);
- /**
- * @returns the current class name of the material.
- */
- getClassName(): string;
- /**
- * Makes a duplicate of the current material.
- * @param name - name to use for the new material.
- * @returns cloned material instance
- */
- clone(name: string): PBRMetallicRoughnessMaterial;
- /**
- * Serialize the material to a parsable JSON object.
- * @returns the JSON object
- */
- serialize(): any;
- /**
- * Parses a JSON object corresponding to the serialize function.
- * @param source - JSON source object.
- * @param scene - Defines the scene we are parsing for
- * @param rootUrl - Defines the rootUrl of this parsed object
- * @returns a new PBRMetalRoughnessMaterial
- */
- static Parse(source: any, scene: Scene, rootUrl: string): PBRMetallicRoughnessMaterial;
- }
|