import { ConstructorProps, ContextManager, Observable } from '@zcomponent/core'; import { Material } from './Material'; import { MeshChromaKeyMaterial as MeshChromaKeyMaterialInternal } from '../../internal/MeshChromaKeyMaterial'; /** * * A material for mesh chroma keying, extending the base Material class. * This material allows for chroma key effects, typically used in green screen techniques. * * * Root element: [THREE.ShaderMaterial](https://threejs.org/docs/index.html#api/en/materials/ShaderMaterial) * @zcomponent * @zgroup Materials * @zicon material * @ztag three/Material/Mesh/MeshChromaKeyMaterial * @zparents three/Object3D/Mesh/** * @zparents three/Object3D/Group/** * @zparents three/MaterialHost/** */ export declare class MeshChromaKeyMaterial extends Material { element: MeshChromaKeyMaterialInternal; /** * Constructs a MeshChromaKeyMaterial instance. * * @param contextManager - The context manager. * @param props - Initial properties for the material. */ constructor(contextManager: ContextManager, props: ConstructorProps); private _frame; /** * Observable property for chroma key similarity. * Adjusts how similar the color must be to the key color to be made transparent. * @zprop * @zgroup MeshChromaKeyMaterial * @zgrouppriority 20 * @ztype proportion * @zdefault 0.05 */ similarity: Observable; /** * * Observable property for chroma key smoothness. * Determines the smoothness of the chroma key edges. * @zprop * @zgroup MeshChromaKeyMaterial * @zgrouppriority 20 * @ztype proportion * @zdefault 0.08 */ smoothness: Observable; /** * * Observable property for chroma key spill. * Controls the extent to which the key color spills onto the subject. * @zprop * @zgroup MeshChromaKeyMaterial * @zgrouppriority 20 * @ztype proportion * @zdefault 0.2 */ spill: Observable; /** * Observable property for the chroma key color. * Specifies the color to be keyed out. * @zprop * @zgroup MeshChromaKeyMaterial * @zgrouppriority 20 * @ztype color-norm-rgb-linear * @zdefault [0, 1, 0] */ keyColor: Observable<[number, number, number], never>; }