Top
Best
New

Posted by imagiro 1/8/2026

I'm making a game engine based on dynamic signed distance fields (SDFs) [video](www.youtube.com)
451 points | 78 commentspage 2
milgra 1/12/2026|
I had the same idea but with voxels. The idea works fine, more work on photorealism needed : https://youtu.be/LBzuXj21_bY?t=128
d--b 1/12/2026||
Reminded me of Red Faction, a FPS where you could destroy the environment.

Kind of like Quake in a Lemmings world.

This is quite more polished to say the least.

Glyptodon 1/11/2026||
Using layers with settings about which SDFs interact with which layers for operations seems interesting. Like put trees in a layer and then have an axe that can negatively deform the trees but not the ground layer or something. Or a predator layer that can absorb things in the prey layer. Haven't really thought through.
Traubenfuchs 1/12/2026||
You can't talk about terrain modification without mentioning "From Dust", which did it at a grand scale... 15 (!) years ago.

It allowed you to shape terrain with sand, water and lava. So terrain modification PLUS fluid simulation!

https://www.youtube.com/watch?v=ZYUU3dv7WC4

https://en.wikipedia.org/wiki/From_Dust

rcarmo 1/12/2026||
I watched this over the weekend and loved the approach. I’ve played with SDF for 3D modeling (even though the current libraries generate meshes for slicing using marching cubes, which is slow as heck and can lead to imprecision on small features), and wish I had more time for playing around with it.
ludicrousdispla 1/12/2026||
The interaction with the terrain reminds me of Astroneer, although I don't know if that game uses SDFs.
DetroitThrow 1/11/2026||
Such impressive demos and great explanations in the video. Mike, if you're reading this, keep making videos!
eviks 1/12/2026||
Excellent technical presentation! Though the style itself is a bit too "clay-like", like I wouldn't expect a cube melding with the terrain sand to be a smooth glued connection. Is that some "inherent" SDF thing or just a style of the demo?
tomashubelbauer 1/12/2026||
I think it is an artifact of the optimizations he uses and while it's artistically limiting, I think a right game with the right visual language could make this work to its advantage in terms of uniqueness/distinctiveness. It's a one trick pony if not avoidable though.
nkrisc 1/12/2026|||
Basically it's the result of a smoothing function that blends the sampled SDF value of the two nearest bodies. You can simply pick the minimum SDF value and get no blending at all.
jakkos 1/12/2026||
> You can simply pick the minimum SDF value and get no blending at all.

While this true for traditional SDF rendering (e.g. raymarching), the method of "interpolating cached distances" used here means that you will always get blending between objects.

nkrisc 1/12/2026||
Oh right, of course. I wasn’t thinking about the specific implementation in the video. Thanks.
interpol_p 1/12/2026||
I believe you can do regular hard edged intersections. You can see in his operator list some are listed as “smoothSubtract” and some are just “subtract”

It’s just easy to do the melding thing with SDFs so a lot of people do it

rcxdude 1/12/2026||
From his description of the approach I suspect its also to smooth over sharp edges that the grid optimization doesn't like so much.
cepacked 1/12/2026||
I use SDFs on my render engine to render text. It allows me to debug values inside shaders. (I can print value of an uniform, texture value etc.)

(It's a combination of line segments for each letter and digit)

kaoD 1/12/2026|
Are you aware of Valve's paper[0] for glyph rendering via SDFs? You can get amazing results from a low res glyph atlas.

[0] https://steamcdn-a.akamaihd.net/apps/valve/2007/SIGGRAPH2007...

mikkupikku 1/12/2026||
From what I understand, that paper was extremely influential and the technique has been widely adopted.
nineteen999 1/13/2026||
UE4/5 implement fonts this way.
Archit3ch 1/12/2026|
Is there an easy way to go from Blender model to SDF?
GuB-42 1/12/2026|
The way he approaches the problem, which essentially uses voxels, it shouldn't be too hard: for each voxel, compute the distance to the closest triangle and you have your SDF.

The thing is, you have a SDF and now what? What about textures and materials, animation, optimization, integration within the engine,... None of it seem impossible, but I won't call it easy.

More comments...