import MeshStandardNodeMaterial from './MeshStandardNodeMaterial.js'; import { MeshPhysicalMaterial } from 'three'; const defaultValues = new MeshPhysicalMaterial(); export default class MeshPhysicalNodeMaterial extends MeshStandardNodeMaterial { constructor( parameters ) { super(); this.isMeshPhysicalNodeMaterial = true; this.clearcoatNode = null; this.clearcoatRoughnessNode = null; this.clearcoatNormalNode = null; this.sheenNode = null; this.sheenRoughnessNode = null; this.iridescenceNode = null; this.iridescenceIORNode = null; this.iridescenceThicknessNode = null; this.specularIntensityNode = null; this.specularColorNode = null; this.transmissionNode = null; this.thicknessNode = null; this.attenuationDistanceNode = null; this.attenuationColorNode = null; this.sheen = 0; this.clearcoat = 0; this.iridescence = 0; this.transmission = 0; this.setDefaultValues( defaultValues ); this.setValues( parameters ); } copy( source ) { this.clearcoatNode = source.clearcoatNode; this.clearcoatRoughnessNode = source.clearcoatRoughnessNode; this.clearcoatNormalNode = source.clearcoatNormalNode; this.sheenNode = source.sheenNode; this.sheenRoughnessNode = source.sheenRoughnessNode; this.iridescenceNode = source.iridescenceNode; this.iridescenceIORNode = source.iridescenceIORNode; this.iridescenceThicknessNode = source.iridescenceThicknessNode; this.specularIntensityNode = source.specularIntensityNode; this.specularColorNode = source.specularColorNode; this.transmissionNode = source.transmissionNode; this.thicknessNode = source.thicknessNode; this.attenuationDistanceNode = source.attenuationDistanceNode; this.attenuationColorNode = source.attenuationColorNode; return super.copy( source ); } }