EventDispatcher → Material → NodeMaterial → MeshStandardNodeMaterial →

# MeshPhysicalNodeMaterial

Node material version of MeshPhysicalMaterial.

## Constructor

### new MeshPhysicalNodeMaterial ( parameters : Object )

Constructs a new mesh physical node material.

parameters | The configuration parameter.

## Properties

### .anisotropyNode : Node.<float>

The anisotropy of physical materials is by default inferred from the `anisotropy` property. This node property allows to overwrite the default and define the anisotropy with a node instead.

If you don't want to overwrite the anisotropy but modify the existing value instead, use materialAnisotropy.

Default is `null`.

### .attenuationColorNode : Node.<vec3>

The attenuation color of physical materials is by default inferred from the `attenuationColor` property. This node property allows to overwrite the default and define the attenuation color with a node instead.

If you don't want to overwrite the attenuation color but modify the existing value instead, use materialAttenuationColor.

Default is `null`.

### .attenuationDistanceNode : Node.<float>

The attenuation distance of physical materials is by default inferred from the `attenuationDistance` property. This node property allows to overwrite the default and define the attenuation distance with a node instead.

If you don't want to overwrite the attenuation distance but modify the existing value instead, use materialAttenuationDistance.

Default is `null`.

### .clearcoatNode : Node.<float>

The clearcoat of physical materials is by default inferred from the `clearcoat` and `clearcoatMap` properties. This node property allows to overwrite the default and define the clearcoat with a node instead.

If you don't want to overwrite the clearcoat but modify the existing value instead, use materialClearcoat.

Default is `null`.

### .clearcoatNormalNode : Node.<vec3>

The clearcoat normal of physical materials is by default inferred from the `clearcoatNormalMap` property. This node property allows to overwrite the default and define the clearcoat normal with a node instead.

If you don't want to overwrite the clearcoat normal but modify the existing value instead, use materialClearcoatNormal.

Default is `null`.

### .clearcoatRoughnessNode : Node.<float>

The clearcoat roughness of physical materials is by default inferred from the `clearcoatRoughness` and `clearcoatRoughnessMap` properties. This node property allows to overwrite the default and define the clearcoat roughness with a node instead.

If you don't want to overwrite the clearcoat roughness but modify the existing value instead, use materialClearcoatRoughness.

Default is `null`.

### .dispersionNode : Node.<float>

The dispersion of physical materials is by default inferred from the `dispersion` property. This node property allows to overwrite the default and define the dispersion with a node instead.

If you don't want to overwrite the dispersion but modify the existing value instead, use materialDispersion.

Default is `null`.

### .iorNode : Node.<float>

The ior of physical materials is by default inferred from the `ior` property. This node property allows to overwrite the default and define the ior with a node instead.

If you don't want to overwrite the ior but modify the existing value instead, use materialIOR.

Default is `null`.

### .iridescenceIORNode : Node.<float>

The iridescence IOR of physical materials is by default inferred from the `iridescenceIOR` property. This node property allows to overwrite the default and define the iridescence IOR with a node instead.

If you don't want to overwrite the iridescence IOR but modify the existing value instead, use materialIridescenceIOR.

Default is `null`.

### .iridescenceNode : Node.<float>

The iridescence of physical materials is by default inferred from the `iridescence` property. This node property allows to overwrite the default and define the iridescence with a node instead.

If you don't want to overwrite the iridescence but modify the existing value instead, use materialIridescence.

Default is `null`.

### .iridescenceThicknessNode : Node.<float>

The iridescence thickness of physical materials is by default inferred from the `iridescenceThicknessRange` and `iridescenceThicknessMap` properties. This node property allows to overwrite the default and define the iridescence thickness with a node instead.

If you don't want to overwrite the iridescence thickness but modify the existing value instead, use materialIridescenceThickness.

Default is `null`.

### .isMeshPhysicalNodeMaterial : boolean (readonly)

This flag can be used for type testing.

Default is `true`.

### .sheenNode : Node.<vec3>

The sheen of physical materials is by default inferred from the `sheen`, `sheenColor` and `sheenColorMap` properties. This node property allows to overwrite the default and define the sheen with a node instead.

If you don't want to overwrite the sheen but modify the existing value instead, use materialSheen.

Default is `null`.

### .sheenRoughnessNode : Node.<float>

The sheen roughness of physical materials is by default inferred from the `sheenRoughness` and `sheenRoughnessMap` properties. This node property allows to overwrite the default and define the sheen roughness with a node instead.

If you don't want to overwrite the sheen roughness but modify the existing value instead, use materialSheenRoughness.

Default is `null`.

### .specularColorNode : Node.<vec3>

The specular color of physical materials is by default inferred from the `specularColor` and `specularColorMap` properties. This node property allows to overwrite the default and define the specular color with a node instead.

If you don't want to overwrite the specular color but modify the existing value instead, use materialSpecularColor.

Default is `null`.

### .specularIntensityNode : Node.<float>

The specular intensity of physical materials is by default inferred from the `specularIntensity` and `specularIntensityMap` properties. This node property allows to overwrite the default and define the specular intensity with a node instead.

If you don't want to overwrite the specular intensity but modify the existing value instead, use materialSpecularIntensity.

Default is `null`.

### .thicknessNode : Node.<float>

The thickness of physical materials is by default inferred from the `thickness` and `thicknessMap` properties. This node property allows to overwrite the default and define the thickness with a node instead.

If you don't want to overwrite the thickness but modify the existing value instead, use materialThickness.

Default is `null`.

### .transmissionNode : Node.<float>

The transmission of physical materials is by default inferred from the `transmission` and `transmissionMap` properties. This node property allows to overwrite the default and define the transmission with a node instead.

If you don't want to overwrite the transmission but modify the existing value instead, use materialTransmission.

Default is `null`.

### .useAnisotropy : boolean

Whether the lighting model should use anisotropy or not.

Default is `true`.

### .useClearcoat : boolean

Whether the lighting model should use clearcoat or not.

Default is `true`.

### .useDispersion : boolean

Whether the lighting model should use dispersion or not.

Default is `true`.

### .useIridescence : boolean

Whether the lighting model should use iridescence or not.

Default is `true`.

### .useSheen : boolean

Whether the lighting model should use sheen or not.

Default is `true`.

### .useTransmission : boolean

Whether the lighting model should use transmission or not.

Default is `true`.

## Methods

### .setupClearcoatNormal () : Node.<vec3>

Setups the clearcoat normal node.

Returns: The clearcoat normal.

### .setupLightingModel () : PhysicalLightingModel

Setups the lighting model.

Overrides: MeshStandardNodeMaterial#setupLightingModel

Returns: The lighting model.

### .setupSpecular ()

Setups the specular related node variables.

Overrides: MeshStandardNodeMaterial#setupSpecular

### .setupVariants ( builder : NodeBuilder )

Setups the physical specific node variables.

builder | The current node builder.

Overrides: MeshStandardNodeMaterial#setupVariants

## Source

src/materials/nodes/MeshPhysicalNodeMaterial.js