The new approach of incorporating a VBO gave the possibility to make more dynamically generated Marching Cubes. This has now been implemented and the results show a great increase in aesthetics. The generated structures now animate smoother, and more importantly they look smoother and more spherical. figure 1 shows a comparison of the old rigid technique on the left, and the new dynamic approach on the right.
Figure 1. Comparison of old (left) and new (right) Marching cube generated structures.
While creating the marching cubes code I have found that the internet is lacking simple tutorials. After finishing this part of the project I will be creating a very simple to understand tutorial, including CUDA implementation tips. I may even offer my implementation, for people who don’t want to learn CUDA, but do want GPU accelerated Marching Cube generation. Offering this free would hopefully let people explore with the possibilities of this versatile algorithm.


I’ve played around with storing a scalar distance field in an octree which is adaptively subdivided and then using marching cubes to get surface triangles:
my code is straight c++ which runs on the CPU, but your CUDA images here look very similar..
I’m interested in machining simulation (cnc mills/lathes).
The idea is to subtract an implicit function (representing the cutter) from a stock colume. It would be interesting to try a CUDA or OpenCL version if you publish one!
By: anders on August 11, 2010
at 3:28 pm
I like the subdividing, it looks very affective. I’m still restructuring the CUDA solution to make it nice to use, and am adding a few efficiency updates. I should think that the code will be up on the site in 2 weeks, as long as everything goes smoothly. Would be interested to see what you do with it.
By: opengel on August 12, 2010
at 10:52 am