import { LayeredMaterial } from "../LayeredMaterial"; import { LayerConfig, LayeredMaterialOptions } from "../types"; /** * UniformDynamicMaterial with real-time property transitions * * Uses TSL uniforms for roughness, metalness, and color tint, * allowing real-time transitions WITHOUT shader recompilation. * * Performance: 60fps smooth transitions vs. shader rebuild stuttering */ export declare class UniformDynamicMaterial extends LayeredMaterial { private _roughnessUniform; private _metalnessUniform; private _colorTintRUniform; private _colorTintGUniform; private _colorTintBUniform; private _sourceLayers; private _targetLayers; private _transitionFactor; constructor(options?: LayeredMaterialOptions); /** * Override the material setup to use uniform nodes */ private _setupWithUniforms; /** * Set transition target and factor (0-1) WITHOUT shader rebuild * This only updates uniform values, which is GPU-fast */ setTransitionFast(targetLayers: LayerConfig[], factor: number): void; /** * Complete transition and update source layers */ completeTransition(): void; /** * Get current transition progress */ getTransitionProgress(): number; /** * Get current roughness value */ getRoughness(): number; /** * Get current metalness value */ getMetalness(): number; /** * Get current color tint */ getColorTint(): { r: number; g: number; b: number; }; private _lerp; } //# sourceMappingURL=UniformDynamicMaterial.d.ts.map