4 ms·
Sdf based approaches are just so much better! Agreed.
by carterschonwald 4y ago
Sdf based approaches are just so much better! Agreed.
- phkahler 4y agoHow do you apply geometric constraints to SDFs?
- traverseda 4y agoExcited to see you here! One approach would be to construct one solid SDF object out of a bunch of 2D SDF object segements: https://iquilezles.org/articles/distfunctions2d/ https://iquilezles.org/articles/distfunctions2d/ The "Parabola Segment - exact" and "Polygon - exact" examples in particular. Probably requires some combination of the two for your use case. Basically turn your lines into 2D SDF objects that define the outside of your object. I think most of those objects actually could be chained together, like the actual quadratic bezier example has a real interior and exterior when you look at it more closely: https://www.shadertoy.com/view/MlKcDD https://www.shadertoy.com/view/MlKcDD So yeah, the intersection of a bunch of line segment SDFs like that could do it. A bit more completed than that but that's the basic principle. Not sure about the performance... There is probably a more efficient way to do it, but I don't have the math skills to figure it out.
- carterschonwald 4y agoOh cool, I’ve used solve space a few times. My personal idea for how I’d engineer for that is to reframe the problem as “the geometry is a program in a programming language”, and have ways to calculate surface Normals, derivatives, etc. But you are absolutely correct that choice of representation / data structure makes a huge difference in what’s easy to calculate. And perhaps the best approach would be to internally have tools that can map between different data structure representations based on the calculations on the calculation at hand