Re:Curv: A language for making art using mathematics
by Jureko on Monday March 11, 2019 @02:29PM
(#19361465)
I don't think the problem of "renormalizing" signed distance fields can be cracked, at least not in a generic way that's fast enough for realtime rendering. I would agree this strongly limits the possibilities for making simple modeling tools based on SDFs, because whenever you use interesting transformations, you also need to be hacking away at the correctness of the field. Because of this, it's hard to make simplified tools for modeling and rendering interesting things using SDFs: you can't abstract away the fact that you're effectively writing a distance estimator function, and you'll always want to be able to dig down to the lowest programming level in order to make things work. This is a problem for popularization, but it doesn't prevent the technique from being useful in some domains and applications.
Re:Curv: A language for making art using mathematics
by andybak on Monday March 11, 2019 @12:44PM
(#19360390)
> For example, "offset" generally only has the desired effect on a primitive shape.
It might not have the expected effect but surely it has a well-defined effect?
I've tried to get my head round distance functions whilst tinkering with raymarching shaders and the guru's over on Shadertoy and pouet.net seem to have a fairly solid understanding of which transforms behave nicely and which don't. They bandy around terms like lipschitz continuity which leads me to believe they've got a deeper grasp of this stuff than I have ;-)
I guess I'm saying that I have a hunch there is a fairly clear distinction between "things that keep the functions well behaved" and "things that don't"
Re:Curv: A language for making art using mathematics
by macawfish on Monday March 11, 2019 @01:33PM
(#19360898)
(slightly tangential) Have you checked out what Rimvydas Krasauskas has been working on?
https://klevas.mif.vu.lt/~rimask/old/pdf/unifying_theory.pdf
Antimony [1] and its related project AO [2], as well as ImplicitCAD [3], are CAD-oriented F-Rep systems (that suffer from the problem I mention).
[1] https://www.mattkeeter.com/projects/antimony/3/
[2] https://www.mattkeeter.com/projects/ao/
[3] http://www.implicitcad.org