MathNode

Last modified: Sep 4, 2025

This node represents a variety of mathematical methods available in shaders. They are divided into three categories:

  • Methods with one input like sin , cos or normalize .
  • Methods with two inputs like dot , cross or pow .
  • Methods with three inputs like mix , clamp or smoothstep .

Constructor

new MathNode(method, aNode, bNode?, cNode?, args)
ParameterTypeDefault Value
methodstring
aNodeNode
bNode?null | Nodenull
cNode?null | Nodenull
argsArray<any>

Constructs a new math node.

AccessorTypeModifiers
get typestringstatic
MethodTypeModifiers

Extends

TempNode

EPSILON

A small value used to handle floating-point precision errors.

Type

Node<float>

INFINITY

Represents infinity.

Type

Node<float>

PI

Represents PI.

Type

Node<float>

PI2

Represents PI * 2. Please use the non-deprecated version TWO_PI.

Type

Node<float>

TWO_PI

Represents PI * 2.

Type

Node<float>

HALF_PI

Represents PI / 2.

Type

Node<float>

all

ParameterTypeDefault Value
xNode | number

Returns

Node<bool>

any

ParameterTypeDefault Value
xNode | number

Returns

Node<bool>

radians

ParameterTypeDefault Value
xNode | number

Returns

Node

degrees

ParameterTypeDefault Value
xNode | number

Returns

Node

exp

ParameterTypeDefault Value
xNode | number

Returns

Node

exp2

ParameterTypeDefault Value
xNode | number

Returns

Node

log

ParameterTypeDefault Value
xNode | number

Returns

Node

log2

ParameterTypeDefault Value
xNode | number

Returns

Node

sqrt

ParameterTypeDefault Value
xNode | number

Returns

Node

inverseSqrt

ParameterTypeDefault Value
xNode | number

Returns

Node

floor

ParameterTypeDefault Value
xNode | number

Returns

Node

ceil

ParameterTypeDefault Value
xNode | number

Returns

Node

normalize

ParameterTypeDefault Value
xNode

Returns

Node

fract

ParameterTypeDefault Value
xNode | number

Returns

Node

sin

ParameterTypeDefault Value
xNode | number

Returns

Node

cos

ParameterTypeDefault Value
xNode | number

Returns

Node

tan

ParameterTypeDefault Value
xNode | number

Returns

Node

asin

ParameterTypeDefault Value
xNode | number

Returns

Node

acos

ParameterTypeDefault Value
xNode | number

Returns

Node

atan

ParameterTypeDefault Value
yNode | number
xany

Returns

Node

abs

ParameterTypeDefault Value
xNode | number

Returns

Node

sign

ParameterTypeDefault Value
xNode | number

Returns

Node

length

ParameterTypeDefault Value
xNode

Returns

Node<float>

negate

ParameterTypeDefault Value
xNode | number

Returns

Node

oneMinus

ParameterTypeDefault Value
xNode | number

Returns

Node

dFdx

ParameterTypeDefault Value
xNode | number

Returns

Node

dFdy

ParameterTypeDefault Value
xNode | number

Returns

Node

round

ParameterTypeDefault Value
xNode | number

Returns

Node

reciprocal

ParameterTypeDefault Value
xNode | number

Returns

Node

trunc

ParameterTypeDefault Value
xNode | number

Returns

Node

fwidth

ParameterTypeDefault Value
xNode | number

Returns

Node

transpose

ParameterTypeDefault Value
xNode<mat2|mat3|mat4>

Returns

Node

determinant

ParameterTypeDefault Value
xNode<mat2|mat3|mat4>

Returns

Node<float>

inverse

ParameterTypeDefault Value
xNode<mat2|mat3|mat4>

Returns

Node<mat2|mat3|mat4>

equals

ParameterTypeDefault Value
xnumber | Node
ynumber | Node

Returns

any

min

ParameterTypeDefault Value
valuesany

Returns

Node

max

ParameterTypeDefault Value
valuesany

Returns

Node

step

ParameterTypeDefault Value
xNode | number
yNode | number

Returns

Node

reflect

ParameterTypeDefault Value
INode<vec2|vec3|vec4>
NNode<vec2|vec3|vec4>

Returns

Node<vec2|vec3|vec4>

distance

ParameterTypeDefault Value
xNode<vec2|vec3|vec4>
yNode<vec2|vec3|vec4>

Returns

Node<float>

difference

ParameterTypeDefault Value
xNode | number
yNode | number

Returns

Node

dot

ParameterTypeDefault Value
xNode<vec2|vec3|vec4>
yNode<vec2|vec3|vec4>

Returns

Node<float>

cross

ParameterTypeDefault Value
xNode<vec2|vec3>
yNode<vec2|vec3>

Returns

Node<float|vec3>

pow

ParameterTypeDefault Value
xNode | number
yNode | number

Returns

Node

pow2

ParameterTypeDefault Value
xnumber | Node

Returns

Node

pow3

ParameterTypeDefault Value
xnumber | Node

Returns

Node

pow4

ParameterTypeDefault Value
xnumber | Node

Returns

Node

transformDirection

ParameterTypeDefault Value
directionNode<vec2|vec3|vec4>
matrixNode<mat2|mat3|mat4>

Returns

Node

cbrt

ParameterTypeDefault Value
anumber | Node

Returns

Node

lengthSq

ParameterTypeDefault Value
aany

Returns

any

mix

ParameterTypeDefault Value
aNode | number
bNode | number
tNode | number

Returns

Node

clamp

ParameterTypeDefault Value
valuenumber | Node
low?number | Node0
high?number | Node1

Returns

Node

saturate

ParameterTypeDefault Value
valuenumber | Node

Returns

Node

refract

ParameterTypeDefault Value
INode<vec2|vec3|vec4>
NNode<vec2|vec3|vec4>
etaNode<float>

Returns

Node<vec2|vec3|vec4>

smoothstep

ParameterTypeDefault Value
lowNode | number
highNode | number
xNode | number

Returns

Node

faceForward

ParameterTypeDefault Value
NNode<vec2|vec3|vec4>
INode<vec2|vec3|vec4>
NrefNode<vec2|vec3|vec4>

Returns

Node<vec2|vec3|vec4>

rand

Returns

void

mixElement

ParameterTypeDefault Value
tnumber | Node
e1number | Node
e2number | Node

Returns

Node

smoothstepElement

ParameterTypeDefault Value
xnumber | Node
lownumber | Node
highnumber | Node

Returns

Node

stepElement

ParameterTypeDefault Value
xnumber | Node
edgenumber | Node

Returns

Node

atan2

ParameterTypeDefault Value
ynumber | Node
xnumber | Node

Returns

Node

faceforward

Type

any

inversesqrt

Type

any