Mini golf physics engine

 This was created for a course in Engine Programming, using only C++ and GLUT/OpenGL. While not very flashy at all, it was one of the few that featured realistic physics (that is, a ball that can bounce and is not "glued" to surfaces) and collision with arbitrary convex polygons. For optimal performance, a scene graph was created and traversed – by various modules implementing the visitor pattern – during physics calculations and rendering. Everything was very much a self-study on this course, done with no other libraries than GLUT.