mirror of
https://github.com/Relintai/mat_maker_gd.git
synced 2025-04-30 10:57:56 +02:00
70 lines
1.6 KiB
Plaintext
70 lines
1.6 KiB
Plaintext
{
|
|
"name": "sdf3d_boolean",
|
|
"node_position": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"parameters": {
|
|
"op": 0
|
|
},
|
|
"seed_value": 60292,
|
|
"shader_model": {
|
|
"code": "",
|
|
"global": "vec2 sdf3dc_union(vec2 a, vec2 b) {\n\treturn vec2(min(a.x, b.x), mix(b.y, a.y, step(a.x, b.x)));\n}\nvec2 sdf3dc_sub(vec2 a, vec2 b) {\n\treturn vec2(max(-a.x, b.x), a.y);\n}\nvec2 sdf3dc_inter(vec2 a, vec2 b) {\n\treturn vec2(max(a.x, b.x), mix(a.y, b.y, step(a.x, b.x)));\n}\n",
|
|
"inputs": [
|
|
{
|
|
"default": "vec2(100.0, 0.0)",
|
|
"label": "",
|
|
"longdesc": "The first shape, defined as a signed distance function",
|
|
"name": "in1",
|
|
"shortdesc": "Input1",
|
|
"type": "sdf3dc"
|
|
},
|
|
{
|
|
"default": "vec2(100.0, 0.0)",
|
|
"label": "",
|
|
"longdesc": "The second shape, defined as a signed distance function",
|
|
"name": "in2",
|
|
"shortdesc": "Input2",
|
|
"type": "sdf3dc"
|
|
}
|
|
],
|
|
"instance": "",
|
|
"longdesc": "Performs a boolean operation (union, intersection or difference) between two shapes",
|
|
"name": "Boolean",
|
|
"outputs": [
|
|
{
|
|
"longdesc": "The shape generated by the boolean operation",
|
|
"sdf3dc": "$op($in1($uv), $in2($uv))",
|
|
"shortdesc": "Output",
|
|
"type": "sdf3dc"
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"default": 2,
|
|
"label": "",
|
|
"longdesc": "The operation performed by this node",
|
|
"name": "op",
|
|
"shortdesc": "Operation",
|
|
"type": "enum",
|
|
"values": [
|
|
{
|
|
"name": "Union",
|
|
"value": "sdf3dc_union"
|
|
},
|
|
{
|
|
"name": "Subtraction",
|
|
"value": "sdf3dc_sub"
|
|
},
|
|
{
|
|
"name": "Intersection",
|
|
"value": "sdf3dc_inter"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"shortdesc": "Boolean"
|
|
},
|
|
"type": "shader"
|
|
} |