Added Repeat and CircleRepeat 2D SDF nodes

This commit is contained in:
Rodolphe Suescun 2020-08-16 10:30:05 +02:00
parent a48a1687d3
commit 8a41750ec6
5 changed files with 137 additions and 0 deletions

View File

@ -0,0 +1,47 @@
{
"name": "sdcirclerepeat",
"node_position": {
"x": 0,
"y": 0
},
"parameters": {
"c": 6
},
"seed_value": 44955,
"shader_model": {
"code": "",
"global": "vec2 circle_repeat_transform_2d(vec2 p, float count) {\n\tfloat r = 6.28/count;\n\tfloat pa = atan(p.x, p.y);\n\tfloat a = mod(pa+0.5*r, r)-0.5*r;\n\tvec2 rv;\n\tfloat c = cos(a-pa);\n\tfloat s = sin(a-pa);\n\trv.x = p.x*c+p.y*s;\n\trv.y = -p.x*s+p.y*c;\n\treturn rv;\n}\n",
"includes": [
""
],
"inputs": [
{
"default": "0.0",
"label": "",
"name": "in",
"type": "sdf2d"
}
],
"instance": "",
"name": "Circle Repeat",
"outputs": [
{
"sdf2d": "$in(circle_repeat_transform_2d($uv-vec2(0.5), $c)+vec2(0.5))",
"type": "sdf2d"
}
],
"parameters": [
{
"control": "None",
"default": 4,
"label": "",
"max": 32,
"min": 1,
"name": "c",
"step": 1,
"type": "float"
}
]
},
"type": "shader"
}

View File

@ -0,0 +1,68 @@
{
"name": "sdrepeat",
"node_position": {
"x": 0,
"y": 0
},
"parameters": {
"r": 0.5,
"rx": 3,
"ry": 3
},
"shader_model": {
"code": "",
"global": "vec2 repeat_2d(vec2 p, vec2 r, float seed, float randomness) {\n\tp -= vec2(0.5);\n\tfloat a = (rand(floor(mod((p.xy+0.5*r.xy)/r.xy, 1.0/r.xy)+vec2(seed)))-0.5)*6.28*randomness;\n\tp = mod(p+0.5*r,r)-0.5*r;\n\tvec2 rv;\n\tfloat c = cos(a);\n\tfloat s = sin(a);\n\trv.x = p.x*c+p.y*s;\n\trv.y = -p.x*s+p.y*c;\n\treturn rv+vec2(0.5);\n}\n",
"includes": [
""
],
"inputs": [
{
"default": "0.0",
"label": "",
"name": "in",
"type": "sdf2d"
}
],
"instance": "",
"name": "Repeat",
"outputs": [
{
"sdf2d": "$in(repeat_2d($uv, vec2(1.0/$rx, 1.0/$ry), float($seed), $r))",
"type": "sdf2d"
}
],
"parameters": [
{
"control": "None",
"default": 4,
"label": "X",
"max": 32,
"min": 1,
"name": "rx",
"step": 1,
"type": "float"
},
{
"control": "None",
"default": 4,
"label": "Y",
"max": 32,
"min": 1,
"name": "ry",
"step": 1,
"type": "float"
},
{
"control": "None",
"default": 0.5,
"label": "R",
"max": 1,
"min": 0,
"name": "r",
"step": 0.01,
"type": "float"
}
]
},
"type": "shader"
}

View File

@ -383,6 +383,28 @@
"tree_item": "Simple/SDF/Operators/sdMorph",
"type": "sdmorph"
},
{
"collapsed": true,
"icon": "simple_sdf_operators_sdrepeat",
"name": "sdrepeat",
"parameters": {
"r": 0.5,
"rx": 3,
"ry": 3
},
"tree_item": "Simple/SDF/Operators/sdRepeat",
"type": "sdrepeat"
},
{
"collapsed": true,
"icon": "simple_sdf_operators_sdcirclerepeat",
"name": "sdcirclerepeat",
"parameters": {
"c": 6
},
"tree_item": "Simple/SDF/Operators/sdCircleRepeat",
"type": "sdcirclerepeat"
},
{
"collapsed": false,
"tree_item": "Simple/SDF/Transforms"

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB