top | item 30223755

(no title)

Sidnicious | 4 years ago

I think what the author's getting at is that the function you pass to JavaScript .sort() just returns a number — not special sentinel values — which represents the relative order of two items in the array. By calling that function strategically from a loop, .sort() can sort the array.

Similarly, an SDF returns a number that represents how far a point in 3D space is from an object's surface. And, by calling that function strategically from a loop, you can draw a 3D scene using only that function.

discuss

order

Jasper_|4 years ago

The difference is that .sort() only uses the sign of the return value and ignores the magnitude. Ultimately, all the sort algorithm needs is the boundary condition, e.g. a comparator. The SDF equivalent needs both the sign (is this point inside or outside of this implicit surface), alongside the magnitude, to determine the closest hit.

I don't see how they're that interlinked other than saying that signed distance functions are a subset of comparators.