Special purpose automatic programming for hidden surface elimination

In many applications of three dimensional computer graphics, the appearance of the same scene must be computed repeatedly for many different positions of the viewer. This paper concerns a scheme for exploiting this property of an application for the purpose of improving the efficiency of the hidden surface computation. The scheme involves a kind of automatic programming: for each scene to be considered, a different special purpose program is automatically constructed. The special purpose program then takes the position of the viewer as input, and generates a suitable description of the scene with hidden surfaces removed as output. Since the special purpose program has a very limited task to perform - it is adapted to handling just one scene - it can be much faster than any general purpose algorithm would be for the same scene. The paper describes a method by which special purpose programs for hidden surface elimination can be constructed in a fully automatic manner. The method has been implemented, and results of experiments are given.