| Submitted by , posted on 11 September 2004 |

Image Description, by This image was generated using SSRT, a simple Monte-carlo path-tracer that I wrote. My reason for writing it, is to provide a minimalist piece of source code (in line with what you will see on codesampler.com) for a path-tracer, in order to enhance the general understanding of the algorithms involved.
In the image you will noticed that the sphere is perfectly specular. The wall at the back shows imperfect specular/glossy reflection. On the (white) roof and floor you will notice color bleeding from the left and right walls. Accurate soft shadows are generated by the area light source.
Some features that are supported by SSRT:

> - Global diffuse illumination
> - Perfect and imperfect global specular illumination
> - Phong BRDF based importance sampling and cosine sampling
> - Stratified sampling is used for sampling the diffuse part of the BRDF
> - Arbitrary area light sources
> - Support for triangle based primitives
> - Smooth or faceted objects
> - Bounding box checks for ray acceleration
> - An easy to use camera model
> - A limited implementation of refraction

The code base is very small, and external libraries are minimal - Win32 is used for the front-end of the Windows version, and a GTK front-end for the Linux (or anything I suppose) version.
The source code, executable and more pictures are freely available at: http://people.cs.uct.ac.za/~snirenst/SSRT
This is not my area of expertise, so any comments about misunderstandings in the implementation would be welcome.
- Shaun Nirenstein

[prev] | Image of the Day Gallery www.flipcode.com | [next]

Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.