2024-03-19 Sculpt, Paint, & Texture Module Meeting

ah, too bad
thanks


Nomad (the sculpting app) is using an opensource library for this kind of stuff… and it seems pretty fast… :thinking:
If Blender could somehow use that as well, it would be great, I think… :slightly_smiling_face:

https://twitter.com/nomadsculpt/status/1678401764729536512

16 Likes

wow, open source? this looks amazing
@Farsthary can we have that boolean power inside of sculpt mode? ^^ :smile:

1 Like

Thanks for the link. I wouldn’t be surprised if there was some sort of catch. There often is with that sort of library. Maybe it requires manifold inputs, or maybe the binary size of the library is massive, etc. Or maybe it would work!

There’s also this work for Blender in development: #114476 - Exact Boolean V2 - blender - Blender Projects

@Howard_Trickey Have you heard of the library linked above?

5 Likes

Just from a quick scan of their README, your first guess was correct:

This library is fast with guaranteed manifold output. As such you need manifold meshes as input, which this library can create using constructors inspired by the OpenSCAD API, as well as more advanced features like smoothing and signed-distance function (SDF) level sets. You can also pass in your own mesh data, but you’ll get an error status if the imported mesh isn’t manifold. Various automated repair tools exist online for fixing non manifold models, usually for 3D printing.

2 Likes

Library which is btw made by @elalish who recently contributed the Khronos PBR Neutral tone mapper!

11 Likes

Which is perfectly fine for sculpting purposes… :slightly_smiling_face:

4 Likes

Howard is working on a much better and faster boolean algorithm for exact operations, but the time of arrival is uncertain.

Meanwhile Sean just submitted a patch that switches trimming to use the fast algorithm already in Blender.

Yeah…
This is not meant to replace those more precise methods… they are needed in edit mode…

1 Like

Just a gentile reminder this is a meetings note thread, we’ll allow the occasional short question, but this seems to be getting a bit beyond that. If you want to have a causal chat, i suggest this happens elsewhere.

how fast is it compared to the library above? thats what id like to know

looking at the patch, sean said:

on a mesh with 1.7m vertices, a Trim operation with the Fast solver finishes in roughy 20 seconds as opposed to still being in progress after five minutes with the Exact solver.

it is definitely a massive improvement, but waiting 20 seconds is still very painful

i hope that foss library can do better. and looking at the video, it seems like it does :thinking:


@LazyDodo people are discussing something related to the meeting notes. i cant see the problem
if you got a problem with it, maybe you should split it to a new thread?

devtalk is not meant for this sort of discussion, it’s a developer forum, and a short staffed one at that, we the lack the resources to babysit such threads when people can’t behave them selves. Sorry to be this strict but sadly it’s needed.

but this is development discussion
anyway, its up to you

Thanks for the shoutout, @pablovazquez! Indeed, I think Manifold could be a good solution for Blender’s modeling needs, especially Booleans. It sounds like this isn’t the right place for the discussion, but I’m new to Blender’s forums, so I’m not sure of the appropriate place. If someone wants to start another thread on this and @ me, I’ll be happy to answer any mesh geometry or Manifold API questions.

17 Likes

Very smooth indeed.

@elalish So I believe this could also be used as a voxel remesh alternative to union/subtract meshes together, and with a cleaner result, right?

2 Likes

Yes, exactly, and much faster. And @roundsquare is correct regarding the need for closed meshes, which of course is not everything in Blender. That said, Boolean operations are not particularly well-defined for open meshes anyway.

A possibility: keep track of whether meshes are manifold or not, enabling some features only for manifolds. Manifold has functions for fixing meshes that are close to manifold, as well as for tracking arbitrary vertex properties, even when they have joints, as at a Boolean intersection.

In addition, I wrote the glTF EXT_mesh_manifold extension which gives an efficient way to interchange the manifold losslessly. Supporting this would make it more likely to import manifold meshes.

13 Likes

Fantastic!
Looks like it would be a powerful addition to Blender. :heart:

The question is how to get it implemented in Blender. :confused:

2 Likes

Hi @elalish . I am the developer mainly working on mesh boolean in Blender (though now others are helping too). I’d be interesting in investigating the use of Manifold as an alternative to the Ember paper approach I’ve been working on. I’ll contact you.

28 Likes

Well, lots of useful concepts could be obtained from CAD domain, since it provides solutions to quite heavy technical challenges.
As an application which has been built around CAD-based paradigm, Blender does it all the time…

do we have any news on manifold integration?