home   software   art   me
 
Raytracer
This was the image that I designated as the "final image" for the independent study in which this raytracer was done. It is lit with one light, and achieves its indirect illumination look through global photos. The sphere at the center is not shaded with the phong illumination model but rather diffuse reflections, this may have been more clear with an object using gouraud shading. And while non obvious the shadow is mildly softened.
A very simple render at first glance. However, the object itself has 1 million triangles. While not impressive by itself, a non anti-aliased, non reflective, 640x480 render was achieved in 30 seconds on an athlon XP 2500+. This performance is thanks to the 3rd generation of the grid accelerator I developed. The algorithms and techniques used were not found in a book, I made a point to develop them through experience and common sense. After all, the point was to learn.
My first successful render of soft shadows. To generate the soft shadows, instead of shooting a single shadow ray to a point light we shoot many to a light in the shape of a disk, forming a cone of rays. The challenge here was how to distribute the rays in the cone so that each ray carried the appropriate responsibility in discovering to what extent the current point was in shadow.
An extension to the image above, we use a similar technology to create blurry/glossy/diffuse reflections. Instead of shooting one ray to discover the reflected image, we shoot many, in a cone. The sampled colors are then averaged to create the final reflection's color.
Once again using the same knowledge and similar algorithms, I used the cone sampling to simulate depth of field. This time the disc represents the circle of confusion in film terms. Of course the big difference here being, that the rays are shot from the disk to a singular point.
Another area I had an extreme interest in was photon mapping. The idea here, is that before we render, we shoot thousands of "photons" from the lights in the scene. These photons bounce around and plant themselves all over the scene as tiny lights, with direction and intensity. We then use this data during rendering with various equations to approximate the amount of light added to a given point by the photons.
Another photon image, this render was meant to test the equations used to approximate the light added by the photons in the area. The trick being that the flat surfaces would not create arbitrary patterns, but predictable shapes. If they were not visibly smooth and well formed, there were problems. The challenge was to calculate the appropriate amount of light contributed by a single photon as a function of both its distance from the point of interest and the amount of other photons near by.
 
All Materials © Kevin Pazirandeh 2006