RAY TRACING JELL-O BRAND GELATIN Copyright 1988 ACM Reprinted with permission from Communications of the ACM, February 1988. 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. JELL-O SHAPE 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. JELL-O DYNAMICS 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: .nf _2 2m V J + -- (E - V)J = 0. h .fi Transforming to a spherical coordinate system [7], .nf _ 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 .fi [Many of the symbols used don't appear in ASCII -- ed] 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: .nf ---------------------------------------- | J = 0. | | The Jell-O(r) Equation | ---------------------------------------- .fi RAY-JELL-O INTERSECTION CALCULATION 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 In 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]. IMPLEMENTATION 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. CONCLUSIONS 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. REFERENCES 1. Barr, a. H. Ray tracing deformed surfaces. SIGGRAPH 86 Proc. 20, 4 (Aug. 1986), 287-296. 2. Blinn, J. F. Computer display of curved surfaces. Ph. D. thesis. Computer Science Dept., Univ. of Utah, Salt Lake City, 1978. 3. Fuller, R. B. Synergetics. MacMillan, New York, 1975, p. 125. 4. Graham, E. Graphic scene simulatons. Amiga World (May-June 1987), 18-95. 5. Haeberli, P., and Heckbert, P. A Jell-O calculus. ACM Trans. Graph. (special issue on ray tracing moist surfaces). Submitted 1872. To be published. 6. Kajiya, J. T. The rendering equation. SIGGRAPH 86 Proc. 20, 4 (Aug. 1986), 143-150. 7. Plastock, R. A., and Kalley, G. Schaum's Outline of Computer Graphics. McGraw-Hill, New York, 1986. 8. Sales, S. The Soupy Sales Show. 1966. 9. Weller, T. Science Made Stupid. Houton Mifflin, Boston Mass., 1985. 10. 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.