{ "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 maximun 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 whitch 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": "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 wich 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" } ] } ] }