import { Combine, NormalMapTypes } from "../constants.js"; import { Color, ColorRepresentation } from "../math/Color.js"; import { Euler } from "../math/Euler.js"; import { Vector2 } from "../math/Vector2.js"; import { Texture } from "../textures/Texture.js"; import { Material, MaterialParameters } from "./Material.js"; export interface MeshLambertMaterialParameters extends MaterialParameters { bumpMap?: Texture | undefined; bumpScale?: number | undefined; color?: ColorRepresentation | undefined; displacementMap?: Texture | undefined; displacementScale?: number | undefined; displacementBias?: number | undefined; emissive?: ColorRepresentation | undefined; emissiveIntensity?: number | undefined; emissiveMap?: Texture | null | undefined; flatShading?: boolean | undefined; map?: Texture | null | undefined; lightMap?: Texture | null | undefined; lightMapIntensity?: number | undefined; normalMap?: Texture | undefined; normalScale?: Vector2 | undefined; aoMap?: Texture | null | undefined; aoMapIntensity?: number | undefined; specularMap?: Texture | null | undefined; alphaMap?: Texture | null | undefined; envMap?: Texture | null | undefined; envMapRotation?: Euler | undefined; combine?: Combine | undefined; reflectivity?: number | undefined; refractionRatio?: number | undefined; wireframe?: boolean | undefined; wireframeLinewidth?: number | undefined; wireframeLinecap?: string | undefined; wireframeLinejoin?: string | undefined; fog?: boolean | undefined; } export class MeshLambertMaterial extends Material { constructor(parameters?: MeshLambertMaterialParameters); /** * Read-only flag to check if a given object is of type {@link MeshLambertMaterial}. * @remarks This is a _constant_ value * @defaultValue `true` */ readonly isMeshLambertMaterial: true; /** * @default new THREE.Color( 0xffffff ) */ color: Color; /** * @default null */ bumpMap: Texture | null; /** * @default 1 */ bumpScale: number; /** * @default null */ displacementMap: Texture | null; /** * @default 1 */ displacementScale: number; /** * @default 0 */ displacementBias: number; /** * @default new THREE.Color( 0x000000 ) */ emissive: Color; /** * @default 1 */ emissiveIntensity: number; /** * @default null */ emissiveMap: Texture | null; /** * @default false */ flatShading: boolean; /** * @default null */ map: Texture | null; /** * @default null */ lightMap: Texture | null; /** * @default 1 */ lightMapIntensity: number; /** * @default null */ normalMap: Texture | null; normalMapType: NormalMapTypes; /** * @default new THREE.Vector2( 1, 1 ) */ normalScale: Vector2; /** * @default null */ aoMap: Texture | null; /** * @default 1 */ aoMapIntensity: number; /** * @default null */ specularMap: Texture | null; /** * @default null */ alphaMap: Texture | null; /** * @default null */ envMap: Texture | null; /** * The rotation of the environment map in radians. Default is `(0,0,0)`. */ envMapRotation: Euler; /** * @default THREE.MultiplyOperation */ combine: Combine; /** * @default 1 */ reflectivity: number; /** * @default 0.98 */ refractionRatio: number; /** * @default false */ wireframe: boolean; /** * @default 1 */ wireframeLinewidth: number; /** * @default 'round' */ wireframeLinecap: string; /** * @default 'round' */ wireframeLinejoin: string; /** * Whether the material is affected by fog. Default is true. * @default fog */ fog: boolean; setValues(parameters: MeshLambertMaterialParameters): void; }