**Destructible
Sphere Using Marching Cubes**

**Russell
Fritch**

**CSC 572**

**Cal Poly –
Dr. Wood**

**Description:**

** For
my final project I created a destructible sphere using the Marching
Cubes Algorithm. **

**To Run:**

** $> make**

** $>./final**

**Commands:**

**b
: launches a bullet from the current camera position **

**[
: Scales the larger sphere larger**

**]
: Scales the larger sphere smaller**

**q
: Rotate View Down**

**z
: Rotate View Up**

**wasd :
used for moving through environment **

**n
: Increase cubes**

**m :
Decrease cubes**

**c
: Display Cubes**

**p
: Randomly deform main sphere**

**'esc' :
exit**

**Mouse is
used to look around within scene.**

**Implementation:**

**Marching
Cubes Summary**

** First
the cubes are generated. Next for each cube corner the implicit
equation of a sphere is used to determine if that corner is in or out
of the sphere. The per cube binary code the previous step generates
is used to look into a triangle table that specifies what geometry
will exist within that cube. **

** I
implemented a binary version of marching cubes. This allowed for easy
manipulation of the cubes. One could also use scalar values at each
cube corner in order to better interpolate edge intersections. **

**Destruction
Summary**

** When a
sphere is shot at the main sphere each of the vertexes that make the
cubes that make up the main sphere are checked for collision. If
there is collision the value at the corner is set to false. **

**Examples**