Resume Biography Gallery Digital Images Projects
Josh Grant
 

Marching Cubes using OpenGL

Description:

The objective of this assignment was to obtain a basic knowledge of the isosurface algorithm Marching Cubes: A High Resolution 3D Surface Construction Algorithm, by William Lorensen and Harvey E. Cline. To do this we were to find examples of the algorithm implemented using OpenGL.

I downloaded the code created by Cory Bloyd from Paul Bourke's page Polygonising a scalar field. Below are images created after modifying the code to render my own scalar function. I used the function:

x*sin(y) + sin(z3) = 0.5, x=[-3,3], y=[-3,3], z=[-2,-1.5]

The images below are divided up based on view and level of detail. Columns 1, 2, and 3 contain renderings with 83, 163, and 323 cubes respectively. The first and second rows are different views, and the third row is the same view as the second but with a wire frame.

Images:

Animation:
I also created a short animation showing the isosurface change as the isovalue changes. A Quicktime version can be downloaded here: mcubes.qt.

Code:
The modified version of the code is also available.
 

Josh Grant > Projects > Visualization 2001 > Marching Cubes using OpenGL

Comments or questions about this page can be addressed to Josh Grant at grant@cs.fsu.edu