SoList: a ray-tracing program to render implicit surfaces


(French only) Commentaire sur les images qui suivent

Solist is a ray-tracing program designed to demonstrate the rendering of implicit surfaces. It was written in 1995 for the computer programming project at Ecole Polytechnique. It is not much developped anymore, but the sources are available. There are cross-linked pages describing the interfaces of the classes. I consider the code as a good showcase of what can be done using C++, especially the "InterList" design, an abstract list of ray intersections allowing lazy evaluation.

Unlike most other programs, Solist renders the implicit surfaces directly . There is no conversion to a triangle mesh. It is able to perform any kind and number of CSG operations on these surfaces, as shown in the images. It is absolutely accurate, meaning that it will never have artifacts due to an a-priori triangulation (however, it does use a space division for speed). It is relatively fast, considering the kind of surfaces rendered. It can also render more traditionnal objects, such as spheres.

Sample images

These are not supposed to be nice, they are just a demo of the renderer: implicit surfaces (the kind-of-wave thing), CSG (holes and intersections everywhere) ... Cross-linked interfaces of the classes used by the renderer.
Last modified June 16, 1997. Stephane Belmon (sbelmon@cse.ucsd.edu)