A small path tracer

kornell box

For the course Advanced Computer Graphics at the University of
Innsbruck, a small path tracing program was written in C.
In contrast to smallpt, it is supposed to be readable and thus, somewhat
larger.

The path tracer supports diffuse, specular, transmissive and glossy surfaces,
however the glossy surface implementation still needs some attention, as it is
not propperly cosine weighted at the moment.
There is also no scene graph implementation or any means of accelerating ray
intersection tests.

The path tracer is split into multiple modules. Scene descriptions are loaded
from a textual description.

An archive containing the source code can be found here.