This document describes a ray tracing application that calculates backscatter information useful in understanding time-of-flight phenomena. This system is particularly useful in understanding the effects of multipath (or global illumination) in time-of-flight (ToF) camera depth calculations. The Time-of-Flight Tracer (ToF Tracer) system is based on path tracing. In path tracing, rays are traced from their point of origin until they intersect with scene geometry. At these intersections, the ray directions are recalculated and the process repeats. The Time-of-Flight Tracer calculates the radiance and path length at each of these intersection points. In combination, these data points provide a radiance vs. path length histogram for the scene. Users of the ToF Tracer specify a scene description and indicate rendering parameters. The ToF Tracer calculates the time (path length) between each illuminator and the camera. Because of multipath there will be more than one path between a source of illumination, the corner, and the camera. Thus the ToF Tracer returns its results as a histogram as a function of time (distance) for one or more pixels captured by the camera.
Code for this project is available from http://toftracer.codeplex.com