Jump to content

What are Signed Distance Field (SDF) and IsoOffset


Recommended Posts

All great explanations of what an SDF is mathematically but what about the Artist? Why bother with SDF's?

 

 

SDF is yet another representation of a surface, sitting along side NURBs, Beziers, Polygons. I treat them as equals to all other surface types. Especially with VDB grids where only the narrow band voxels around the 0 surface value are saved.

 

What makes SDF's nice is that once constructed (just like you construct polygon models), they are very fast to sample to find where the surface is wrt any point in space. To find the distance from the nearest surface. Very handy for collisions in fluid simulations as you can easily detect when one object tunnels in to another and then back it out.

 

It is great for expanding or shrinking surfaces. This is super handy for example in FLIP surfacing as you can expand or contract the SDF surface field to see what the surface is inside and outside. Its also handy for calculating surface normals: gradient of SDF volume returns normal vectors which literally are the direction to the nearest surface. Easy to calculate therefore not necessary to carry this extra data around. Sure you can do that with Polygons but what about self-intersections? That is where surface volumes excel at. They just melt in to each other for a very good result. No nasty inter-penetrations you'd get with polygons. Just one of many uses of surface SDF volumes.

 

 

You can construct your "surface" SDF any number of ways:

- sculpt SDF's with VDB grid surfaces directly. They excel at boolean type modelling operations. Look at the fracture VDB toolkit for one example of this.

- convert polygon models that are manifold (a volume or water tight model) to a surface SDF.

- convert a point cloud in to a surface SDF volume.

 

At any point in time, you can construct a polygon surface from the surface SDF using a few volume convert type operators.

 

 

A surface SDF volume is simply another version of your geometry. Just stored as a volume instead of polygons/NURBs/Beziers. 

  • Like 4
Link to comment
Share on other sites

  • 2 years later...
On 7/16/2015 at 12:17 PM, jordibares said:

 

If you don't look at the formulas for a second you will see it is actually a simple concept and explanation.

 

 

Translation

determines the distance of a given point x from the boundary of Ω

 

can be read as

 

determines the distance of a given point x from the surface

 

where outside is positive, inside negative and in the surface is zero.

 

that is all.

Best! :D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...