You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2026 lines
47 KiB
JSON

{
"nodes": [
{
"name": "Inputs",
"icon": "stack-push",
"children": [
{
"name": "Primitives",
"icon": "forms",
"children": [
{
"name": "Color",
"icon": "palette",
"editorClass": "ColorEditor"
},
{
"name": "Float",
"icon": "box-multiple-1",
"editorClass": "FloatEditor"
},
{
"name": "Slider",
"icon": "adjustments-horizontal",
"editorClass": "SliderEditor"
},
{
"name": "String",
"icon": "forms",
"editorClass": "StringEditor"
},
{
"name": "Texture",
"icon": "photo",
"editorClass": "TextureEditor"
},
{
"name": "Vector 2",
"icon": "box-multiple-2",
"editorClass": "Vector2Editor"
},
{
"name": "Vector 3",
"icon": "box-multiple-3",
"editorClass": "Vector3Editor"
},
{
"name": "Vector 4",
"icon": "box-multiple-4",
"editorClass": "Vector4Editor"
}
]
},
{
"name": "Camera",
"icon": "video",
"children": [
{
"name": "Camera Normal Matrix",
"icon": "video",
"nodeType": "mat3",
"shaderNode": "cameraNormalMatrix"
},
{
"name": "Camera Position",
"icon": "video",
"description": "Returns the global transform of the camera.",
"nodeType": "vec3",
"shaderNode": "cameraPosition"
},
{
"name": "Camera Projection Matrix",
"icon": "video",
"nodeType": "mat4",
"description": "Returns the matrix which contains the projection.",
"shaderNode": "cameraProjectionMatrix"
},
{
"name": "Camera View Matrix",
"icon": "video",
"nodeType": "mat4",
"shaderNode": "cameraViewMatrix"
},
{
"name": "Camera World Matrix",
"icon": "video",
"description": "Returns the global transform of the camera.",
"nodeType": "mat4",
"shaderNode": "cameraWorldMatrix"
}
]
},
{
"name": "Normal",
"icon": "arrow-bar-up",
"children": [
{
"name": "Normal Geometry",
"icon": "arrow-bar-up",
"description": "Return the normal vector from the coordinate space Geometry.",
"nodeType": "vec3",
"shaderNode": "normalGeometry"
},
{
"name": "Normal Local",
"icon": "arrow-bar-up",
"description": "Return the normal vector from the coordinate space Local.",
"nodeType": "vec3",
"shaderNode": "normalLocal"
},
{
"name": "Normal View",
"icon": "arrow-bar-up",
"description": "Return the normal vector from the coordinate space View.",
"nodeType": "vec3",
"shaderNode": "normalView"
},
{
"name": "Normal World",
"icon": "arrow-bar-up",
"description": "Return the normal vector from the coordinate space World.",
"nodeType": "vec3",
"shaderNode": "normalWorld"
},
{
"name": "Transformed Normal View",
"icon": "arrow-bar-up",
"nodeType": "vec3",
"shaderNode": "transformedNormalView"
},
{
"name": "Transformed Normal World",
"icon": "arrow-bar-up",
"nodeType": "vec3",
"shaderNode": "transformedNormalWorld"
}
]
},
{
"name": "Tangent",
"icon": "arrows-up-right",
"children": [
{
"name": "Tangent Geometry",
"icon": "arrows-up-right",
"nodeType": "vec3",
"shaderNode": "tangentGeometry"
},
{
"name": "Tangent Local",
"icon": "arrows-up-right",
"nodeType": "vec3",
"shaderNode": "tangentLocal"
},
{
"name": "Tangent View",
"icon": "arrows-up-right",
"nodeType": "vec3",
"shaderNode": "tangentView"
},
{
"name": "Tangent World",
"icon": "arrows-up-right",
"nodeType": "vec3",
"shaderNode": "tangentWorld"
},
{
"name": "Transformed Tangent View",
"icon": "arrows-up-right",
"nodeType": "vec3",
"shaderNode": "transformedTangentView"
},
{
"name": "Transformed Tangent World",
"icon": "arrows-up-right",
"nodeType": "vec3",
"shaderNode": "transformedTangentWorld"
}
]
},
{
"name": "Bitangent",
"icon": "arrows-up-left",
"children": [
{
"name": "Bitangent Geometry",
"icon": "arrows-up-left",
"nodeType": "vec3",
"shaderNode": "bitangentGeometry"
},
{
"name": "Bitangent Local",
"icon": "arrows-up-left",
"nodeType": "vec3",
"shaderNode": "bitangentLocal"
},
{
"name": "Bitangent View",
"icon": "arrow-up-left",
"nodeType": "vec3",
"shaderNode": "bitangentView"
},
{
"name": "Bitangent World",
"icon": "arrows-up-left",
"nodeType": "vec3",
"shaderNode": "bitangentWorld"
},
{
"name": "Transformed Bitangent View",
"icon": "arrows-up-left",
"nodeType": "vec3",
"shaderNode": "transformedBitangentView"
},
{
"name": "Transformed Bitangent World",
"icon": "arrows-up-left",
"nodeType": "vec3",
"shaderNode": "transformedBitangentWorld"
}
]
},
{
"name": "Model",
"icon": "box",
"children": [
{
"name": "Model Direction",
"icon": "box",
"nodeType": "vec3",
"shaderNode": "modelDirection"
},
{
"name": "Model Normal Matrix",
"icon": "box",
"nodeType": "mat3",
"shaderNode": "modelNormalMatrix"
},
{
"name": "Model Position",
"icon": "box",
"nodeType": "vec3",
"shaderNode": "modelPosition"
},
{
"name": "Model View Matrix",
"icon": "box",
"nodeType": "mat4",
"shaderNode": "modelViewMatrix"
},
{
"name": "Model View Position",
"icon": "box",
"nodeType": "vec3",
"shaderNode": "modelViewPosition"
},
{
"name": "Model World Matrix",
"icon": "box",
"nodeType": "mat4",
"shaderNode": "modelWorldMatrix"
}
]
},
{
"name": "Object",
"icon": "3d-cube-sphere",
"children": [
{
"name": "Object Direction",
"icon": "3d-cube-sphere",
"shaderNode": "objectDirection",
"properties": [
{
"name": "object3d",
"nodeType": "Object3D"
}
]
},
{
"name": "Object Normal Matrix",
"icon": "3d-cube-sphere",
"shaderNode": "objectNormalMatrix",
"nodeType": "mat3",
"properties": [
{
"name": "object3d",
"nodeType": "Object3D"
}
]
},
{
"name": "Object Position",
"icon": "3d-cube-sphere",
"shaderNode": "objectPosition",
"properties": [
{
"name": "object3d",
"nodeType": "Object3D"
}
]
},
{
"name": "Object View Matrix",
"icon": "3d-cube-sphere",
"shaderNode": "objectViewMatrix",
"nodeType": "mat4",
"properties": [
{
"name": "object3d",
"nodeType": "Object3D"
}
]
},
{
"name": "Object View Position",
"icon": "3d-cube-sphere",
"shaderNode": "objectViewPosition",
"properties": [
{
"name": "object3d",
"nodeType": "Object3D"
}
]
},
{
"name": "Object World Matrix",
"icon": "3d-cube-sphere",
"shaderNode": "objectWorldMatrix",
"properties": [
{
"name": "object3d",
"nodeType": "Object3D"
}
]
}
]
},
{
"name": "Position",
"icon": "gizmo",
"children": [
{
"name": "Position Geometry",
"icon": "gizmo",
"nodeType": "vec3",
"shaderNode": "positionGeometry"
},
{
"name": "Position Local",
"icon": "gizmo",
"nodeType": "mat4",
"shaderNode": "positionLocal"
},
{
"name": "Position View",
"icon": "gizmo",
"nodeType": "vec3",
"shaderNode": "positionView"
},
{
"name": "Position View Direction",
"icon": "gizmo",
"nodeType": "vec3",
"shaderNode": "positionViewDirection"
},
{
"name": "Position World",
"icon": "gizmo",
"nodeType": "mat3",
"shaderNode": "positionWorld"
},
{
"name": "Position World Direction",
"icon": "gizmo",
"nodeType": "mat4",
"shaderNode": "positionWorldDirection"
}
]
},
{
"name": "Viewport",
"icon": "device-desktop",
"children": [
{
"name": "Viewport Bottom Left",
"icon": "device-desktop",
"nodeType": "vec3",
"shaderNode": "viewportBottomLeft"
},
{
"name": "Viewport Bottom Right",
"icon": "device-desktop",
"nodeType": "vec3",
"shaderNode": "viewportBottomRight"
},
{
"name": "Viewport Coordinate",
"icon": "device-desktop",
"nodeType": "vec3",
"shaderNode": "viewportCoordinate"
},
{
"name": "Viewport Resolution",
"icon": "device-desktop",
"nodeType": "vec3",
"shaderNode": "viewportResolution"
},
{
"name": "Viewport Top Left",
"icon": "device-desktop",
"nodeType": "vec3",
"shaderNode": "viewportTopLeft"
},
{
"name": "Viewport Top Right",
"icon": "device-desktop",
"nodeType": "vec3",
"shaderNode": "viewportTopRight"
}
]
},
{
"name": "UV",
"icon": "chart-treemap",
"children": [
{
"name": "UV",
"icon": "chart-treemap",
"nodeType": "vec2",
"editorClass": "UVEditor"
},
{
"name": "Matcap UV",
"icon": "chart-treemap",
"nodeType": "vec1",
"shaderNode": "matcapUV"
},
{
"name": "Point UV",
"icon": "chart-treemap",
"nodeType": "vec1",
"shaderNode": "pointUV"
}
]
},
{
"name": "Geometry",
"icon": "world",
"children": [
{
"name": "Attribute",
"icon": "book-upload",
"shaderNode": "attribute",
"nodeType": "bool",
"properties": [
{
"name": "aNode",
"nodeType": "node"
}
]
},
{
"name": "Face Direction",
"icon": "brightness",
"nodeType": "float",
"shaderNode": "faceDirection"
},
{
"name": "Front Facing",
"icon": "brightness",
"shaderNode": "frontFacing",
"nodeType": "bool"
},
{
"name": "Geometry Color",
"icon": "palette",
"shaderNode": "geometryColor",
"nodeType": "color"
}
]
}
]
},
{
"name": "Math",
"icon": "calculator",
"children": [
{
"name": "Arithmetic Operators",
"icon": "math-symbols",
"children": [
{
"name": "Addition",
"icon": "plus",
"description": "Addition operator.",
"shaderNode": "add",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Division",
"icon": "divide",
"description": "Division operator.",
"shaderNode": "div",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Multiply",
"icon": "x",
"tags": "tag1,tag2",
"description": "Multiply operator.",
"shaderNode": "mul",
"nodeType": "node",
"renderers": "WebGPU",
"properties": [
{
"name": "aNode",
"nodeType": "float"
},
{
"name": "bNode",
"nodeType": "float"
}
]
},
{
"name": "Power",
"icon": "arrow-up-right",
"description": "Exponentiation operator.",
"shaderNode": "pow",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Remainder",
"icon": "percentage",
"description": "Remainder operator.",
"shaderNode": "remainder",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Subtraction",
"icon": "minus",
"description": "Subtraction operator.",
"shaderNode": "sub",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
}
]
},
{
"name": "Logic Operators",
"icon": "math-symbols",
"children": [
{
"name": "Less Than",
"icon": "math-lower",
"description": "Less than operator..",
"shaderNode": "lessThan",
"nodeType": "bool",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Less Than Or Equal",
"icon": "math-equal-lower",
"description": "Less than or equal operator.",
"shaderNode": "lessThanEqual",
"nodeType": "bool",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Greater Than",
"icon": "math-greater",
"description": "Greater than operator.",
"shaderNode": "greaterThan",
"nodeType": "bool",
"renderers": "WebGPU",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Greater Than Or Equal",
"icon": "math-equal-greater",
"description": "Greater than or equal operator.",
"shaderNode": "greaterThanEqual",
"nodeType": "bool",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Equality",
"icon": "equal-double",
"description": "Equality operator.",
"shaderNode": "equal",
"nodeType": "bool",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Inequality",
"icon": "equal-not",
"description": "Inequality operator.",
"shaderNode": "notEqual",
"nodeType": "bool",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "And",
"icon": "ampersand",
"description": "Logical AND operator.",
"shaderNode": "and",
"nodeType": "bool",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Or",
"icon": "switch-horizontal",
"description": "Logical OR operator.",
"shaderNode": "or",
"nodeType": "bool",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Conditional",
"icon": "arrows-split",
"description": "Logical OR operator.",
"shaderNode": "Conditional",
"nodeType": "bool",
"properties": [
{
"name": "condNode",
"nodeType": "node"
},
{
"name": "ifNode",
"nodeType": "node"
},
{
"name": "elseNode",
"nodeType": "node"
}
]
}
]
},
{
"name": "Bitwise Operators",
"icon": "math-symbols",
"children": [
{
"name": "Bitwise AND",
"icon": "binary",
"description": "Bitwise AND operator.",
"shaderNode": "bitAnd",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Bitwise OR",
"icon": "binary",
"description": "Bitwise OR operator.",
"shaderNode": "bitOr",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Bitwise XOR",
"icon": "binary",
"description": "Bitwise XOR operator.",
"shaderNode": "bitXor",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Shift left",
"icon": "binary",
"description": "Bitwise left shift operator.",
"shaderNode": "shiftLeft",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "Shift right",
"icon": "binary",
"description": "Bitwise right shift operator.",
"shaderNode": "shiftRight",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
},
{
"name": "XOR",
"icon": "binary",
"description": "Bitwise XOR operator.",
"shaderNode": "xor",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
},
{
"name": "bNode",
"nodeType": "node"
}
]
}
]
},
{
"name": "Functions",
"icon": "math-function",
"children": [
{
"name": "Abs",
"icon": "math-function",
"description": "Returns the absolute value of x.",
"shaderNode": "abs",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value of which to return the absolute."
}
]
},
{
"name": "Acos",
"icon": "math-function",
"description": "Returns the angle whose trigonometric cosine is x.",
"shaderNode": "acos",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value whose arccosine to return."
}
]
},
{
"name": "Asin",
"icon": "math-function",
"description": "Returns the angle whose trigonometric sine is X.",
"shaderNode": "asin",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value whose arcsine to return."
}
]
},
{
"name": "Atan",
"icon": "math-function",
"description": "Returns either the angle whose trigonometric arctangent is yx or y_over_x, depending on which overload is invoked. In the first overload, the signs of y and x are used to determine the quadrant that the angle lies in.",
"shaderNode": "atan",
"nodeType": "node",
"properties": [
{
"name": "aSNode",
"nodeType": "node",
"label": "y_over_x",
"description": "Specify the fraction whose arctangent to return."
}
]
},
{
"name": "Atan2",
"icon": "math-function",
"description": "Return the arc-tangent of the parameters",
"shaderNode": "atan2",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "y",
"description": "Specify the numerator of the fraction whose arctangent to return."
},
{
"name": "bNode",
"nodeType": "node",
"label": "x",
"description": "Specify the denominator of the fraction whose arctangent to return."
}
]
},
{
"name": "Ceil",
"icon": "math-function",
"description": "Returns a value equal to the nearest integer that is greater than or equal to x.",
"shaderNode": "ceil",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value to evaluate."
}
]
},
{
"name": "Clamp",
"icon": "math-function",
"description": "Constrain a value to lie between two further values",
"shaderNode": "clamp",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value to constrain."
},
{
"name": "bNode",
"nodeType": "node",
"label": "minVal",
"description": "Specify the lower end of the range into which to constrain."
},
{
"name": "cNode",
"nodeType": "node",
"label": "maxVal",
"description": "Specify the upper end of the range into which to constrain."
}
]
},
{
"name": "Cosine",
"icon": "math-function",
"description": "Returns the trigonometric cosine of angle.",
"shaderNode": "cos",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "angle",
"description": "Specify the quantity, in radians, of which to return the cosine."
}
]
},
{
"name": "Cross",
"icon": "math-function",
"description": "Calculate the cross product of two vectors",
"shaderNode": "cross",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specifies the first of two points."
},
{
"name": "bNode",
"nodeType": "node",
"label": "y",
"description": "Specifies the second of two points."
}
]
},
{
"name": "Degrees",
"icon": "math-function",
"description": "Converts a quantity specified in radians into degrees.",
"shaderNode": "degrees",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "radians",
"description": "Specify the quantity, in radians, to be converted to degrees."
}
]
},
{
"name": "Distance",
"icon": "math-function",
"description": "Calculate the distance between two points",
"shaderNode": "distance",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "p0",
"description": "Specifies the first of two points."
},
{
"name": "bNode",
"nodeType": "node",
"label": "p1",
"description": "Specifies the second of two points."
}
]
},
{
"name": "Dot",
"icon": "math-function",
"description": "Calculate the dot product of two vectors",
"shaderNode": "dot",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specifies the first of two points."
},
{
"name": "bNode",
"nodeType": "node",
"label": "y",
"description": "Specifies the second of two points."
}
]
},
{
"name": "Exp",
"icon": "math-function",
"description": "Returns the natural exponentiation of x. i.e., ex.",
"shaderNode": "exp",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value to exponentiate."
}
]
},
{
"name": "Face Forward",
"icon": "math-function",
"description": "Return a vector pointing in the same direction as another",
"shaderNode": "faceForward",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "n",
"description": "Specifies the vector to orient."
},
{
"name": "bNode",
"nodeType": "node",
"label": "i",
"description": "Specifies the incident vector."
},
{
"name": "cNode",
"nodeType": "node",
"label": "nref",
"description": "Specifies the reference vector."
}
]
},
{
"name": "Floor",
"icon": "math-function",
"description": "Returns a value equal to the nearest integer that is less than or equal to x.",
"shaderNode": "floor",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value to evaluate."
}
]
},
{
"name": "Fract",
"icon": "math-function",
"description": "Returns the fractional part of x. This is calculated as x - floor(x).",
"shaderNode": "fract",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value to evaluate."
}
]
},
{
"name": "Inverse Sqrt",
"icon": "math-function",
"description": "Returns the inverse of the square root of x; i.e. the value 1x√.",
"shaderNode": "inversesqrt",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value of which to take the inverse of the square root."
}
]
},
{
"name": "Length",
"icon": "math-function",
"description": "Returns the length of the vector, i.e.",
"shaderNode": "length",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the vector of which to calculate the length."
}
]
},
{
"name": "Log",
"icon": "math-function",
"description": "Returns the natural logarithm of x, i.e. the value y which satisfies x=ey.",
"shaderNode": "log",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value of which to take the natural logarithm."
}
]
},
{
"name": "Log2",
"icon": "math-function",
"description": "Returns the base 2 logarithm of x, i.e. the value y which satisfies x=2y.",
"shaderNode": "log2",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value of which to take the base 2 logarithm."
}
]
},
{
"name": "Max",
"icon": "math-function",
"description": "Returns the maximum of the two parameters.",
"shaderNode": "max",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the first value to compare."
},
{
"name": "bNode",
"nodeType": "node",
"label": "y",
"description": "Specify the second value to compare."
}
]
},
{
"name": "Min",
"icon": "math-function",
"description": "Returns the minimum of the two parameters.",
"shaderNode": "min",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the first value to compare."
},
{
"name": "bNode",
"nodeType": "node",
"label": "y",
"description": "Specify the second value to compare."
}
]
},
{
"name": "Mix",
"icon": "math-function",
"description": "Linearly interpolate between two values",
"shaderNode": "mix",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the start of the range in which to interpolate."
},
{
"name": "bNode",
"nodeType": "node",
"label": "y",
"description": "Specify the end of the range in which to interpolate."
},
{
"name": "cNode",
"nodeType": "node",
"label": "a",
"description": "Specify the value to use to interpolate between x and y."
}
]
},
{
"name": "Modulo",
"icon": "math-function",
"description": "Returns the value of x modulo y.",
"shaderNode": "mod",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value to evaluate."
},
{
"name": "bNode",
"nodeType": "float",
"label": "y",
"description": "Specify the value to evaluate."
}
]
},
{
"name": "Negate",
"icon": "math-function",
"description": "Returns the flipped sign value of input In",
"shaderNode": "negate",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"description": "Input value."
}
]
},
{
"name": "Normalize",
"icon": "math-function",
"description": "Returns a vector with the same direction as its parameter, v, but with length 1.",
"shaderNode": "normalize",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "v",
"description": "Specifies the vector to normalize."
}
]
},
{
"name": "One Minus",
"icon": "math-function",
"description": "Returns the result of input `a` subtracted from 1.",
"shaderNode": "oneMinus",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"description": "Input value."
}
]
},
{
"name": "Pow",
"icon": "math-function",
"description": "Return the value of the first parameter raised to the power of the second",
"shaderNode": "pow",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value to raise to the power y."
},
{
"name": "bNode",
"nodeType": "node",
"label": "y",
"description": "Specify the value to raise x."
}
]
},
{
"name": "Radians",
"icon": "math-function",
"description": "Converts a quantity specified in degrees into radians.",
"shaderNode": "radians",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "degrees",
"description": "Specify the quantity, in degrees, to be converted to radians."
}
]
},
{
"name": "Reciprocal",
"icon": "math-function",
"description": "Returns the result of dividing 1 by the input.",
"shaderNode": "reciprocal",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"description": "Input value."
}
]
},
{
"name": "Reflect",
"icon": "math-function",
"description": "Calculate the reflection direction for an incident vector",
"shaderNode": "reflect",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "i",
"description": "Specifies the incident vector."
},
{
"name": "bNode",
"nodeType": "node",
"label": "n",
"description": "Specifies the normal vector."
}
]
},
{
"name": "Refract",
"icon": "math-function",
"description": "Calculate the refraction direction for an incident vector",
"shaderNode": "refract",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "i",
"description": "Specifies the incident vector."
},
{
"name": "bNode",
"nodeType": "node",
"label": "n",
"description": "Specifies the normal vector."
},
{
"name": "cNode",
"nodeType": "node",
"label": "eta",
"description": "Specifies the ratio of indices of refraction."
}
]
},
{
"name": "Remap",
"icon": "math-function",
"nodeType": "node",
"shaderNode": "remap",
"properties": [
{
"name": "node",
"nodeType": "node"
},
{
"name": "inLowNode",
"nodeType": "node"
},
{
"name": "inHighNode",
"nodeType": "node"
},
{
"name": "outLowNode",
"nodeType": "node"
},
{
"name": "outHighNode",
"nodeType": "node"
}
]
},
{
"name": "Normal Map",
"icon": "photo",
"description": "Converts a normal map value to a normal vector.",
"shaderNode": "normalMap",
"nodeType": "node",
"properties": [
{
"name": "node",
"nodeType": "vec3",
"label": "normal",
"description": "Specifies the vector to convert."
}
]
},
{
"name": "Round",
"icon": "math-function",
"description": "Round returns a value equal to the nearest integer to x.",
"shaderNode": "round",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value to evaluate."
}
]
},
{
"name": "Saturate",
"icon": "math-function",
"shaderNode": "saturate",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node"
}
]
},
{
"name": "Sign",
"icon": "math-function",
"description": "Returns -1.0 if x is less than 0.0, 0.0 if x is equal to 0.0, and +1.0 if x is greater than 0.0.",
"shaderNode": "sign",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value from which to extract the sign."
}
]
},
{
"name": "Sine",
"icon": "math-function",
"description": "Returns the trigonometric sine of angle.",
"shaderNode": "sin",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "angle",
"description": "Specify the quantity, in radians, of which to return the sine."
}
]
},
{
"name": "Smoothstep",
"icon": "math-function",
"description": "Perform Hermite interpolation between two values",
"shaderNode": "smoothstep",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "edge0",
"description": "Specifies the value of the lower edge of the Hermite function."
},
{
"name": "bNode",
"nodeType": "node",
"label": "edge1",
"description": "Specifies the value of the upper edge of the Hermite function."
},
{
"name": "cNode",
"nodeType": "node",
"label": "x",
"description": "Specifies the value to be used to generate the Hermite function."
}
]
},
{
"name": "Sqrt",
"icon": "math-function",
"description": "Returns the square root of x, i.e.",
"shaderNode": "sqrt",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value of which to take the square root."
}
]
},
{
"name": "Tangent",
"icon": "math-function",
"description": "Returns the trigonometric tangent of angle.",
"shaderNode": "tan",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "angle",
"description": "Specify the quantity, in radians, of which to return the tangent."
}
]
},
{
"name": "Transform Direction",
"icon": "math-function",
"description": "Transforms the direction of vector by a matrix and then normalizes the result.",
"shaderNode": "transformDirection",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "dir"
},
{
"name": "bNode",
"nodeType": "node",
"label": "matrix"
}
]
},
{
"name": "dFdx",
"icon": "math-function",
"description": "Return the partial derivative of expression p with respect to the window x coordinate.",
"shaderNode": "dFdx",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "p",
"description": "Specifies the expression of which to take the partial derivative."
}
]
},
{
"name": "dFdy",
"icon": "math-function",
"description": "Return the partial derivative of expression p with respect to the window y coordinate.",
"shaderNode": "dFdy",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "p",
"description": "Specifies the expression of which to take the partial derivative."
}
]
},
{
"name": "Step",
"icon": "math-function",
"description": "Generates a step function by comparing x to edge.",
"shaderNode": "step",
"nodeType": "node",
"properties": [
{
"name": "aNode",
"nodeType": "node",
"label": "edge",
"description": "Specifies the location of the edge of the step function."
},
{
"name": "bNode",
"nodeType": "node",
"label": "x",
"description": "Specify the value to be used to generate the step function."
}
]
}
]
},
{
"name": "Constants",
"icon": "123",
"children": [
{
"name": "Epsilon",
"icon": "letter-e",
"shaderNode": "EPSILON",
"nodeType": "float",
"value": 1000000
},
{
"name": "Infinity",
"icon": "infinity",
"shaderNode": "INFINITY",
"nodeType": "float",
"value": 0.000001
},
{
"name": "PI",
"icon": "math-pi",
"shaderNode": "PI",
"nodeType": "float",
"value": 3.141592653589793
}
]
}
]
},
{
"name": "Filters",
"icon": "color-filter",
"children": [
{
"name": "Burn",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "burn",
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
},
{
"name": "Difference",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "difference",
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
},
{
"name": "Dodge",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "dodge",
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
},
{
"name": "Hue",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "hue",
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
},
{
"name": "Luminance",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "luminance",
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
},
{
"name": "Overlay",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "overlay",
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
},
{
"name": "Posterize",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "posterize",
"visible": false,
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
},
{
"name": "Saturation",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "saturation",
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
},
{
"name": "Screen",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "screen",
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
},
{
"name": "Vibrance",
"icon": "color-filter",
"nodeType": "color",
"shaderNode": "vibrance",
"properties": [
{
"name": "blendNode",
"nodeType": "color"
},
{
"name": "baseNode",
"nodeType": "color"
}
]
}
]
},
{
"name": "Utils",
"icon": "apps",
"children": [
{
"name": "Channel",
"icon": "server-2",
"children": [
{
"name": "Join",
"icon": "arrows-join",
"nodeType": "node",
"editorClass": "JoinEditor"
},
{
"name": "Split",
"icon": "arrows-split",
"nodeType": "node",
"editorClass": "SplitEditor"
},
{
"name": "Swizzle",
"icon": "switch-3",
"nodeType": "node",
"editorClass": "SwizzleEditor"
}
]
},
{
"name": "UV",
"icon": "chart-treemap",
"children": [
{
"name": "Rotate UV",
"icon": "rotate-clockwise-2",
"nodeType": "float",
"shaderNode": "rotateUV"
}
]
},
{
"name": "Preview",
"icon": "square-check",
"nodeType": "float",
"editorClass": "PreviewEditor"
},
{
"name": "Timer",
"icon": "clock",
"editorClass": "TimerEditor"
}
]
},
{
"name": "Conversions",
"icon": "arrows-exchange",
"children": [
{
"name": "Color To Direction",
"icon": "arrows-exchange",
"nodeType": "color",
"shaderNode": "colorToDirection"
},
{
"name": "Direction To Color",
"icon": "arrows-exchange",
"nodeType": "color",
"shaderNode": "directionToColor"
}
]
},
{
"name": "Procedural",
"icon": "binary-tree",
"children": [
{
"name": "Checker",
"icon": "border-all",
"nodeType": "float",
"shaderNode": "checker",
"properties": [
{
"name": "uvNode",
"nodeType": "vec2"
}
]
},
{
"name": "Range",
"icon": "sort-ascending-2",
"nodeType": "node",
"shaderNode": "range",
"properties": [
{
"name": "minNode",
"nodeType": "InputNode"
},
{
"name": "maxNode",
"nodeType": "InputNode"
}
]
}
]
},
{
"name": "Prototype",
"icon": "code",
"children": [
{
"name": "Node Prototype",
"icon": "components",
"editorClass": "NodePrototypeEditor"
},
{
"name": "Scriptable",
"icon": "variable",
"editorClass": "ScriptableEditor"
}
]
},
{
"name": "Material",
"icon": "circles",
"children": [
{
"name": "Basic Material",
"icon": "circle",
"nodeType": "float",
"editorClass": "BasicMaterialEditor",
"editorURL": "./materials/BasicMaterialEditor.js"
},
{
"name": "Points Material",
"icon": "circle-dotted",
"nodeType": "float",
"editorClass": "PointsMaterialEditor"
},
{
"name": "Standard Material",
"icon": "inner-shadow-top-left",
"nodeType": "float",
"editorClass": "StandardMaterialEditor"
}
]
}
]
}