Sign in to follow this  
GameDevEnthusiast

Generating marching cubes tables algorithmically

Recommended Posts

0) In the original marching cubes algorithm, there are 15 equivalence classes (which comprise all 256 cases).

But why is there no cases when 5 vertices lie inside the solid volume, and 3 - outside (e.g. case 61d = 3Dh = 0011 1101b) ?

 

1) What is the 'standard' method for automatically constructing a 'good' marching cubes table (fewer triangles, no holes between neighbours) ?

Considering each case and writing out the table is laborious and error-prone.

 

Share this post


Link to post
Share on other sites

 

1) What is the 'standard' method for automatically constructing a 'good' marching cubes table (fewer triangles, no holes between neighbours) ?

Considering each case and writing out the table is laborious and error-prone.

 

 

You could do what everyone else does - get with the program and simply ransack Paul Bourke's tried and tested table. This is already probably one of the most copied pieces of code in the history of programming so your actions wouldn't exactly affect anyone's feelings to a measurable degree :)

Share this post


Link to post
Share on other sites

You could do what everyone else does - get with the program and simply ransack Paul Bourke's tried and tested table.

Or you could ransack a newer isosurface extraction algorithm that actually produces a watertight tessellation, preserves sharp edges and/or thin features, and maybe even supports adaptive tessellation.

Seriously, there are a myriad of isosurface extraction methods, and while marching cubes forms the foundation of most, it's just not very good in its unmodified form.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this