CSC 471 Final Project: Winter 2016


Project Description

SHARKSPLOSION is an experiment in creating a semi-realisitic shark "explosion" by breaking a .obj mesh into individual component triangles and applying basic kinematic physical principles to dictate the motion of each triangle as the explosion progresses.


Individually rotating SharkShards©

Fully reversible sharksplosion action!

Realistic hierarchically-modelled shark swimming motion

Navigate in full 3D

Full Phong shading

Watch it explode!

- +

Lessons Learned/Methods

Created separate position and element buffers to store redundant vertex data so the vertices of each triangle in the mesh could be manipulated separately.

Created axis of rotation and point of reference buffers to assist in computing arbitrary axis of rotation matrix R in vertex shader.

Simulated realistic exploding SharkShard© trajectories for each triangle in the mesh based on the components of its initial normal.

Parameterized all motion associated with the explosion with a single variable, allowing for easy reversal of the process.


Equations for 4x4 rotation matrix around arbitrary axis <u, v, w> through point (a, b, c) from Glenn Murray.

Foundational base code using GLEW, glfw, glsl, and OpenGL courtesy Dr. Zoe Wood, Cal Poly San Luis Obispo.