Latest edits ( recent additions are marked with
)…
-
May 24 ─ Added Dual Contouring of Signed Distance Data to the Reference ➔ Papers section.
-
April 4 ─ Added Field-Aligned Surface-Filling Curve via Implicit Stitching to the Reference ➔ Miscellaneous section.
-
March 26 ─ Reorganized the SDF 3D modeling in Blender section.
SDF info
SDF stands for Signed Distance Fields, a volume-oriented 3D modeling method that offers more creative freedom than polygonal modeling or NURBS-based solid modeling. Signed Distance Fields are basically math equations to describe a shape in shader space. For example, sqrt(x²+y²+z²)-r is the SDF formula for a sphere. To visualize the mathematical shapes, a technique like ray-marching is used.
SDF floats in the realm of CSG 3D (Constructive Solid Geometry), and is sometimes also referred to as FRep. Traditionally, CSG is NURBS-based, and includes restrictive surface structures, like patches with edges. Such topological restrictions are even more apparent with polygon-based modeling, and comes with the risk of failing Booleans, fillets, chamfers, mesh issues / artifacts, et cetera. But SDF modeling does not suffer from those restrictions.
SDF is not new: metaballs are live-meshed SDF shapes, but it’s only recently that computing power is sufficient for more advanced SDF shapes and manipulation, particularly when using optimized ray-marching. Such techniques visualize the SDF shape formulas in 3D texture / shader space with a volumetric grid approximation, analyzing the boundaries of the shapes, and refining the grid structure where necessary. The ray-marched 3D volumes can then optionally be meshed to be used in polygon-based 3D editors, such as Blender.
Four 3D categories…
Polygonal meshes
For polygonal meshes, the surface is explicit: absolutely defined polygons. There’s no distance / inside / outside information, but you do have data like polygon normals to determine the surface angles.
CAD / NURBS / solids
NURBS-based 3D CAD objects have no distance / inside / outside either. They are not explicit like polygon meshes, but implicit like SDF. But the surface is iso-geometric: defined by curves and patches with edges. This is useful to guide polygon meshing, but comes at the price of some modeling freedom.
Voxels ➔ volumetric pixels
A 3D grid / matrix structure of cube shapes, sometimes used in an absolute way, like stacked blocks, and sometimes rounded using a mesh projection / smoothing algorithm such as OpenVDB.
SDF ➔ Signed Distance Fields (or Signed Distance Functions)
SDF basically answers “How far am I from a surface given this x, y, z position?” But it doesn’t tell you the direction of the surface, only the distance from one point to another (and whether that point is inside or outside). An SDF surface is implicit, and can be meshed using a surface approximation algorithm such as Marching Cubes, optionally with embedded vertex colors, if coloring is present.
Summarizing…
-
Polygonal meshes = manual surfaces
─ Explicit surfaces.
─ Analogy: 3D bitmap graphics, where a polygon could be compared to a pixel.
─ Modeling freedom restricted by surface topology: faces, edges and vertices. -
CAD (NURBS / solids) = procedural surfaces
─ Implicit surfaces.
─ Analogy: 3D vector graphics.
─ Modeling freedom restricted by iso-geometric topology: NURBS patches with edges.
─ High-level accuracy / smoothness until meshed. The mesh surface detail level and smoothness depends on the polygon count. -
Voxels = volumetric pixels
─ Explicit volumes.
─ Analogy: stacked blocks.
─ Modeling freedom restricted by voxel grid detail level.
─ When meshed, the mesh surface detail level and smoothness depends on the polygon count. -
SDF = procedural volumes
─ Implicit volumes.
─ Analogy: virtual clay.
─ Geometric shapes, calculated in volumetric texture / shader space.
─ Visualized / approximated using techniques like ray-marching, voxelization, live-meshing.
─ High level of modeling freedom, no restrictive surface topology.
─ Ray-marched or live-meshed visualization grid detail level can be increased or decreased at any time, improving or degrading the accuracy and smoothness of shapes.
─ When meshed, the mesh surface detail level and smoothness depends on the polygon count.
SDF 3D modeling workflow can be divided in two main categories
-
Live-primitive SDF modeling, such as metaball 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, which is not the case in polygon modeling or NURBS / solids modeling.
-
SDF sculpting, similar to voxel 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.
Advantages of SDF 3D compared to NURBS and polygons
- No worries about topology / mesh structure…
─ No need to keep your model quad-polygon based;
─ No stretched polygons when sculpting;
─ No need for frequent remeshing when sculpting, losing details in the process;
─ No dynamic topology issues. - Real-time and never-failing Booleans, blends, fillets, chamfers, shells, insets and outsets (remaining non-destructively adjustable in a live-primitive SDF workflow).
- 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).
- Some techniques require relatively little extra computation, such as arrays and lots of instances.
- Very efficient file sizes compared to polygon scenes, as no explicit data needs to be stored, just formulas and parameters.
Disadvantages of SDF 3D compared to NURBS and polygons
- Not very suitable for highly detailed single-part objects, unless there’s sufficient grid resolution.
- Not very suitable for objects featuring thin, elongated parts with oblique angles, such as a radio tower, unless there’s sufficient grid resolution.
──────────
SDF 3D modeling in Blender
Blender SDF add-ons featuring an optimized ray-marching renderer
-
ConjureSDF
─ ConjureSDF 0.2.2 is feature-complete and works in older Blender versions, up to Blender 3.3.x, but not for MacOS.
─ A ConjureSDF rewrite is available for the latest Blender versions, which also works in Blender for MacOS, but that rewrite is not feature-complete yet. For example, there’s no SDF to mesh conversion. -
MathOPS
─ Not available yet. It’s currently in development as a Blender add-on connected to an external SDF CAD tool / engine.
─ Updates can be viewed in the MathOPS Discord.
Blender add-ons using Blender’s native live-meshed SDF functionality
-
Arcane SDF (doesn’t work in Blender for MacOS)
-
Rogue SDF (doesn’t work in Blender for MacOS)
-
SD5 (script-based, no GUI)
Native SDF functionality in Blender
-
Metaballs
─ Limited, but still useful for some purposes, such as quick base meshes. -
Geometry Nodes SDF functionality
─ Live-meshed, no optimized ray-marching.
─ Node-based workflow, no modeling tools.
──────────
Stand-alone SDF 3D editors
MagicaCSG is the most advanced live-primitive SDF 3D editor, only available for Windows. There’s a feature-limited free demo version, and you can grab the full version via the developer’s Patreon (Beta Early Access tier or Prototype tier).
SDF Modeler is the competent runner-up, with approximately 75 percent of MagicaCSG’s functionality, plus some unique features. It’s free, available for Windows, MacOS and Linux, and the UI / UX is a bit more beginner-friendly than MagicaCSG. Blender navigation controls are supported in the settings, hotkeys can be reassigned, and there’s a PDF manual among the downloads.
- SDF Modeler Discord (for questions / feedback / general SDF chat)
Other SDF 3D editors
The order is based on criteria such as available features, OS compatibility, pricing and development activity…
-
Clavicula (Windows, macOS and Linux, irregularly updated)
-
Uniform (SDF + polygons for iPad)
-
Womp (streamed online processing, limited free features)
-
Xiamo (online, limited free features)
-
Sculptura (iPad, macOS version might follow)
-
Plastic (iOS)
-
Metaballs (Apple Vision Pro)
-
Pixonix Studio SDF editors (Windows)
─ Phantom Mesh, SDF Sculptor, Phantom Canvas (2D SDF), ShapeShifter (2D SDF) -
Unbound (SDF-based 3D game editor with modeling tools)
─ In 2025, Unbound has taken a different direction, converting the editor to an online platform and incorporating generative AI. -
SDF Editor (Windows, updates uncertain)
-
Spline (limited free features)
-
Project Neo (online public beta, Adobe-centric, will be subscription-based)
-
Substance 3D Modeler (Windows + VR, subscription or perpetual in Steam)
-
Mudbun (Unity plug-in, works only on Windows)
-
Clayxels (Unity plug-in, low maintenance, due to the dev now working on Unbound)
-
Dreams (PlayStation, not updated anymore)
-
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)
-
ClayIt (online)
-
“SDF Blender” plug-in (for Godot Engine)
-
Adobe Medium (VR, not updated anymore)
──────────
SDF 3D scenes / models
- Metin Seven’s shop (SDF Modeler, MagicaCSG, ConjureSDF and Blender scene files)
──────────
Procedural / script-based SDF generation
-
Material Maker (Procedural SDF shape generation)…
└ Ray marching nodes library for Material Maker
└ EasySDF (gives you more control over Material Maker shapes) -
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)
-
Shadertoy (online platform for shader-based math experiments, including SDF projects)
─ SDF Tracing Visualization
─ Neural Stanford Bunny
└ Explainer video -
SDF Builder (basic Godot-powered animation builder with SDF primitives)
──────────
Reference
Videos
─ Making SDFs fast ![]()
─ Coding adventure: Ray Marching
─ Ray Marching, and making 3D Worlds with Math
─ SDF Modeler and MagicaCSG demo videos
Inigo Quilez, a prominent SDF CG mathematician
─ 2D Axis Aligned Bounding Boxes ![]()
─ Distance functions for basic SDF 3D primitives
─ 2D distance functions for optional extrusion or revolution
─ Shadertoy gallery of Inigo’s SDF primitives
Meshing algorithms
─ Summary of isosurface extraction methods
─ Marching Cubes basis configurations by Ephtracy (MagicaCSG developer)
─ Surface Nets
└ Marching Cubes versus Surface Nets mesh comparison
─ Dual Contouring
─ OpenVDB
Papers
─ Dual Contouring of Signed Distance Data ![]()
─ Neural Geometric Level of Detail: Real-time Rendering with Implicit 3D Shapes
─ Improved Alpha-Tested Magnification for Vector Textures and Special Effects
─ Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids
─ Implicit UVs: Real-time semi-global parameterization of implicit surfaces
─ Ray Tracing of Signed Distance Function Grids
─ e𝑓unc: An Efficient Function Representation without Neural Networks
─ Direct3D-S2: Gigascale 3D Generation Made Easy with Spatial Sparse Attention
─ Lipschitz Pruning: Hierarchical Simplification of Primitive-Based SDFs
─ Non-linear sphere tracing for rendering deformed signed distance fields
─ A Heat Method for Generalized Signed Distance
─ Visualization of SDF scenes
└ Github
└ Video
Miscellaneous
─ Unity Ray Marching
─ Cone Marching in Three.js
─ A Recursive Algorithm to Render Signed Distance Fields
─ Periodic Spaces: domain repetition
─ A series of tricks and techniques I learned doing tiny GLSL demos
─ Ray Marching Soft Shadows in 2D
─ Text rendering and effects using GPU-computed distances
─ Perfecting anti-aliasing on signed distance functions
─ Marching-Primitives: Shape Abstraction from Signed Distance Function
─ Painting with Math: A Gentle Study of Raymarching
─ Code golfing a tiny demo using maths and a pinch of insanity (Not really SDF, but enough related to include here)
─ Log-spherical Mapping in SDF Raymarching
─ Basic technical SDF info video
─ Explanatory technical article about SDF, by Rodolphe Vaillant
─ Math-oriented Wikipedia page about Signed Distance Functions
─ HG_SDF GLSL library for building Signed Distance Functions
─ WGSL 3D SDF Primitives
└ Compute.toys page
─ A summary of the current volume rendering techniques, by Weizhen Huang
─ Field-Aligned Surface-Filling Curve via Implicit Stitching ![]()
──────────
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.
Footnote: this started as a thread about the MagicaCSG SDF editor, hence the initial replies.




