job-based approach with condition variables
job-based approach with condition variables

- very roughly:
- main thread supplies jobs (pixels) for each of the three worker
  threads to raytrace. Each worker thread grabs the topmost job if
  possible (and waits on a condvar if it can't do so), processes the
  work, and continues until there is no work left.

davidyu/rt