This node represents a variety of mathematical methods available in shaders. They are divided into three categories:
-
Methods with one input like
sin,cosornormalize. -
Methods with two inputs like
dot,crossorpow. -
Methods with three inputs like
mix,clamporsmoothstep.
Constructor
new MathNode(method, aNode, bNode?, cNode?, args)| Parameter | Type | Default Value |
|---|---|---|
| method | string | — |
| aNode | Node | — |
| bNode? | null | Node | null |
| cNode? | null | Node | null |
| args | Array<any> | — |
Constructs a new math node.
| Accessor | Type | |
|---|---|---|
| get type | string | |
Properties
| Property | Type | Default Value | |
|---|---|---|---|
| method | string | — | |
| aNode | Node | — | |
| bNode | null | Node | — | |
| cNode | null | Node | — | |
| isMathNode | boolean | — | |
| Method | Type | |
|---|---|---|
| getInputType | (builder: NodeBuilder) => string | |
| generateNodeType | (builder: NodeBuilder) => string | |
| setup | (builder: any) => any | |
| generate | (builder: any, output: any) => any | |
| serialize | (data: any) => void | |
| deserialize | (data: any) => void | |
Extends
TempNodeA small value used to handle floating-point precision errors.
Type
Node<float>Represents infinity.
Type
Node<float>Represents PI.
Type
Node<float>Represents PI * 2. Please use the non-deprecated version TWO_PI.
Type
Node<float>Represents PI * 2.
Type
Node<float>Represents PI / 2.
Type
Node<float>Returns true if all components of x are true.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
Node<bool>Returns true if any components of x are true.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
Node<bool>Converts a quantity in degrees to radians.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeConvert a quantity in radians to degrees.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the natural exponentiation of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns 2 raised to the power of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the natural logarithm of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the base 2 logarithm of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the square root of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the inverse of the square root of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeFinds the nearest integer less than or equal to the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeFinds the nearest integer that is greater than or equal to the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeCalculates the unit vector in the same direction as the original vector.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | — |
Returns
NodeComputes the fractional part of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the sine of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the hyperbolic sine of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the cosine of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the hyperbolic cosine of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the tangent of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the hyperbolic tangent of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the arcsine of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the inverse hyperbolic sine of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the arccosine of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the inverse hyperbolic cosine of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the arc-tangent of the parameter.
If two parameters are provided, the result is atan2(y/x).
| Parameter | Type | Default Value |
|---|---|---|
| y | Node | number | — |
| x | Node | number | — |
Returns
NodeReturns the inverse hyperbolic tangent of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the absolute value of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeExtracts the sign of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeCalculates the length of a vector.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | — |
Returns
Node<float>Negates the value of the parameter (-x).
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturn 1 minus the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the partial derivative of the parameter with respect to x.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the partial derivative of the parameter with respect to y.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeRounds the parameter to the nearest integer.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the reciprocal of the parameter (1/x).
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeTruncates the parameter, removing the fractional part.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the sum of the absolute derivatives in x and y.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
Returns
NodeReturns the transpose of a matrix.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node<mat2|mat3|mat4> | — |
Returns
NodeReturns the determinant of a matrix.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node<mat2|mat3|mat4> | — |
Returns
Node<float>Returns the inverse of a matrix.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node<mat2|mat3|mat4> | — |
Returns
Node<mat2|mat3|mat4>Returns the least of the given values.
| Parameter | Type | Default Value |
|---|---|---|
| values | ...Node | number | — |
Returns
NodeReturns the greatest of the given values.
| Parameter | Type | Default Value |
|---|---|---|
| values | ...Node | number | — |
Returns
NodeGenerate a step function by comparing two values.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
| y | Node | number | — |
Returns
NodeCalculates the reflection direction for an incident vector.
| Parameter | Type | Default Value |
|---|---|---|
| I | Node<vec2|vec3|vec4> | — |
| N | Node<vec2|vec3|vec4> | — |
Returns
Node<vec2|vec3|vec4>Calculates the distance between two points.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node<vec2|vec3|vec4> | — |
| y | Node<vec2|vec3|vec4> | — |
Returns
Node<float>Calculates the absolute difference between two values.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
| y | Node | number | — |
Returns
NodeCalculates the dot product of two vectors.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node<vec2|vec3|vec4> | — |
| y | Node<vec2|vec3|vec4> | — |
Returns
Node<float>Calculates the cross product of two vectors.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node<vec2|vec3> | — |
| y | Node<vec2|vec3> | — |
Returns
Node<float|vec3>Return the value of the first parameter raised to the power of the second one.
| Parameter | Type | Default Value |
|---|---|---|
| x | Node | number | — |
| y | Node | number | — |
Returns
NodeReturns the square of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | number | Node | — |
Returns
NodeReturns the cube of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | number | Node | — |
Returns
NodeReturns the fourth power of the parameter.
| Parameter | Type | Default Value |
|---|---|---|
| x | number | Node | — |
Returns
NodeTransforms the direction of a vector by a matrix and then normalizes the result.
| Parameter | Type | Default Value |
|---|---|---|
| direction | Node<vec2|vec3|vec4> | — |
| matrix | Node<mat2|mat3|mat4> | — |
Returns
NodeReturns the cube root of a number.
| Parameter | Type | Default Value |
|---|---|---|
| a | number | Node | — |
Returns
NodeCalculate the squared length of a vector.
| Parameter | Type | Default Value |
|---|---|---|
| a | Node<vec2|vec3|vec4> | — |
Returns
Node<float>Linearly interpolates between two values.
| Parameter | Type | Default Value |
|---|---|---|
| a | Node | number | — |
| b | Node | number | — |
| t | Node | number | — |
Returns
NodeConstrains a value to lie between two further values.
| Parameter | Type | Default Value |
|---|---|---|
| value | number | Node | — |
| low? | number | Node | 0 |
| high? | number | Node | 1 |
Returns
NodeConstrains a value between 0 and 1.
| Parameter | Type | Default Value |
|---|---|---|
| value | number | Node | — |
Returns
NodeCalculates the refraction direction for an incident vector.
| Parameter | Type | Default Value |
|---|---|---|
| I | Node<vec2|vec3|vec4> | — |
| N | Node<vec2|vec3|vec4> | — |
| eta | Node<float> | — |
Returns
Node<vec2|vec3|vec4>Performs a Hermite interpolation between two values.
| Parameter | Type | Default Value |
|---|---|---|
| low | Node | number | — |
| high | Node | number | — |
| x | Node | number | — |
Returns
NodeReturns a vector pointing in the same direction as another.
| Parameter | Type | Default Value |
|---|---|---|
| N | Node<vec2|vec3|vec4> | — |
| I | Node<vec2|vec3|vec4> | — |
| Nref | Node<vec2|vec3|vec4> | — |
Returns
Node<vec2|vec3|vec4>Returns a random value for the given uv.
| Parameter | Type | Default Value |
|---|---|---|
| uv | Node<vec2> | — |
Returns
Node<float>Alias for mix() with a different parameter order.
| Parameter | Type | Default Value |
|---|---|---|
| t | number | Node | — |
| e1 | number | Node | — |
| e2 | number | Node | — |
Returns
NodeAlias for smoothstep() with a different parameter order.
| Parameter | Type | Default Value |
|---|---|---|
| x | number | Node | — |
| low | number | Node | — |
| high | number | Node | — |
Returns
NodeAlias for step() with a different parameter order.
| Parameter | Type | Default Value |
|---|---|---|
| x | number | Node | — |
| edge | number | Node | — |
Returns
NodeType
anyType
any