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

51 lines
1.1 KiB
Plaintext

{
"name": "sdrotate",
"node_position": {
"x": 0,
"y": 0
},
"parameters": {
"a": 0
},
"shader_model": {
"code": "",
"global": "vec2 sdf2d_rotate(vec2 uv, float a) {\n\tvec2 rv;\n\tfloat c = cos(a);\n\tfloat s = sin(a);\n\tuv -= vec2(0.5);\n\trv.x = uv.x*c+uv.y*s;\n\trv.y = -uv.x*s+uv.y*c;\n\treturn rv+vec2(0.5);\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": "A node that rotates its input shape described as a signed distance function",
"name": "Rotate",
"outputs": [
{
"longdesc": "The rotated shape",
"sdf2d": "$in(sdf2d_rotate($uv, $a*0.01745329251))",
"shortdesc": "Output",
"type": "sdf2d"
}
],
"parameters": [
{
"control": "Radius1.a",
"default": 0,
"label": "",
"longdesc": "The rotation angle",
"max": 180,
"min": -180,
"name": "a",
"shortdesc": "Angle",
"step": 1,
"type": "float"
}
],
"shortdesc": "sdRotate"
},
"type": "shader"
}