An "OpenGL museum" created for a computer graphics course. The course required OpenGL 2 to be used in this assignment, so I focused on geometric algorithms rather than shading techniques. The main features displayed are
- Rigid body physics (Eberly: Game Physics, Parent: Computer Animation)
- Collision detection (Ericson: Real-Time Collision Detection, GJK algorithm (video explanation by Casey Muratori))
- Convex hull algorithm visualization (using the algorithm described in O'Rourke: Computational Geometry in C)
- 3D user interaction (dragging rigid bodies around, rotating displayed objects, player-environment collision)
- Surface tessellation (rectangular and triangular B-spline patches, the Utah teapot loaded from its original patch file)
- Isosurface extraction (metaballs and marching cubes)