isosurface icon indicating copy to clipboard operation
isosurface copied to clipboard

Meshing Fractals

Open ghost opened this issue 7 years ago • 1 comments

Hi, was looking for an email address and couldn't find any other way to contact you, sorry to make this an "issue"

I've been interested in meshing 3d fractals and most come with a distance function that's only valid outside the isosurface. On top of this, the distance function only dictates a safe step distance, not an exact distance to the isosurface (conducive to ray marching). I wrote a strange marching cubes implementation that iteratively carves out the space outside of the surface using these distance estimators, but the vertex count is enormous.

I was curious if there might be a way to get a distance function I described to work with your manifold dual contouring implementation, not sure what a QEF for this might look like.

Thanks!

ghost avatar Aug 04 '17 13:08 ghost

I realize this is from years ago; however, I might suggest just a slightly different interpretation of 'distance'. The 'mass content' or 'density' of the contained point is the inverse distance. If you can maybe occupy it with 'dense' points and just use '1' for anywhere outside, maybe?

I played with a bunch of different scalars https://d3x0r.github.io/MarchingTetrahedra/ (WebGL) https://d3x0r.github.io/IsoSurface-MultiTexture/ (WebGL2)

But that is more built on a consideration of the amount that a point is space is filled... This leads to needing to compute 2 points per edge, when the points don't add up to a distance of '1' there should be a gap between them... with MC/MT/... when you have any two points near each other (or many) the whole space is occupied even if they represent only a small point-mass/presence in the area...

I was considering how these two points might be handled, and ran across manifold dual countouring (and dual contouring, which I found a earlier explanation for which is put it in an octree, dynamically, and compute the deltas along the edges; which is exactly what the marching tetrahedra do - but a tetrahedron has only a couple possible intersection shapes. (6 bits, and really only 7 combinations of bits are real) (sorry to go on :) )

d3x0r avatar Apr 28 '20 22:04 d3x0r