JRT
(Josh’s Ray
Tracer)
JRT was originally
the seventh programming project for my undergraduate computer graphics course.
I enjoyed this project so much that I began tweaking and playing with it in my
spare time, a process which lasted for several years.
I have recently
written a new renderer from scratch, based on all of the lessons learned from
the first one, and the result is a very formidable renderer based on bounding
volume hierarchies. My goal was to make a renderer that was efficient an
robust, but which was tailored specifically towards rendering pretty images for
my walls. My pet raytracer supports photon-map based global
illumination, geometry instancing, plus all the usual raytracing effects (except
motion blur, I only like to render still-lifes). It is
multi-threaded, and the core raytracing code makes heavy use of SSE intrinsics
(borrowing heavily from the interactive raytracing literature).
Although I haven't
built a real production renderer (yet), I consider myself to be a gifted amateur
when it comes to software rendering, raytracing and global illumination.
Here are some
images I've generated:
|
Some random objects cluttering up a desk. I'm
particularly happy with the way the GI came out in this image, there's some
really nice color bleeding on the lamp, the elephant, and the back wall.
The prism is a little disappointing (I need to add some dispersive
refraction support). |
|
A
heptoroid made out of glass. This object is a sculpture designed
by Brent Collins and Carlo Séquin. This particular dataset, however,
came from here.
|
|
The 'Lucy' model in grace cathedral. The environment
in this image is a new light probe of grace cathedral which can be found
here. |
Some teapots
under HDR environment lighting.
Inspired by some
similar images by Henrik Wann Jensen. |
|
A variety of glass critters. There is a point light inside the glass
bunny which casts caustics on the walls. Photon gathering is used for
global illumination. The wood floor uses a procedural texture that I
wrote. |
|
Caustics from those little glass globes that you can buy at IKEA. I'm
using photon gathering here too. The scene is lit from above by a
spotlight, and there is lots of scattering from the glass balls, so it takes
a LOT of samples to remove all the noise. I am VERY impressed with the
performance of the Intel Centrino Duo under such stressful conditions :) |
|
Soft shadows from a lattice structure. This image was inspired by the
works of Japanese bamboo sculptors Morigami Jin and Honda Shoryo. |
|
A bit of algorithmic fun. This is the minimum spanning
tree of a set of random points. The scene is lit by three spherical
area lights. |
|
This teapot is made entirely out of
Stanford bunnies :) |