1

I've been looking over several searches on our God Google, and haven't found any article that explains, in a intuitive way, the following question:

"How can i smoothly mesh a Octree of voxels?"

I know how a octree works theoretically (never implemented one "yet"). What i want is an algorithm approach of how to take that nodes data, and generate a smooth, triangle-based, Mesh, like Marching Cubes does (I don't even know if a octree uses a marching cubes...).

Basically, i wanna know how to connect vertices from multiple scales of "cubes" together.

In a Minecraft-like space (where Earth is flat), for Marching Cubes, it is easy to do, because it considers all cubes in the same size, but in a octree, a child node has half the size of it's parents. How can i mesh these different cubes?

Any explanation/link/whatever would be appreciated!

Emanuel Kozerski
  • 379
  • 1
  • 2
  • 11

2 Answers2

1

Marching Cubes can work on an independent 3D grid once the Octree subdivision is completed.

abenci
  • 8,422
  • 19
  • 69
  • 134
  • Thx for reply. I'm going to study around this now. My only question is how you can deal with the edges between a parent and a child, since they are different in sizes, so some faces will cause "holes" in the mesh... – Emanuel Kozerski Jul 15 '17 at 01:52
  • Marching cubes is simply based on grid nodes being inside or outside the isosurface, it should not be a problem. – abenci Jul 17 '17 at 06:55
1

The octree will be a 3D volume object not a surface, from such voxel-based object a mesh surface can be extracted using marching cubes.