This picture shows refraction, my procedural solid wood texture, and a bump-mapped floor.
Notice how flat the distant parts of the floor look; that's because it has nothing to reflect.
In this picture we have diffuse reflections on a steel ball; a brightly lit, motion-blurred pool ball, and area lights (which creates soft shadows). Please note the ray tracing cliché of a reflective sphere on a checkered floor.
I changed the refraction formula to what I hope is a more realistic one. I also made light not
reflect when it hits the
inside surface of a sphere. This picture shows an early version of
my global environment mapping routine; the floor and spheres reflect a photo that's "wrapped" around the scene.
Unfortunately, I messed with the specular lights, so the specular highlight on the pool ball doesn't look as
it should.
The same low-polygon count wine glass rendered with and without phong shading. Phong shading is a method
for creating smoother surfaces by interpolating the vertex normal vectors across the surfaces. I found it was
much harder to implement in a ray tracer than it would have been in a conventional 3-d renderer, that draws one
polygon at a time.
This picture shows how light reflects off a flat surface and a phong-shaded surface. It also illustrates a problem
with phong shading: if the light hits the polygon at a steep angle, sometimes the angle between the normal vector (marked "N") and the light ray will be more than 90 degrees, so the ray tracer thinks the light hit the back of the
polygon instead of the front, thus messing up the lighting and reflections. There doesn't seem to be any good
way to fix this.
|