Articles and demos from October 1998.
Using a BSP tree for reflections and object intersection, stored in flattened fixed-size arrays for speed.