Updated the sdline node (moved profile to an input to optimize generate code)

This commit is contained in:
Rodz Labs 2021-10-06 22:13:59 +02:00
parent 2eaf6a5287
commit 60f587e5e5
3 changed files with 112 additions and 5 deletions

View File

@ -0,0 +1,105 @@
{
"name": "sdline2",
"node_position": {
"x": 0,
"y": 0
},
"parameters": {
"ax": -0.3,
"ay": -0.3,
"bx": 0.3,
"by": 0.3,
"r": 0.1
},
"seed": 0,
"seed_locked": false,
"shader_model": {
"code": "vec2 $(name_uv)_sdl = sdLine($uv, vec2($ax+0.5, $ay+0.5), vec2($bx+0.5, $by+0.5));",
"global": "vec2 sdLine(vec2 p, vec2 a, vec2 b) {\n vec2 pa = p-a, ba = b-a;\n float h = clamp(dot(pa,ba)/dot(ba,ba), 0.0, 1.0);\n return vec2(length(pa-ba*h), h);\n}\n",
"inputs": [
{
"default": "1.0",
"label": "",
"longdesc": "A profile for the shape, generated (for example) by a Tonality node.",
"name": "profile",
"shortdesc": "Profile",
"type": "f"
}
],
"instance": "",
"longdesc": "A line or a capsule shape described as a signed distance function",
"name": "sdLine",
"outputs": [
{
"longdesc": "The shape as signed distance function",
"sdf2d": "$(name_uv)_sdl.x-$r*$profile(vec2($(name_uv)_sdl.y, 0.5))",
"shortdesc": "Output",
"type": "sdf2d"
}
],
"parameters": [
{
"control": "P1.x",
"default": 0,
"label": "A X",
"longdesc": "The position on the X axis of the first point of the line",
"max": 1,
"min": -1,
"name": "ax",
"shortdesc": "A.x",
"step": 0.01,
"type": "float"
},
{
"control": "P1.y",
"default": 0,
"label": "A Y",
"longdesc": "The position on the Y axis of the first point of the line",
"max": 1,
"min": -1,
"name": "ay",
"shortdesc": "A.y",
"step": 0.01,
"type": "float"
},
{
"control": "P2.x",
"default": 1,
"label": "B X",
"longdesc": "The position on the X axis of the second point of the line",
"max": 1,
"min": -1,
"name": "bx",
"shortdesc": "B.x",
"step": 0.01,
"type": "float"
},
{
"control": "P2.y",
"default": 1,
"label": "B Y",
"longdesc": "The position on the Y axis of the second point of the line",
"max": 1,
"min": -1,
"name": "by",
"shortdesc": "B.y",
"step": 0.01,
"type": "float"
},
{
"control": "Radius1.r",
"default": 0,
"label": "Width",
"longdesc": "The width of the capsule shape around the line",
"max": 1,
"min": 0,
"name": "r",
"shortdesc": "Width",
"step": 0.01,
"type": "float"
}
],
"shortdesc": "sdLine"
},
"type": "shader"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -245,17 +245,19 @@
"type": "sdbox"
},
{
"icon": "simple_sdf_shapes_sdline",
"icon_data": "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABWpJREFUeJzl212IXdUVwPFfcm37IiKKJTQBrVibaVXaKCZN/EKtCCYNtj7EpA8+GCWIxiK1ImgHAsGKSlKDD4JIicE2JCoRShsaYwZsScgH0dQ2rYqaNIwxVWIcP4PLh7VneufMuVrf5p6zYcM9a6/99d97r3PuOWtNYXrwHxPTfFyPC/FNnIDjJU/B1zAVH+A1bMGjeL2mrSW4EydjHe6u0VmKG9HB7/Bwjc4yXFv6fAIbanRuwsV4B+vxQqV8Khbje3hLh2OD4xVm4AH8Aj/A+/gbNpZOn8Sz+CveLAP+Tun0SnwdOyqdvoRjON//gG6p6OyWYH9Y8jdq2tmJE3EeBuRivFzR2YXTMBNnln4PdJUH9mEavj0mKfmSYFswEuwPfhMMxHidurww2BgcCQ4Ha3roLQn2Bm8EK3voLA22BzuDW3voLAs2B88E1/XQuSlYG6wO5tWUTw1+Hh0MJplL8GChuw134HEc8eVpv9xuH+NczJO7YlNFb/LthAJgBtaUBp/FDXjly+c9IW0vncySEM4y2SEUAA/garnyN+C9msnNwk/xE1yEb+EQPqzo7cfBMsF+gGB+cLCc+bk1Z2VOsD44FHwSHC95JNgXrOhxBhcELwbvBY9NWpvQ4deDae3XyjPfnRZhlVzJI3KHbMZefIKzcWlZyb8Yvxv+pU92wr8jc9Xazwn+GXwUrKspFywO9pQdsSk4tR93wtHIW1hVcX2Z2LoeDY3mi4JdfQzBSHBvRWFW5Jl/tcfKNwmCo6Xj7sJbIg3ehh6TndYgCP4bXFMpWFEm8tCESQ4PD8fQ0FAwsyEQvBP5KNstvKdM4pGKfFoMDQ1FRDQJwrHg5opwUaRt2FpTYWbTIIwEqyrCUyIfct6NvNU1GsLbwfM1FVZEPgPsKZNpLITtwVsx0Q4Ini6D39VkCCuD96P+YejUMugmQ3BGsDvyZcbyFkKgKB2O/EdYdxSaDGHsYk3kU+GLZRBtgTDu4rHSaasgVAWtg1BXoVUQqv8EWwdhb7QcwhvRbghWRrshEO2GMHbRVgjjLloJoSpoHYS6Cq2CsLRHhdZA2B4th7Az2g3BrdFuCES7IYxdtBXCuItWQqgKWgehbvBNhnA0Kn6My3oMvokQFka++j8cXW+ENke7ICyP/Ai0O/KjkGeifRA2Rn4OXBnyA2GTITxdU74w8oPw2BuhpkLYE/mJv86Z8/lI14AxQRMhLI508tgX6fTRXbYq0jlknLCJELaWiS6qyG+OdA+aUKHfIVRd+B4p9e+pyBdGOojVDqw/IQwPD9eUP1TqVu3ANZEuguks2AAI03rIN0Q6fd5SkS+JfCq0NpoDoZoHIt19D0W6/3aX3RvFCK6O5kJYV3TX15RtDI5GiRo7U/rRnyb96rvTy9L/fkD6458o/fO70w7pxz/q0z9F+vl3py0yHuBCGR9wTMYLdKdNMq5gXtE5KOMORtOHMl7h+zJKrVc7A1iNn8mQvl+VtrrLb8eIDgcGs5F+gzATP8JVMtxnNq6Q8Yd3lPqvyZiwP1X6+CUux3OjMUMH9B+EP5S+puOcAmC2jGL5FH+WK1+d/Fzchc9wn66wuX6DAFvxe/y91B8N8LwfvzV+28NJ8mich6dkmOAE4zAvJq9hrHPh+3/zScGTkf8CtwUzAtFh6mDqjKbJuhPmyjPfkfGJXyXNlSt/Ff4hj0D202HJYMbSTnYIM3ABLpNn/WMZo/hFaUAavLvKGHeV30NjGh0WDWYg8WSH8Ed8VMYzW1r++TLk73QJ6KzSxrW4Td7qLpcG7yksn9Buh3MGM4q6HyDskNb9OE7BdzEHP8aCMvEFMg76DIzgOdwnDV41Ina6zwHHRhRw5E0j2wAAAABJRU5ErkJggg==",
"name": "sdline",
"icon_data": "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABR5JREFUeJzlm0GIFEcUhr/gQQ+bkFwCkUUhF4MQ2DWsECFuEPUU9CJrEBQkBMMeo+tF2HhbCOhpmQyRuSxKAnMRjUHMZmQu4160jYJ4igmmYURXdFtwF3v6z+HVrD01PYnJye4uKJh+9aq66quaV93V7wEoO08KrgoWBbFgRfBE8FDwSPAsJb8nmBNsH9DWLsENQSQ4K1iXobNPcF1wX3BqQDuHBC3X1rEBOl8ILgsuCg4M0Dns+jurNcBJetI2oAp8CWwE/gB+AmrAd8D3wA/AFeAOsAwMAx8Du4H3gF96m+R3l7e49jcBPwNxSucO8NjpbHVtXvHa+Q14AYwAo8CbQMvTCYC1wIfAZuAN4LancxN4G/gAeskcFNx1MxsIjgqGBlBM5zHBGcEDwbLgvGB9TlZCz+D/FDwXnBNseIWB+3m/Axe7mw/nAAIItrmZfy6Y/R8D91fDtTxBQHDJdfjcPwxsr2BGtVpN1WpVMCUYGaD7UZ4gTMoseqDsZT+hZrOpKIokSUmSSJI6nY7CMFStVhswwNxAuCozXEczKk2p3W4rjmMFQaBKpaLjoGlQvV5XGIZKkkStVkswmlcIi4Jb6rf2E2q321paWtJp0FBGg+OgRqMhSVpYWMgrhFi2hfUqNptNxXGs0wNtguWNoPn5+RxDYEVwxFPYqyiKFARB5swXCwJPBDu8whlJUqVS6av4OWisUBB4KH87q9VqSpJExzMG/xR0C7SzMBB4JHt4eSmsVquSpGlPecwN/kWxIDwT7PGEU+p0OqrX630VdhYPQiw44QlHFIahwjDUeEaDBYOwIrjQV6FrBxqNhjYWG8I9wV/y7QAMq9VqSZLm5+eLDGFOgx6GYFQLCwsFh8B2p/xA9j5fNggg+Fb2QhSo/69QdAirF+fdTa+5TpQFwuqP9e5mpYOQvhguIwRfuXQQdmUolwrCDZUcQqRyQ+Csyg2BdSo3BFC5Iaz+KC2E9EUpIfjKpYOwL0O5VBCuq9wQuK9yQ+CUyg0BVG4IqxdlhdBzUUoIfoUyQOhx4etvtPgQzqfLDmUoFxXCmOzof1n2KQBhHwfKBGG/7CPQfTnf5hsqH4Qzri9zwj4QFheCufD5ln9M9kH4njBBMSE0Gg0lSeKcOX2dCzLXgFVB8SCMw6qjR79b7wnXhx5h8SDU63V1Oh2Zb3O6bI/MPaivUr4h+C580yBJzsHbtwOPsgDkF8JTzJUvXXYcBtiBEZmLoDkL5h7CWMbgAVUqFUkSzHhlO2ROolxWUSD4eQgUBIGiKJLFO6TLj8jtAhdVVAinQXEcq9lsZpR3H4Y4oLxCaDQamX6MQ27wS0tLarfbgglPZ0gWIrAoTJA/CK1WS0mSKAxD1et1TWMGr1KpKAgCxXHsBu9vf8iCQ5ZlwSKrwrxBGFatVlMYhup0OpJehvNEUeSWvT/zyMKCAtkzwGQaQB4hINvOplStVt1WN6N+g5fO51ybl7oyX+F1hpDlwvdf8qwsNPCuLFQwE8DrDCFQtjPnv+UNbuafy4JDD6bLDw+o9DpBWC87xlqWHWac0authiGZwetGs971B6818PVJCyS+SW+6jQUeb8YCkddigcnp1MICmEexgOYXWIBzOl3BAqG3YoHRj7FA6W6KsUDqTVhg9RZeBlt3UwT8CLzl+vMJ8BnwKfA+8I4re9eV7wa+Ar4BJlz5r8Ax4JLXP2ZlJyN5WAnIjrHmZIcZK25mn8lebB7KHm+78kXZVjc5cJX8DXx9ZYatkJ/hAAAAAElFTkSuQmCC",
"name": "sdline2",
"parameters": {
"ax": -0.3,
"ay": -0.3,
"bx": 0.3,
"by": 0.3
"by": 0.3,
"r": 0.1
},
"seed": 0,
"seed_locked": false,
"tree_item": "Simple/SDF/Shapes/sdLine",
"type": "sdline"
"type": "sdline2"
},
{
"icon": "simple_sdf_shapes_sdrhombus",