*New technology is presented for imaging a restricted class of
dessert foods.*

Paul S. Heckbert

Ray tracing has established itself in recent years as the most general image-synthesis algorithm [10]. Researchers have investigated ray-surface intersection calculations for a number of surface primitives. These have included checkerboards [Whitted 80]; chrome balls [Whitted 80]; glass balls [Whitted 80]; robot arms [Barr 82]; blue abstract things [Hanrahan 82]; more glass balls [Watterberg 83]; mandrills [Watterberg 83]; more mandrills [Sweeney 83]; green fractal hills [Kajiya 83]; more glass balls [SEDIC 83]; aquatic blobby things [Kaw 83]; more chrome balls [Heckbert 83]; pool balls [Portner 84]; more glass balls [Kajiya 86].

Unfortunately, *nobody* has ray traced any food. So far, the most
realistic foods were Blinn's classic orange and strawberry images, but
these were created with a scan-line algorithm [2]. The *Dessert
Realism Project* at Pixar is addressing this problem. This article
presents new technology for ray tracing a restricted class of dessert
foods, in particular Jell-O(1) brand gelatin. We believe this method
may have application to other brands of gelatin and, perhaps, pudding
as well.

This article is divided into three parts: methods for modeling static Jell-O, simulation of Jell-O motion using impressive mathematics, and ray-Jell-O intersection calculations.

To model static Jell-O, we employ a new synthesis technique wherein
attributes are added one at a time using abstract object-oriented
classes we call *ingredients*. Ingredient attributes are combined
during a preprocessing pass to accumulate the desired set of material
properties (consistency, taste, torsional strength, flame resistance,
refractive index, etc.). We use the RLS orthogonal basis (rasberry,
lime, and strawberry), as shown in the figure below, from which any
type of Jell-O can be synthesized [9].

Ingredients are propagated through a large 3-D lattice using
vectorized pipeline SIMD parallel processing in a systolic array
architecture that we call the *Jell-O Engine*. Furthermore, we
can compute several lattice points simultaneously. Boundary
conditions are imposed along free-form surfaces to control the Jell-O
shape, and the ingredients are mixed using *relaxation* and
*annealing* lattice algorithms until the matrix is chilled and
*ready-to-eat*.

Previous researchers have observed that, under certain conditions.
Jell-O *wiggles* [8]. We have been able to simulate these unique
and complex Jell-O dynamics using spatial deformations [1] and other
hairy mathematics. From previous research with rendering systems, we
have learned that a good dose of gratuitous partial differential
equations is needed to meet the paper quota for impressive formulas.

Therefore, we solve the Schrodinger wave equation for the Jell-O field J:

_2 2m V J + -- (E - V)J = 0. hTransforming to a spherical coordinate system [7],

_ dJ 1 dJ 1 dJ VJ = E -- + E - -- + E ----- -- x dr y r dO z rsinO dP 2 _2 1 d 2 dJ 1 d dJ 1 d J V J = -- -- (r --) + ------ -- (sinO --) + ------- --- 2 dr dr 2 dO dO 2 2 2 r r sinO r sin O dP

Fuller has given a concise and lucid explanation of the deviation form here:

The "begetted" eightness as the system-limit number of the nuclear uniqueness of self-regenerative symmetrical growth may well account for the fundamental octave of unique interpermutative integer effects identified as plus one, plus two, plus three, plus four, respectively; and as minus four, minus three, minus two, minus one, characterizing the integers five, six, seven, and eight, respectively [3].In other words, to a first approximation:

---------------------------------------- | J = 0. | | The Jell-O(r) Equation | ----------------------------------------

The ray-Jell-O intersection calculations fortunately require the
solution of integral equations and the simulation of Markov chains
[6], so they cannot be computed efficiently. In fact, we have proved
that their solution is linear-time reducible to the traveling-salesman
problem, where *n* is the number of Jell-O molecules, so we can be
sure that ray tracing Jell-O will be practical only on a supercomputer
[5].

A preliminary implementation has been completed on a VAX 11/780 running the UNIX(2) operating system. To create a picture using the full Jell-O Engine simulation, we estimate that 1 CPU eon of CRAY time and a lot of hard work would be required. We made several simplifying approximations, however, since the article is due today. As a first approximation, we have modeled a gelatin cube governed by the first-order Jell-O equation with judiciously selected surface properties; that is, color = (0, 255, 0). The frontispiece for this article was created with this model.

Work is underway on a complete Jell-O Engine implementation using Lisp
*flavors*. We will shortly begin computing a 100-by-100 image of
a bowl of lime Jell-O using a roomful of Amigas [4]. The picture
should be ready in time for SIGGRAPH with hours to spare.

Jell-O goes well with a number of other familiar objects, including mandrills, glass balls, and teapots. The composition and animation possibilities are limited only by your imagination (personal communication by Lance Williams, 1980). The Dessert Foods Division is generalizing the methods described here to other brands of gelatin. Future research areas include the development of algorithms for ray tracing puddings and other dessert foods. Another outstanding problem is the suspension of fruit in Jell-O, in particular, fresh pineapple and kiwifruit.

Jell-O is:

- visually appealing
- futuristic
- hydrodynamically captivating
- tasty
- goes well with other objects.

*Acknowledgements*. Thanks to Paul Haeberli for tipping back a few
with me on this research and to H. B. Siegel for key observations.
The SIGGRAPH technical committee also deserves thanks for recognizing
that *"there's always room for Jell-O."*.

(1) Jell-O is a registered trademark of General Foods.

(2) UNIX is a registered trademark of AT&T Bell Laboratories.

- Barr, a. H. Ray tracing deformed surfaces. SIGGRAPH 86 Proc. 20, 4 (Aug. 1986), 287-296.
- Blinn, J. F. Computer display of curved surfaces. Ph. D. thesis. Computer Science Dept., Univ. of Utah, Salt Lake City, 1978.
- Fuller, R. B.
*Synergetics*. MacMillan, New York, 1975, p. 125. - Graham, E. Graphic scene simulatons.
*Amiga World*(May-June 1987), 18-95. - Haeberli, P., and Heckbert, P. A Jell-O calculus. ACM Trans. Graph. (special issue on ray tracing moist surfaces). Submitted 1872. To be published.
- Kajiya, J. T. The rendering equation. SIGGRAPH 86 Proc. 20, 4 (Aug. 1986), 143-150.
- Plastock, R. A., and Kalley, G.
*Schaum's Outline of Computer Graphics*. McGraw-Hill, New York, 1986. - Sales, S.
*The Soupy Sales Show*. 1966. - Weller, T.
*Science Made Stupid*. Houton Mifflin, Boston Mass., 1985. - Whitted, T. An improved illumination model for shaded display. Commun. ACM 23, 6 (June 1980), 343-349.

**CR Categories and Subject Descriptors**:
C.1.2 [Processor Architectures]: Multiple Data Stream Architectures
(Multiprocessors) -- *array and vector processors*; I.3.7 [Computer
Graphics]: Three-dimensional Graphics and Realism -- *color, shading,
shadowing, and texture*; J.3 [Computer Applications]: Life and
Medical Sciences -- *health*

**General Terms**: Algorithms, Design, Theory

**Additional Key Words And Phrases**:
Food, gelatin, Jell-O, lattice algorithm, ray tracing

**Author's Present Address**:
Paul S. Heckbert, Dessert Foods Division, Pixar, San Rafael, CA 94913-3719.

Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.

Pete Bevin, pete@petebevin.com