Home Table of Contents Gallery Sample Chapter Courses Errata Links Contact Mailing List Web Slaves

Ray traced images

This download file contains all the ray traced images in the book as JPEG files. Because of its size, these images are also included  in the individual chapter downloads. This will allow you to download them in smaller chunks. You will be able to see a lot more detail in these images than you can in the printed versions in the book.

RayTracedImages.zip (125 MB)


Skeleton ray tracers

The skeleton ray tracers were written by Sverre Kvaale, and are here to help you get started with start ray tracing. They were developed using the wxWidgets application framework for the user interface, operating system functions, and file I/O. A description of their features is available here. The ray tracers are currently available for Windows and Linux.

These are released under the wxWindows license, which includes the GNU General Public License Version 2. The complete set of licenses, which you should read, are in the LICENSES document.

The 1.0.2 versions render Figures 3.18 and 3.3.20(a). The 1.1.2 versions render spheres and planes using a pinhole camera with ambient and diffuse shading from a directional light. Antialiasing is built into the camera. These versions contain more classes than the 1.0.2 versions. The build function ShadedObjects.cpp renders this image.

The projects are set up so that you don't have to specify path names with #include files. The projects also contain empty directories for most things that you are likely to want to add, such as textures, mappings, noises, and BTDFs. Each download file contains installation instructions for all versions, and an executable version that renders a single image.

Windows downloads
The net versions can be run with the either of following IDEs using compiled C++ code:

Microsoft Visual Studio .NET 2003
Microsoft Visual C++ 2005 Express Edition (a free download)

See the installation instructions.


The vc6 versions run with Microsoft Visual Studio 6 from 1998.


The above versions have all been tested under Windows XP and Windows 2000. The return types of clone functions in the ray tracing source code is different in the net and vc6 versions. That's the only difference.

Linux downloads
These use the Eclipse IDE.




The illustrations are available as Adobe Illustrator EPS files in a single download. Because these will be of most use to instructors, I haven't included them in the individual chapter downloads. The reproduction of these illustrations in the book is beautiful, and allows you to see everything you need to.

IllustratorDiagrams.zip (120 MB)



The animations download file contains 21 animations in either .avi or .mov formats that illustrate various aspects of ray tracing. A description of these is in AnimationNotes.pdf.

Animations.zip (105 MB)



The code download contains the classes that are in the version 1_1_2 skeleton ray tracers, with additional features added to some classes. There are also many other classes including the samplers, Grid, Mesh, and several triangles. All files have Windows line endings.

This code collection currently only goes up to Chapter 24 on mirror reflection. Additions to cover transparency and texturing are coming.

CodeVersion1.zip (162 k)


PLY files

The PLY file download contains all the un-textured PLY files used in the book. The largest file is dragon.ply at 32 MB

PLYFiles.zip (12.4 MB)


Texture images

This download contains all the texture images used in the book.

TextureImages.zip (24.2 MB)


Chapter downloads

Each chapter download file will contain the ray traced images, and the build functions for most of these images. Some chapters will contain additional code. Examples include the sampler classes in Chapter 5, the BeveledBox and BeveledWedge classes in Chapter 21, the Grid class in Chapter 22, and the noise classes in Chapter 31. Code that's in the skeleton ray tracers isn't included here.

Some chapters will also contain additional ray traced images, triangle meshes, and texture images in ppm file format.

My code is released under the GNU General Public License Version 2. The complete license is in COPYING.txt.

Chapter03.zip (589 k) Chapter04.zip (1.6 MB)
Chapter05.zip (5.4 MB) Chapter06.zip (193 k)
Chapter08.zip (1.4 MB) Chapter09.zip (590 k)
Chapter10.zip (1.2 MB) Chapter11.zip (5.7 MB)
Chapter12.zip (3.8 MB) Chapter14.zip (1.5 MB)
Chapter15.zip (635 k) Chapter16.zip (2.5 MB)
Chapter17.zip (3.1 MB) Chapter18.zip (4.9MB)
Chapter19.zip (1.8 MB) Chapter20.zip (480 k)
Chapter21.zip (2.0 MB) Chapter22.zip (5.6 MB)
Chapter23.zip (5.3 MB) Chapter24.zip (11.3 MB)
Chapter25.zip (4.4 MB) Chapter26.zip (2.9 MB)
Chapter27.zip (4.7 MB) Chapter28.zip (12.2 MB)
Chapter29.zip (7.5 MB) Chapter30.zip (4.5 MB)
Chapter31.zip (13.2 MB)