UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

166 lines (165 loc) 15 kB
import { Constructor } from '../../../../types/GlobalTypes'; import { Material, MeshPhysicalMaterial } from 'three'; import { TypedMatNode } from '../_Base'; import { BaseTextureMapController } from './_BaseTextureController'; import { NodeParamsConfig } from '../../utils/params/ParamsConfig'; import { MaterialTexturesRecord, SetParamsTextureNodesRecord } from './_BaseController'; export declare function MeshPhysicalParamConfig<TBase extends Constructor>(Base: TBase): { new (...args: any[]): { /** @param Represents the thickness of the clear coat layer, from 0.0 to 1.0 */ clearcoat: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param toggle if you want to use a roughness map */ useClearCoatMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ clearcoatMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param toggle if you want to use a clear coat normal map */ useClearCoatNormalMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ clearcoatNormalMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param How much the normal map affects the material. Typical ranges are 0-1 */ clearcoatNormalScale: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>; /** @param clearcoatRoughness */ clearcoatRoughness: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param toggle if you want to use a clear cloat map */ useClearCoatRoughnessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ clearcoatRoughnessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param toggle if you want to use sheen */ useSheen: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param The intensity of the sheen layer, from 0.0 to 1.0. Default is 0.0. */ sheen: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param If a color is assigned to this property, the material will use a special sheen BRDF intended for rendering cloth materials such as velvet. The sheen color provides the ability to create two-tone specular materials. null by default */ sheenRoughness: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param If a color is assigned to this property, the material will use a special sheen BRDF intended for rendering cloth materials such as velvet. The sheen color provides the ability to create two-tone specular materials. null by default */ sheenColor: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.COLOR>; /** @param toggle if you want to use iridescence */ useIridescence: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param Iridescence amount */ iridescence: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param iridescence index of refraction */ iridescenceIOR: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param Iridescence Thickness Range */ iridescenceThicknessRange: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>; /** @param toggle if you want to use an iridescence map */ useIridescenceMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the iridescence map COP node */ iridescenceMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param toggle if you want to use an iridescence map */ useIridescenceThicknessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the iridescence map COP node */ iridescenceThicknessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param Degree of transmission (or optical transparency), from 0.0 to 1.0. Default is 0.0. Thin, transparent or semitransparent, plastic or glass materials remain largely reflective even if they are fully transmissive. The transmission property can be used to model these materials. When transmission is non-zero, opacity should be set to 1. */ transmission: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param toggle if you want to use a transmission map */ useTransmissionMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ transmissionMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param Index-of-refraction for non-metallic materials */ ior: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param thickness */ thickness: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param toggle if you want to use a thickness map */ useThicknessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ thicknessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param attenuation distance */ attenuationDistance: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param attenuation color */ attenuationColor: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.COLOR>; /** @param dispersion */ dispersion: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; }; } & TBase; type MeshPhysicalControllerCurrentMaterial = MeshPhysicalMaterial; export declare function isValidMaterial(material?: Material): material is MeshPhysicalControllerCurrentMaterial; declare const TextureClearCoatMapParamsConfig_base: { new (...args: any[]): { /** @param Represents the thickness of the clear coat layer, from 0.0 to 1.0 */ clearcoat: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param toggle if you want to use a roughness map */ useClearCoatMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ clearcoatMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param toggle if you want to use a clear coat normal map */ useClearCoatNormalMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ clearcoatNormalMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param How much the normal map affects the material. Typical ranges are 0-1 */ clearcoatNormalScale: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>; /** @param clearcoatRoughness */ clearcoatRoughness: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param toggle if you want to use a clear cloat map */ useClearCoatRoughnessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ clearcoatRoughnessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param toggle if you want to use sheen */ useSheen: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param The intensity of the sheen layer, from 0.0 to 1.0. Default is 0.0. */ sheen: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param If a color is assigned to this property, the material will use a special sheen BRDF intended for rendering cloth materials such as velvet. The sheen color provides the ability to create two-tone specular materials. null by default */ sheenRoughness: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param If a color is assigned to this property, the material will use a special sheen BRDF intended for rendering cloth materials such as velvet. The sheen color provides the ability to create two-tone specular materials. null by default */ sheenColor: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.COLOR>; /** @param toggle if you want to use iridescence */ useIridescence: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param Iridescence amount */ iridescence: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param iridescence index of refraction */ iridescenceIOR: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param Iridescence Thickness Range */ iridescenceThicknessRange: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.VECTOR2>; /** @param toggle if you want to use an iridescence map */ useIridescenceMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the iridescence map COP node */ iridescenceMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param toggle if you want to use an iridescence map */ useIridescenceThicknessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the iridescence map COP node */ iridescenceThicknessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param Degree of transmission (or optical transparency), from 0.0 to 1.0. Default is 0.0. Thin, transparent or semitransparent, plastic or glass materials remain largely reflective even if they are fully transmissive. The transmission property can be used to model these materials. When transmission is non-zero, opacity should be set to 1. */ transmission: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param toggle if you want to use a transmission map */ useTransmissionMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ transmissionMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param Index-of-refraction for non-metallic materials */ ior: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param thickness */ thickness: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param toggle if you want to use a thickness map */ useThicknessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; /** @param specify the roughness map COP node */ thicknessMap: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.NODE_PATH>; /** @param attenuation distance */ attenuationDistance: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; /** @param attenuation color */ attenuationColor: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.COLOR>; /** @param dispersion */ dispersion: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.FLOAT>; }; } & typeof NodeParamsConfig; declare class TextureClearCoatMapParamsConfig extends TextureClearCoatMapParamsConfig_base { } export interface MeshPhysicalControllers { physical: MeshPhysicalController; } declare abstract class TextureClearCoatMapMatNode extends TypedMatNode<MeshPhysicalControllerCurrentMaterial, TextureClearCoatMapParamsConfig> { controllers: MeshPhysicalControllers; material(): Promise<MeshPhysicalMaterial | undefined>; } export declare class MeshPhysicalController extends BaseTextureMapController { protected node: TextureClearCoatMapMatNode; constructor(node: TextureClearCoatMapMatNode); initializeNode(): void; private _sheenColorClone; private _iridescenceRange; static update(node: TextureClearCoatMapMatNode): Promise<void>; updateMaterial(material: MeshPhysicalControllerCurrentMaterial): Promise<void>; getTextures(material: MeshPhysicalControllerCurrentMaterial, record: MaterialTexturesRecord): void; setParamsFromMaterial(material: MeshPhysicalControllerCurrentMaterial, record: SetParamsTextureNodesRecord): void; } export {};