Skip to main content
geeks have feelings


Trayrace is a minimal Monte Carlo renderer, created with the help of Greg Turk at Georgia Tech as an independent study project for my senior year.

Trayrace short

Code available at GitHub:

Trayrace was designed to (eventually) have the bells and whistles of an advanced physically-based photorealistic renderer—like many renderers, it’s based loosely on PBRT—but was implemented with uniquely little “from scratch” code, through judicious choice of off the shelf components:

Here are some screenshots, where I vary the radius of the disk light used to illuminate the dragon:

Screen Shot 2012-12-14 at 11.42.18
Screen Shot 2012-12-14 at 11.43.08

Trayrace was also written with minimalism in mind; the goal was to get pretty results as quickly as possible, then engineer code as necessary. Each feature added would flesh out subsystems that were weak or nonexistent (I didn’t even have transformations for weeks after starting the project), so that all the code would be “battle-tested” by use as soon as it’s written. This sort of thing happens a lot when you don’t have time to write unit tests.

Every Post by Year

  1. 2023
    1. Ducati Timing Belt Replacement
    2. C++ Corrections
  2. 2016
    1. Liftlord
    2. Sensorless Brushless Can’t Even
  3. 2015
    1. Big Data: Test & Refresh
  4. 2014
    1. The Orange Involute
    2. Big Data EVT
  5. 2013
    1. Integer Arithmetic Continued
    2. Real Talk: Integer Arithmetic
    3. Why Microsoft’s 3D Printing Rocks
    4. Flapjack Stator Thoughts
    5. Delicious Axial Flux Flapjack
  6. 2012
    1. How to teach how to PCB?
    2. Fixed-point atan2
    3. It Was Never About the Mileage
    4. Trayrace
    5. BabyCorntrolling
    6. Conkers
    7. BabyCorntroller
    8. Templated numerical integrators in C++
  7. 2011
    1. Bringing up Corntroller
    2. Assembly-izing Tassel
    3. Corn-Troller: Tassel
    4. 5 V to 3.3 V with Preferred Resistors
  8. 2010
    1. HÄRDBÖRD: Interesting Bits
    2. HÄRDBÖRD: Hardcore Electric Longboard
    3. Mistakes to Make on a Raytracer
    4. US International Dvorak
  9. 2009
    1. Raxo
    2. Better Spheres, Fewer Triangles
    3. Donald Knuth Finally Sells Out
    4. Harpy – Sumo Bots 2009