The big SDF thread

:slightly_smiling_face: In the mean time, you’ve read in the Big Sculpt Mode Thread that a Linux version is on the roadmap. :+1: I’m eagerly awaiting the first release for MacOS, which is also in the making.

Some more videos… The renderer looks fabulous too. :ok_hand:

3 Likes

I have just “seen” this in the other topic.. nevertheless: thank you. :heart_eyes:

1 Like

It kind of works - for 1 min, on linux - using Wine. But then it crashes . I gave up after second crash , app itself look very cool. But I will stick with nomad sculpt for now - way more stable.

2 Likes

Today’s little SDF doodle, made with the Chisel Blender SDF add-on. :slightly_smiling_face:

2 Likes

Hello Everyone, Been a Long time since I posted here. I wanted to share something I’ve been working on. In my development of Arcane SDF and my other SDF applications, I’ve encountered the problem that i haven’t found a meshing algorithm that produces the results i wanted, Final Meshes either lacked detail, rounded off sharp edges, required an insane number of polygons to get the desired detail level, etc. So, i decided to go my own route. Introducing Adaptive Tangent Surfing. The algorithm still uses a Voxel Grid, but only for splitting the SDF geometry into thread-able chunks(to prevent lockup on large models) Then drops random “seeds” into each chunk which snaps to the nearest surface, then grows triangles outward until they either hit more triangles or hit’s the edge of the chunk. All Processed Chunks are then sticked back together into a single manifold mesh. It’s not perfect, sometimes leaving some minor artifacts, but it is MUCH faster and more accurate than most, if not all popular SDF Meshing techniques. It’s capable of generating smooth surfaces as well as truly sharp angle. Additionally it creates Denser geometry where it’s needed and sparser geometry on flat areas. Here’s a screenshot from my test.

This mesh took 2.2 Seconds to generate, calculated entirely on CPU with no help from Compute Shaders. Also keep in mind that my CPU is a I7 4790, a 12 year old Quad-core CPU with humble specs compared to modern CPUs. I can’t speculate how fast it would run on something newer and faster, but i can imagine it to be orders of magnitude fast, perhaps almost instant.

I’ve developed this algorithm as a C++ Library so that it can easily be used cross platform, with bindings for other programming languages. I’ll be continuing to work on the issues it has and will likely be using it as the primary meshing algorithm for my SDF applications. I may also consider implementing Compute shaders to speed the process further. I’m debating releasing an SDK, not really sure what the demand for it would be.

Anyway, thanks for reading.

9 Likes

You mention its speed, but say there are sometimes artifacts… is there the option of trading speed for increased quality? I might want speedy conversion when it’s only for a quick check, but for my final export it’d be very disappointing to have to have to check the mesh for glitches.

Made a new playlist with short non-destructive live-primitive SDF feature demos.

Also, here’s another playlist, with other SDF videos and longer demos.

The used editors are mentioned in the descriptions. People interested in SDF modeling might like to check out the videos, and the videos might provide inspiration for SDF tool developers.

1 Like

Yes and No, Theres no Quality vs Speed slider that just generates the same mesh without glitches. Quality can be improved by increasing the resolution(there are other settings that help too). Which at max settings exports a mesh that looks identical to the SDF, albeit at 1M+ triangles, but still quite fast(and I’d argue better looking) compared to other algorithms at the same resolution. Right now the biggest issue with glitches is coming from thee areas(which i’m working on fixing) First, Wavefront overlap(the web of vertices and edges growing out from the seed running into each other and incorrectly calculating how to connect them). Second, The algorithm getting confused on where to place vertices along very thin fillets. Third, incorrectly stitching chunks together(which usually occurs because one of the other two defects are already present). All of these issues are currently being addressed.

Consider also that this method is not intended to be a replacement for retopology, as with other software that procedurally generates topology it’s designed to get the shape from SDF to Mesh as quickly and accurately possible. No one would take a sculpt straight from Z-Brush and import it into a game engine, nor do i expect that with this library. The intent is simply to get better shape preservation with a faster export time. As i said, I’ve implemented other, existing algorithms such as Marching cubes, Dual Contouring, Surface Nets(all in the current version of my Arcane SDF 1.2 Addon) and was still unsatisfied with quality of thier meshes, even at extremely high resolutions.

I’m currently beta-testing the new non-destructive, live-primitive SDF functionality in @pitiwazou’s Speedsculpt add-on, and all I can say is: it is very impressive! I’m not exaggerating when I say it is rapidly becoming my new go-to SDF tool, and right inside Blender.

Here’s a little screenshot compilation. These are all pure SDF shapes that can be smoothly blended with other shapes. :ok_hand:

5 Likes

This is still a big WIP!

3 Likes

This is an excellent and well organized resource for anyone interested in Signed Distance Field SDF modeling. I really appreciate the detailed explanations comparisons and extensive collection of tools, add ons, and references all in one place. The breakdown of different SDF workflows and the advantages over traditional polygonal modeling makes the topic much easier to understand. Thanks for putting so much effort into sharing this valuable information with the 3D modeling community

2 Likes

When working with SDF I had the same issue, how do I preserve the quality of analytical SDFs?, to represent all details I need to export using DC algorithm in the millions of polygons, libfive seems to be the best qualiy/speed but his algorithm is deeply tied with his library not so easy to work with, so this makes what you are trying to do really interesting I would be reallly happy to hear more about it!

1 Like

MagicaCSG 0.7.6 Beta is released.

It has the new Trim Tool build in and allows additional to add points later on
to the Trim path, also bending (Bend) is possible inwards and outwards.

1 Like

Nice!

Can the Trim tool also blend this edge away? (Indicated in green)

That would make the trim more usable.

Started a little modeling project while beta-testing the Speedsculpt add-on’s upcoming SDF functionality. My 1990s Moon Child game character is becoming my personal Suzanne… :blush:

4 Likes

the edge depends a bit on your cutting angle

here i tried a 90 degree angle with a big bend value
(the bend value could be bigger then 100)

the only way to get rid of the edge, which i know by now,
are to move the control points until it is gone

2 Likes

MagicaCSG 0.7.6 Beta

here another try, with trim and the bend option

2 Likes

Moon Child bust. :slightly_smiling_face:

This was a lot of fun to make, while exploring the very nice upcoming SDF functionality of the Speedsculpt Blender add-on.

This is a Blender viewport screenshot. I’ll make a nice rendering tomorrow.

6 Likes