/** * Creates a Mesh Subsurface Scattering Material * * @remarks * This material needs lights to be visible. * */ import { ShaderMaterial } from 'three/src/materials/ShaderMaterial'; import { TypedMatNode } from './_Base'; import { TextureMapController } from './utils/TextureMapController'; import { TextureAlphaMapController } from './utils/TextureAlphaMapController'; import { BaseParamType } from '../../params/_Base'; import { IUniformN, IUniformTexture, IUniformColor } from '../utils/code/gl/Uniforms'; import { IUniform } from 'three/src/renderers/shaders/UniformsLib'; import { NodeParamsConfig } from '../utils/params/ParamsConfig'; import { OperatorPathParam } from '../../params/OperatorPath'; declare const MeshSubsurfaceScatteringMatParamsConfig_base: { new (...args: any[]): { useMap: import("../utils/params/ParamsConfig").ParamTemplate; map: import("../utils/params/ParamsConfig").ParamTemplate; }; } & { new (...args: any[]): { useAlphaMap: import("../utils/params/ParamsConfig").ParamTemplate; alphaMap: import("../utils/params/ParamsConfig").ParamTemplate; }; } & { new (...args: any[]): { skinning: import("../utils/params/ParamsConfig").ParamTemplate; }; } & { new (...args: any[]): { doubleSided: import("../utils/params/ParamsConfig").ParamTemplate; front: import("../utils/params/ParamsConfig").ParamTemplate; }; } & typeof NodeParamsConfig; declare class MeshSubsurfaceScatteringMatParamsConfig extends MeshSubsurfaceScatteringMatParamsConfig_base { diffuse: import("../utils/params/ParamsConfig").ParamTemplate; shininess: import("../utils/params/ParamsConfig").ParamTemplate; thicknessMap: import("../utils/params/ParamsConfig").ParamTemplate; thicknessColor: import("../utils/params/ParamsConfig").ParamTemplate; thicknessDistortion: import("../utils/params/ParamsConfig").ParamTemplate; thicknessAmbient: import("../utils/params/ParamsConfig").ParamTemplate; thicknessAttenuation: import("../utils/params/ParamsConfig").ParamTemplate; thicknessPower: import("../utils/params/ParamsConfig").ParamTemplate; thicknessScale: import("../utils/params/ParamsConfig").ParamTemplate; } interface ShaderMaterialWithUniforms extends ShaderMaterial { uniforms: { diffuse: IUniformColor; shininess: IUniformN; thicknessMap: IUniformTexture; thicknessColor: IUniformColor; thicknessDistortion: IUniformN; thicknessAmbient: IUniformN; thicknessAttenuation: IUniformN; thicknessPower: IUniformN; thicknessScale: IUniformN; [uniform: string]: IUniform; }; } export declare class MeshSubsurfaceScatteringMatNode extends TypedMatNode { params_config: MeshSubsurfaceScatteringMatParamsConfig; static type(): string; create_material(): ShaderMaterialWithUniforms; readonly texture_map_controller: TextureMapController; readonly texture_alpha_map_controller: TextureAlphaMapController; initializeNode(): void; cook(): Promise; static PARAM_CALLBACK_update_uniformN(node: MeshSubsurfaceScatteringMatNode, param: BaseParamType, uniform_name: string): void; static PARAM_CALLBACK_update_uniformColor(node: MeshSubsurfaceScatteringMatNode, param: BaseParamType, uniform_name: string): void; static PARAM_CALLBACK_update_uniformTexture(node: MeshSubsurfaceScatteringMatNode, param: BaseParamType, uniform_name: string): void; update_map(param: OperatorPathParam, uniform_name: string): Promise; } export {};