| |
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.
|
|
|