material-maker/addons/material_maker/nodes/sdannularshape.mmg

64 lines
1.3 KiB
Plaintext

{
"name": "sdannularshape",
"node_position": {
"x": 0,
"y": 0
},
"parameters": {
"r": 0.1,
"ripples": 1
},
"shader_model": {
"code": "",
"global": "float sdRipples(float d, float w, int r) {\n\tfor (int i = 0; i < r; ++i) {\n\t\td = abs(d)-w;\n\t}\n\treturn d;\n}\n",
"inputs": [
{
"default": "0.0",
"label": "",
"longdesc": "The input shape, defined as a signed distance function",
"name": "in",
"shortdesc": "Input",
"type": "sdf2d"
}
],
"instance": "",
"longdesc": "Creates an annular shape from a shape described as a signed distance function",
"name": "sdAnnularShape",
"outputs": [
{
"longdesc": "The generated layered shape",
"sdf2d": "sdRipples($in($uv), $r, int($ripples))",
"shortdesc": "Output",
"type": "sdf2d"
}
],
"parameters": [
{
"control": "None",
"default": 0,
"label": "Width",
"longdesc": "The width of each generated ripple",
"max": 1,
"min": 0,
"name": "r",
"shortdesc": "Width",
"step": 0.01,
"type": "float"
},
{
"control": "None",
"default": 1,
"label": "Ripples",
"longdesc": "The number of generated ripples",
"max": 16,
"min": 0,
"name": "ripples",
"shortdesc": "Ripples",
"step": 1,
"type": "float"
}
],
"shortdesc": "sdAnnularShape"
},
"type": "shader"
}