Creates a Mesh Physical Material, which can be extended with GL nodes.


## Description

This node can create children, which will be GL nodes. The GLSL code generated by the nodes will extend the Material.

Note that when overriding some properties like metalness and roughness from the output node, the values will be mutliplied with the material top level parameters. You may therefore want to set those to 1 to have predictable results.


## Parameters

<table>
<thead>
	<tr>
		<th>Name</th>
		<th>Type</th>
		<th>Description</th>
	</tr>
</thead>
<tr>
	<td>setBuilderNode</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>if toggled on, the shader will be built from the gl nodes of another material. This can be useful to have multiple materials use the same gl network, but still set the uniforms differently</td>
</tr>
<tr>
	<td>builderNode</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>builder node</td>
</tr>
<tr>
	<td>doubleSided</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>defines if the material is double sided or not</td>
</tr>
<tr>
	<td>front</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>if the material is not double sided, it can be front sided, or back sided</td>
</tr>
<tr>
	<td>overrideShadowSide</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>override the default shadowSide behavior</td>
</tr>
<tr>
	<td>shadowDoubleSided</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>defines which side(s) are used when rendering shadows</td>
</tr>
<tr>
	<td>shadowFront</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>if the material is not double sided, it can be front sided, or back sided, when computing shadows</td>
</tr>
<tr>
	<td>colorWrite</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>defines if the objects using this material will be rendered in the color buffer. Setting it to false can have those objects occlude the ones behind</td>
</tr>
<tr>
	<td>depthWrite</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>defines if the objects using this material will be rendered in the depth buffer. This can often help transparent objects</td>
</tr>
<tr>
	<td>depthTest</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle depth test</td>
</tr>
<tr>
	<td>premultipliedAlpha</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>premultipliedAlpha</td>
</tr>
<tr>
	<td>blending</td>
	<td><div class='bg-orange-800 px-2 py-px text-white rounded-sm'>integer</div></td>
	<td>blending</td>
</tr>
<tr>
	<td>dithering</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>dithering, which can be useful when using postprocessing and banding appears on some objects</td>
</tr>
<tr>
	<td>polygonOffset</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>activate polygon offset</td>
</tr>
<tr>
	<td>wireframe</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle on to set material to wireframe</td>
</tr>
<tr>
	<td>wireframeLinewidth</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>wireframe line width</td>
</tr>
<tr>
	<td>useFog</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle on if you have a fog in the scene and the material should be affected by it</td>
</tr>
<tr>
	<td>shadowPCSS</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>if on, the material will blur shadows cast on this object. Note that you should adjust the near parameter of the light shadow to get the result visible</td>
</tr>
<tr>
	<td>shadowPCSSFilterSize</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>shadowPCSSFilterSize PCSS Shadow filter size</td>
</tr>
<tr>
	<td>transparent</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>sets the material to transparent</td>
</tr>
<tr>
	<td>opacity</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>sets the material opacity</td>
</tr>
<tr>
	<td>alphaTest</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>sets the min alpha below which the material is invisible</td>
</tr>
<tr>
	<td>useMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle on to use a map affecting color</td>
</tr>
<tr>
	<td>map</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>texture map affecting color</td>
</tr>
<tr>
	<td>useAlphaMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use an alpha map</td>
</tr>
<tr>
	<td>alphaMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the alpha map COP node</td>
</tr>
<tr>
	<td>useAOMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use an ambient occlusion map</td>
</tr>
<tr>
	<td>aoMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the AO map COP node</td>
</tr>
<tr>
	<td>aoMapIntensity</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>ambient occlusion intensity</td>
</tr>
<tr>
	<td>useBumpMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a bump map</td>
</tr>
<tr>
	<td>bumpMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the bump map COP node</td>
</tr>
<tr>
	<td>bumpScale</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>bump scale</td>
</tr>
<tr>
	<td>bumpBias</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>bump bias</td>
</tr>
<tr>
	<td>useDisplacementMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a displacement map</td>
</tr>
<tr>
	<td>displacementMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the displacement map COP node</td>
</tr>
<tr>
	<td>displacementScale</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>displacement scale</td>
</tr>
<tr>
	<td>displacementBias</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>displacement bias</td>
</tr>
<tr>
	<td>emissive</td>
	<td><div class='bg-lime-800 px-2 py-px text-white rounded-sm'>color</div></td>
	<td>emissive color</td>
</tr>
<tr>
	<td>useEmissiveMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a emissive map</td>
</tr>
<tr>
	<td>emissiveMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the emissive map COP node</td>
</tr>
<tr>
	<td>emissiveIntensity</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>emissive intensity</td>
</tr>
<tr>
	<td>useEnvMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use an environment map</td>
</tr>
<tr>
	<td>envMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the environment map COP node</td>
</tr>
<tr>
	<td>envMapIntensity</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>environment intensity</td>
</tr>
<tr>
	<td>envMapRotation</td>
	<td><div class='bg-blue-800 px-2 py-px text-white rounded-sm'>vector3</div></td>
	<td>environment rotation</td>
</tr>
<tr>
	<td>useLightMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a light map</td>
</tr>
<tr>
	<td>lightMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the light map COP node</td>
</tr>
<tr>
	<td>lightMapIntensity</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>light. When set to 0, reflections from environment maps will be very sharp, or blurred when 1. Any value between 0 and 1 can help modulate this.</td>
</tr>
<tr>
	<td>useNormalMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a normal map</td>
</tr>
<tr>
	<td>normalMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the normal map COP node</td>
</tr>
<tr>
	<td>normalMapType</td>
	<td><div class='bg-orange-800 px-2 py-px text-white rounded-sm'>integer</div></td>
	<td>type of normal map being used</td>
</tr>
<tr>
	<td>normalScale</td>
	<td><div class='bg-teal-800 px-2 py-px text-white rounded-sm'>vector2</div></td>
	<td>How much the normal map affects the material. Typical ranges are 0-1</td>
</tr>
<tr>
	<td>normalScaleMult</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>Normal Map Scale Multiplier, which multiples normalScale</td>
</tr>
<tr>
	<td>useMetalnessMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a metalness map</td>
</tr>
<tr>
	<td>metalnessMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the metalness map COP node</td>
</tr>
<tr>
	<td>metalness</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>metalness. It's recommended to either set this value to 0 or to 1, as objects are either metallic or not. Any value in between tends to look like an alien plastic</td>
</tr>
<tr>
	<td>useRoughnessMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a roughness map</td>
</tr>
<tr>
	<td>roughnessMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the roughness map COP node</td>
</tr>
<tr>
	<td>roughness</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>roughness. When set to 0, reflections from environment maps will be very sharp, or blurred when 1. Any value between 0 and 1 can help modulate this.</td>
</tr>
<tr>
	<td>clearcoat</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>Represents the thickness of the clear coat layer, from 0.0 to 1.0</td>
</tr>
<tr>
	<td>useClearCoatMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a roughness map</td>
</tr>
<tr>
	<td>clearcoatMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the roughness map COP node</td>
</tr>
<tr>
	<td>useClearCoatNormalMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a clear coat normal map</td>
</tr>
<tr>
	<td>clearcoatNormalMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the roughness map COP node</td>
</tr>
<tr>
	<td>clearcoatNormalScale</td>
	<td><div class='bg-teal-800 px-2 py-px text-white rounded-sm'>vector2</div></td>
	<td>How much the normal map affects the material. Typical ranges are 0-1</td>
</tr>
<tr>
	<td>clearcoatRoughness</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>clearcoatRoughness</td>
</tr>
<tr>
	<td>useClearCoatRoughnessMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a clear cloat map</td>
</tr>
<tr>
	<td>clearcoatRoughnessMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the roughness map COP node</td>
</tr>
<tr>
	<td>useSheen</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use sheen</td>
</tr>
<tr>
	<td>sheen</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>The intensity of the sheen layer, from 0.0 to 1.0. Default is 0.0.</td>
</tr>
<tr>
	<td>sheenRoughness</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>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</td>
</tr>
<tr>
	<td>sheenColor</td>
	<td><div class='bg-lime-800 px-2 py-px text-white rounded-sm'>color</div></td>
	<td>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</td>
</tr>
<tr>
	<td>useIridescence</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use iridescence</td>
</tr>
<tr>
	<td>iridescence</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>Iridescence amount</td>
</tr>
<tr>
	<td>iridescenceIOR</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>iridescence index of refraction</td>
</tr>
<tr>
	<td>iridescenceThicknessRange</td>
	<td><div class='bg-teal-800 px-2 py-px text-white rounded-sm'>vector2</div></td>
	<td>Iridescence Thickness Range</td>
</tr>
<tr>
	<td>useIridescenceMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use an iridescence map</td>
</tr>
<tr>
	<td>iridescenceMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the iridescence map COP node</td>
</tr>
<tr>
	<td>useIridescenceThicknessMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use an iridescence map</td>
</tr>
<tr>
	<td>iridescenceThicknessMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the iridescence map COP node</td>
</tr>
<tr>
	<td>transmission</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>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.</td>
</tr>
<tr>
	<td>useTransmissionMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a transmission map</td>
</tr>
<tr>
	<td>transmissionMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the roughness map COP node</td>
</tr>
<tr>
	<td>ior</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>Index-of-refraction for non-metallic materials</td>
</tr>
<tr>
	<td>thickness</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>thickness</td>
</tr>
<tr>
	<td>useThicknessMap</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle if you want to use a thickness map</td>
</tr>
<tr>
	<td>thicknessMap</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>specify the roughness map COP node</td>
</tr>
<tr>
	<td>attenuationDistance</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>attenuation distance</td>
</tr>
<tr>
	<td>attenuationColor</td>
	<td><div class='bg-lime-800 px-2 py-px text-white rounded-sm'>color</div></td>
	<td>attenuation color</td>
</tr>
<tr>
	<td>dispersion</td>
	<td><div class='bg-yellow-800 px-2 py-px text-white rounded-sm'>float</div></td>
	<td>dispersion</td>
</tr>
<tr>
	<td>overrideCustomMaterials</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>toggle on to choose which customMaterials will be generated</td>
</tr>
<tr>
	<td>createCustomMatDistance</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>distance material used for shadows from points lights</td>
</tr>
<tr>
	<td>createCustomMatDepth</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>depth material used for shadows from spot lights and directional lights</td>
</tr>
<tr>
	<td>createCustomMatDepthDOF</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>depth DOF</td>
</tr>
<tr>
	<td>setBuilderNode</td>
	<td><div class='bg-emerald-800 px-2 py-px text-white rounded-sm'>boolean</div></td>
	<td>if toggled on, the shader will be built from the gl nodes of another material. This can be useful to have multiple materials use the same gl network, but still set the uniforms differently</td>
</tr>
<tr>
	<td>builderNode</td>
	<td><div class='bg-indigo-800 px-2 py-px text-white rounded-sm'>node_path</div></td>
	<td>builder node</td>
</tr>
</table>