Vectorized procedural models for natural terrain: Waves and islands in the sunset

A ray-tracing procedural model is described, in which ocean waves and islands are rendered by different but related algorithms. The algorithms are based on analytic formulas involving arithmetic operations, trigonometric functions, and square roots, and are organized for a vectorizing compiler on a Cray 1, a “supercomputer” with a vector pipeline architecture. Height field methods are used, one vertical scan line at a time, to trace the direct rays to the ocean, where they are reflected. Approximate methods are then applied to find whether the reflected rays meet any other object on their way to the sky. The output, at eight bits per pixel, gives information for shading, e.g. the angle of the surface normal for rays meeting the islands, or the angle of elevation from the horizon for rays continuing unobstructed to the sky. The output is recorded on a magnetic tape for each frame in one cycle of the wave motion, and plotted offline on a Dicomed D-48 color film recorder. The eight bits per pixel are interpreted by a color translation table, which is gradually changed as the wave cycle is repeated to simulate the changing illumination during sunset.