SDF
Raymarched signed distance fields — primitives, booleans, effectors, shading, and the bridges to and from surface geometry.
SDF operators model shapes as distance functions and raymarch them. Booleans are exact and blend smoothly, and shapes can be repeated, mirrored, and warped without adding geometry.
Press Tab in the node graph and open the SDF tab.
The minimum chain
Two nodes work:
SDF Primitive ──► OutputAn SDF wired straight to the Output node marches itself with a default rig. What you usually want is three:
SDF Primitive ──► SDF Render ──► OutputSDF Render is where quality, anti-aliasing, tone mapping, background alpha, soft shadows, and ambient occlusion live. A camera, lights, and an environment are all optional — SDF Render carries a built-in key light and ambient.
Model
| Operator | Inputs | What it does | Key parameters |
|---|---|---|---|
| SDF Primitive | Material | 22 analytic 3D shapes behind one dropdown, with shared transform plus taper, wobble, round, and shell morphs. | Shape, Position/Rotation/Scale, Round, Shell |
| SDF 2D Shape | Material | 15 flat distance shapes, meant to be extruded or revolved into 3D. | Shape, Position X/Y, Rotation |
| SDF Convert | 2D SDF | The 2D to 3D bridge: Extrude, Revolve, Helix Sweep, Cross Section, Field to Solid. | Operation, Depth, Iso Level |
| SDF Combine | A, B | Boolean union, subtract, and intersect, crossed with hard, smooth, round, chamfer, stairs, and columns blends. | Mode, Blend, Blend Amount, Swap Inputs |
| Mesh to SDF | Mesh, Material | Bakes a real surface mesh into a distance field so it can join the SDF chain. | Position/Rotation/Scale, Round, Shell |
The node label follows the shape you pick, so an SDF Primitive set to Torus reads as a torus on the card.
Swap Inputs on SDF Combine reverses A and B before combining. It matters for Subtract, where it decides which shape is cut out of which, and for the seam-shaped blends. Step Offset slides the pattern of the Stairs and Columns blends along the seam, in whole steps, so animating it from 0 to 1 loops without a jump.
Modify
SDF Effector carries 21 domain and value operators grouped as Warp, Repeat, Mirror, Shell, and Remap. It takes an SDF input and a Field input. Key parameter: Effect.
SDF Field emits a scalar field — noise, sine, radial, worley, a texture, or a particle system — for the Displace-class effectors. Key parameters: Field, Shaping, Shape Amount.
Shade
SDF Material does PBR plus stylized shading — Toon, Matcap, Gooch — with triplanar projection and an iridescence layer. It has texture inputs for Base Color, Roughness, Metallic, and Normal, and a Mapping slot that takes a surface Mapping node. Wire its output into a shape's Material slot.
Map Anchor decides whether the material's textures stick to the shape or stay put in the world:
- Relative (Baked to Shape) — the default. The texture rides along when the shape moves, rotates, or scales, the way paint on an object does.
- Absolute (World) — the texture stays fixed in space and the shape slides through it.
Each shape keeps its own anchor frame, so two shapes sharing one material still hold their own textures.
SDF Light provides ring, line, orb, and beam emitters. It sits in the surface light chain — Surface in, Surface out — so surface lights and SDF lights mix freely.
Render
SDF Environment sets image-based lighting from an HDRI file, a wired image, or the built-in studio setup, with an optional skybox.
SDF Camera is the ray-generation rig, with perspective or orthographic lens and Smooth Fly, Orbit, or Fixed navigation. It can follow the 3D surface camera. It is optional — navigation works without one.
SDF Render raymarches the tree. Inputs: SDF, Camera, Environment, and numbered Light slots. Outputs: Out (texture), 3D Mesh, Depth, and Normal. Key parameters: Quality, Anti-Aliasing, Max Steps.
Working with surfaces
The two families bridge in both directions:
- Surface into SDF — Mesh to SDF takes a Surface input and bakes it into a distance field.
- SDF into Surface — SDF Render's 3D Mesh output is a Surface payload.
Surface Light, Environment, and Mapping nodes also plug directly into SDF nodes.
Troubleshooting
Lights appear to do nothing on SDF Render — use the numbered Light slots rather than the chain port, and note that a bare texture on the light port is ignored.
Mesh to SDF will not bake my model — it bakes primitives, Extrude output, or a polygonized SDF. Loaded model files are not supported.
The field is slow or blocky — lower Quality or Max Steps on SDF Render while you work, then raise them for the final render.