A simple OpenGL graphics program, makes use of freeglut and demonstrates usage of some basic OpenGL features such as fog, selection, etc. in a very simple 3D environment. The main feature is the ball, on which a camera is centered but may be rotated or zoomed in/out. The user may specify a cardinal direction and an acceleration (positive or negative) and the ball will begin to roll. Velocity from previous acceleration remains, such that curved paths can be created. Friction is present and if acceleration is set to zero, the ball will eventually come to a stop (a braking function to stop the ball effectively instantly is also provided). The ball uses quaternions for its rotation in order to maintain smooth rotational movement.