PropertyNode

Last modified: Dec 9, 2025

This class represents a shader property. It can be used to explicitly define a property and assign a value to it.

const threshold = property( 'float', 'threshold' ).assign( THRESHOLD );

PropertyNode is used by the engine to predefined common material properties for TSL code.

Constructor

new PropertyNode(nodeType, name?, varying?)
ParameterTypeDefault Value
nodeTypestring
name?null | stringnull
varying?booleanfalse

Constructs a new property node.

AccessorTypeModifiers
get typestringstatic
MethodTypeModifiers

Extends

Node

property

ParameterTypeDefault Value
typestring
nameundefined | null | string

Returns

PropertyNode

varyingProperty

ParameterTypeDefault Value
typestring
nameundefined | null | string

Returns

PropertyNode

diffuseColor

TSL object that represents the shader variable DiffuseColor.

Type

PropertyNode<vec4>

diffuseContribution

TSL object that represents the shader variable DiffuseContribution.

Type

PropertyNode<vec3>

emissive

TSL object that represents the shader variable EmissiveColor.

Type

PropertyNode<vec3>

roughness

TSL object that represents the shader variable Roughness.

Type

PropertyNode<float>

metalness

TSL object that represents the shader variable Metalness.

Type

PropertyNode<float>

clearcoat

TSL object that represents the shader variable Clearcoat.

Type

PropertyNode<float>

clearcoatRoughness

TSL object that represents the shader variable ClearcoatRoughness.

Type

PropertyNode<float>

sheen

TSL object that represents the shader variable Sheen.

Type

PropertyNode<vec3>

sheenRoughness

TSL object that represents the shader variable SheenRoughness.

Type

PropertyNode<float>

iridescence

TSL object that represents the shader variable Iridescence.

Type

PropertyNode<float>

iridescenceIOR

TSL object that represents the shader variable IridescenceIOR.

Type

PropertyNode<float>

iridescenceThickness

TSL object that represents the shader variable IridescenceThickness.

Type

PropertyNode<float>

alphaT

TSL object that represents the shader variable AlphaT.

Type

PropertyNode<float>

anisotropy

TSL object that represents the shader variable Anisotropy.

Type

PropertyNode<float>

anisotropyT

TSL object that represents the shader variable AnisotropyT.

Type

PropertyNode<vec3>

anisotropyB

TSL object that represents the shader variable AnisotropyB.

Type

PropertyNode<vec3>

specularColor

TSL object that represents the shader variable SpecularColor.

Type

PropertyNode<color>

specularColorBlended

TSL object that represents the shader variable SpecularColorBlended.

Type

PropertyNode<color>

specularF90

TSL object that represents the shader variable SpecularF90.

Type

PropertyNode<float>

shininess

TSL object that represents the shader variable Shininess.

Type

PropertyNode<float>

output

TSL object that represents the shader variable Output.

Type

PropertyNode<vec4>

dashSize

TSL object that represents the shader variable dashSize.

Type

PropertyNode<float>

gapSize

TSL object that represents the shader variable gapSize.

Type

PropertyNode<float>

pointWidth

TSL object that represents the shader variable pointWidth.

Type

PropertyNode<float>

ior

TSL object that represents the shader variable IOR.

Type

PropertyNode<float>

transmission

TSL object that represents the shader variable Transmission.

Type

PropertyNode<float>

thickness

TSL object that represents the shader variable Thickness.

Type

PropertyNode<float>

attenuationDistance

TSL object that represents the shader variable AttenuationDistance.

Type

PropertyNode<float>

attenuationColor

TSL object that represents the shader variable AttenuationColor.

Type

PropertyNode<color>

dispersion

TSL object that represents the shader variable Dispersion.

Type

PropertyNode<float>