Updated: December 27, 2024
Recent changes…
-
Added to Other SDF modeling tools…
─ Unbound is now publicly available via their official site, no more Discord detour. -
Added a Procedural SDF graphics section, with code / script / node oriented SDF tools.
-
Added to Technical reference…
─ Paper: Visualization of SDF scenes, including video and Github page.
─ Paper: Non-linear sphere tracing for rendering deformed signed distance fields -
Added to SDF modeling in Blender…
─ SD5 add-on
SDF info
SDF stands for Signed Distance Fields, and is emerging as a flexible and powerful 3D modeling method. SDF floats in the realm of CSG 3D (Constructive Solid Geometry), and is sometimes also referred to as FRep. Traditionally, CSG is NURBS-based, which means you still need to take restrictive underlying surface structures into account, with the risk of failing Booleans, fillets, chamfers, et cetera. But SDF is based on mathematical distance functions, usually rendered as 3D volumes in shader space using ray-marching. The 3D paradigm closest to SDF is voxels, as SDF volumes are also grid-oriented.
SDF modeling workflow can be divided in two main categories:
-
Live-primitive SDF modeling. This is a fully flexible, non-destructive workflow, allowing you to freely combine different primitive shapes (e.g. a cube, sphere, cylinder, capsule, et cetera). This SDF approach is comparable to NURBS / solids modeling, but all interactions between shapes are real-time and remain fully adjustable, such as Boolean operations, blending, coloring and shape adjustments. Also, Booleans, blends, fillets et cetera never fail, unlike some situations in NURBS / solids modeling.
-
SDF sculpting. This approach doesn’t allow you to adjust primitives after combining them with a Boolean operation or blend, but it does allow you to freely sculpt (on) shapes, similar to 3D-Coat’s voxel sculpting, and comparable to polygonal sculpting with automatic voxel remeshing or dynamic topology generation.
SDF volumes can optionally be meshed (usually with embedded vertex colors, if paint is applied) using a volumetric grid projection algorithm such as OpenVDB, to make the result usable in mesh-based 3D editors like Blender.
Advantages of SDF compared to NURBS and polygons
- No worries about topology / mesh structure.
- Shape properties remain non-destructively adjustable, though only in the live-primitive approach.
- Real-time blending of shapes and colors (remaining non-destructively adjustable in a live-primitive SDF workflow).
- Real-time and never-failing Booleans, blends, fillets, chamfers, shells, insets and outsets (remaining non-destructively adjustable in a live-primitive SDF workflow).
- Some techniques require relatively little extra computation, such as arrays and lots of instances.
Disadvantages of SDF compared to NURBS and polygons
- Not very suitable for highly detailed single-part objects, because of the high grid resolution needed for that.
- Not very suitable for objects featuring lots of thin, elongated parts with different angles, such as a radio tower, also because of the grid method limitations.
Here’s a nice explainer video about SDF tech:
SDF modeling in Blender
-
ConjureSDF add-on (Does not yet work in Blender 4.x or Blender for macOS)
-
Blob Fusion add-on (Works in Blender 4.x and in Blender for macOS)
-
SDF Prototyper add-on.
-
SD5 add-on (script-based, no GUI)
SDF Blender add-ons in development (not certain if there will be a public release)…
MagicaCSG
MagicaCSG is a fast, versatile and user-friendly SDF-based 3D modeler and renderer for Windows, by the developer of MagicaVoxel…
- MagicaCSG info and download page
Windows only.
There’s a free demo version with limited functionality.
Become a Patreon supporter to get access to the full-featured versions, and support MagicaCSG development. - Ephtracy’s Mastodon feed (includes MagicaCSG demonstration videos)
- #MagicaCSG hashtag on Mastodon.
- Ephtracy’s Twitter / X feed
- MagicaVoxel Discord
includes a MagicaCSG channel. - MagicaCSG tutorial by Wan
- MagicaCSG modeling workflow videos by Denorelli
- MagicaCSG to Houdini to Substance 3D Painter workflow video by Mikko
- Pilou’s MagicaCSG info page (French, auto-translate if necessary)
This video showcases some SDF elements of a Teenage Mutant Ninja Turtle character model in MagicaCSG:
More MagicaCSG demo videos by Metin
Other SDF modeling tools
- Unbound (SDF-based 3D modeler and game editor)
- Clavicula (not frequently updated)
- SDF Modeler (Windows and Linux)
- SDF Editor (Windows only)
- Sculptura (iPad only, macOS version might follow)
- Womp (online via streaming, limited free features)
- Substance 3D Modeler (VR and desktop, subscription-based, or perpetual in Steam)
- Project Neo (online public beta, Adobe-centric, will be subscription-based)
- Spline (limited free features)
- Mudbun (Unity plug-in)
- Clayxels (Unity plug-in, low maintenance, due to the dev now working on Unbound)
- Plastic (iOS)
- QubeModeler (currently in closed beta stage, you can apply to join the beta)
- SDFModeler (open source SDF toolset for Houdini)
- EditSDF (simple online SDF modeler)
- ShapeUp (simple online SDF modeler)
- Xiamo (online, free features are limited, needs subscription for all features)
- ClayIt (online)
- “SDF Blender” plug-in (for Godot Engine)
- Adobe Medium (VR only, not actively developed anymore)
Procedural SDF graphics
- Screamer (live-coding language for procedural SDF 3D art)
- FUSE / VVVV (node-based visual programming that incorporates SDF)
- SDFX (SDF-based CAD package written in Go, code-oriented)
- Material Maker (Procedural SDF shape generation)…
EasySDF (gives you more control over Material Maker shapes)
Technical reference
- Basic technical SDF info video
- Explanatory technical article about SDF, by Rodolphe Vaillant.
- Math-oriented Wikipedia page about Signed Distance Functions.
- Distance functions for basic SDF primitives, by Inigo Quilez, an SDF 3D CG pioneer.
More articles by Inigo.
Shadertoy gallery of Inigo’s SDF primitives. - HG_SDF GLSL library for building Signed Distance Functions.
- A summary of the current volume rendering techniques, by Weizhen Huang.
- Paper: Visualization of SDF scenes
Video
Github - Paper: Non-linear sphere tracing for rendering deformed signed distance fields
- Paper: A Heat Method for Generalized Signed Distance.
- Meshing algorithms:
Marching Cubes
└ Marching Cubes basis configurations by Ephtracy (MagicaCSG developer)
Surface Nets
Dual Contouring
OpenVDB
Summary of isosurface extraction methods.
If you think something is missing or incorrect here, or if you discover a broken link, please let me know in a reply to this thread, and I’ll add or fix it. Thanks in advance.