This animation uses an n^2 bounding sphere collision detection algorithm to resolve collisions between balls. It simulates friction which gives the balls their spin. This demo uses sounds (available only in the .exe and not in the .mpeg), textures, lighting and shadows to give it a more realistic look.
Primitives: spheres, quads.
Control variables: Camera position, ball velocity, ball position, ball spin.
Physical simulation: friction, gravity, rotations, spins, collisions.
Effects: Shadows, lighting, textures.