Work Log by Kevin Beason

Latest personal graphics developments

Archive for November, 2008

smallpt: Global Illumination in 99 lines of C++

Finally releasing a little project I’ve been working on. A small project, although I spent an insane amount of time tweaking it. My hope is that it can serve as a concise reference to anyone wondering what’s involved in a basic global illumination renderer. Honestly, since I don’t explain the concepts or the shortcuts used, and the code is ugly in some places, I don’t know how valuable it will be to a someone just entering the field. A basic renderer can be kicked out in less than a day, perhaps a concrete working example like this can fill in any missing details for someone just starting off.

smallpt: Global Illumination in 99 lines of C++

1 comment

Indexed triangle sets, plane primitive

Another stab at Julia quaternion set, from March. In April I added support for indexed face sets, resulting in fantastic memory savings. Here are test renders of a 7 million and a 28 million polygon model, respectively. Lucy, the 28M tri model, required a fair amount of swap on my 2GB machine. There’s still some memory savings to be had I think, especially if I added BIH and used that instead of Octree-R. Models courtesy Stanford 3D Scanning Repository.

No comments