import { ConstructorProps, ContextManager, Observable } from '@zcomponent/core'; import * as THREE from 'three'; import { Material } from './Material'; import { NormalMapType } from './MeshStandardMaterial'; /** * A material implementing toon shading. * * Root element: [THREE.MeshToonMaterial](https://threejs.org/docs/index.html#api/en/materials/MeshToonMaterial) * * @zcomponent * @zgroup Materials * @zicon material * @ztag three/Material/Mesh/MeshToonMaterial * @zparents three/Object3D/Mesh/** * @zparents three/Object3D/Group/** * @zparents three/MaterialHost/** */ export declare class MeshToonMaterial extends Material { element: THREE.MeshToonMaterial; /** * Constructs a new mesh toon material. * @param contextManager - Context manager. * @param props - Properties. */ constructor(contextManager: ContextManager, props: ConstructorProps); /** * Color of the material, by default set to white. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @ztype color-norm-rgb-linear * @zdefault [1, 1, 1] */ color: Observable<[number, number, number], never>; /** * Intensity of the ambient occlusion effect. Default is 1. Zero is no occlusion effect. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @zdefault 1 */ aoMapIntensity: Observable; /** * How much the bump map affects the material. Typical ranges are 0-1. Default is 1. * * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @ztype proportion * @zdefault 1 */ bumpScale: Observable; /** * How much the displacement map affects the mesh (where black is no displacement, and white is maximum displacement). * * Without a displacement map set, this value is not applied. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @zdefault 1 */ displacementScale: Observable; /** * The offset of the displacement map's values on the mesh's vertices. * * Without a displacement map set, this value is not applied. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @ztype proportion * @zdefault 0 */ displacementBias: Observable; /** * Emissive (light) color of the material, essentially a solid color unaffected by other lighting. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @ztype color-norm-rgb-linear * @zdefault [0, 0, 0] */ emissive: Observable<[number, number, number], never>; /** * Intensity of the emissive light. Modulates the emissive color. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @zdefault 1 */ emissiveIntensity: Observable; /** * Whether the material is affected by fog. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @zdefault true */ fog: Observable; /** * Intensity of the baked light. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @zdefault 1 */ lightMapIntensity: Observable; /** * The type of normal map. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @zdefault TangentSpaceNormalMap */ normalMapType: Observable; /** * How much the normal map affects the material. * Typical ranges are 0-1. * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @zdefault [1, 1] */ normalScale: Observable<[number, number], never>; /** * Render geometry as wireframe (i.e. render as flat polygons). * @zprop * @zgroup MeshToonMaterial * @zgrouppriority 20 * @zdefault false */ wireframe: Observable; }