Results

The following models were generated with refract.mod and refract2.mod. They demonstrat refraction, texture mapping, and shadows. The picture on teh right used 2 light sources.

The following pictures were generated with reflect.mod and reflect2.mod. They demonstrat refelections. The image on the left has a greater degree of refelectivity than that of the right. Also notice the ambient and specular lighting.

This picture, generated by caust.mod demonstrates caustics. The white pattern on the back is a caustic pattern generated by a sinusoidl surface. The surface is not shown in the rendered picture, but you can see it schemeteicly in the other picture.

Here is anouther example of caustics caust2.mod:

Discussion

From these output pictures we see that the raytrace works well for specular light intraction. To extend it to diffuse it would be best to combine the raytracer with a radiosity engine. Also not that for caustics to be implemented well a large number of small polygons was needed. Even with all these triangles the caustic was not very smooth. Thus there is a trade off here in that more realism demands a larger number of triangles. Octrees proced to give a significant speed up, however much could be gained from heirarcal bounding structures. Also to reduce aliasing effect distributed raytracing would have proven to be usefull. This again would require additional computational overhead.

For additanal speed ups SEADS combined with octrees or bsp trees could have been used as alternate to octrees alone. This would allow use of integer DDA style voxel traversel, avoiding intersection with walls as is currently implmented.

Hosted by www.Geocities.ws

1