{ "name": "math", "node_position": { "x": 0, "y": 0 }, "parameters": { "clamp": false, "default_in1": 0, "default_in2": 0, "op": 0 }, "shader_model": { "code": "float $(name_uv)_clamp_false = $op;\nfloat $(name_uv)_clamp_true = clamp($(name_uv)_clamp_false, 0.0, 1.0);\n", "global": "", "inputs": [ { "default": "$default_in1", "label": "2:A", "longdesc": "The A operand", "name": "in1", "shortdesc": "A", "type": "f" }, { "default": "$default_in2", "label": "B", "longdesc": "The B operand", "name": "in2", "shortdesc": "B", "type": "f" } ], "instance": "", "longdesc": "A node that performs a math operation using its inputs or parameter values", "name": "Math", "outputs": [ { "f": "$(name_uv)_clamp_$clamp", "longdesc": "Shows a greyscale image of the result", "shortdesc": "Output", "type": "f" } ], "parameters": [ { "default": 19, "label": "", "longdesc": "The operation to be performed", "name": "op", "shortdesc": "Operation", "type": "enum", "values": [ { "name": "A+B", "value": "$in1($uv)+$in2($uv)" }, { "name": "A-B", "value": "$in1($uv)-$in2($uv)" }, { "name": "A*B", "value": "$in1($uv)*$in2($uv)" }, { "name": "A/B", "value": "$in1($uv)/$in2($uv)" }, { "name": "log(A)", "value": "log($in1($uv))" }, { "name": "log2(A)", "value": "log2($in1($uv))" }, { "name": "pow(A, B)", "value": "pow($in1($uv),$in2($uv))" }, { "name": "abs(A)", "value": "abs($in1($uv))" }, { "name": "round(A)", "value": "round($in1($uv))" }, { "name": "floor(A)", "value": "floor($in1($uv))" }, { "name": "ceil(A)", "value": "ceil($in1($uv))" }, { "name": "trunc(A)", "value": "trunc($in1($uv))" }, { "name": "fract(A)", "value": "fract($in1($uv))" }, { "name": "min(A, B)", "value": "min($in1($uv),$in2($uv))" }, { "name": "max(A, B)", "value": "max($in1($uv),$in2($uv))" }, { "name": "A