Eric Graham wrote his first ray-tracing program in 1966 and then waited twenty years for a computer that could show him the results. The only machine he could use, he recalled, was “the biggest in Europe”. It took many hours to make one image, which came out on a teletype at 80 by 66 pixels. In late 1986 he bought an Amiga, “the first machine with good enough graphics to do justice to ray tracing”, and in about a month made The Juggler: a robot juggling three mirrored balls on a checkerboard, shadows and reflections included. AmigaWorld wrote that it “quickly became a symbol of the Amiga’s graphics capabilities”. Graham then turned his renderer into Sculpt 3D, one of the first 3D modelling programs sold for the machine.
Fast facts
- Known for: The Juggler (late 1986) and Sculpt 3D (summer 1987).
- Background: a former astronomer and software developer. AmigaWorld gave his address as Sandia Park, New Mexico, and Amazing Computing called him Dr Eric Graham.
- Publisher: Byte by Byte of Austin, Texas, which signed him early in 1987.
- Later programs: Animate 3D, Sculpt-Animate 4D (late 1988, $499.95) and the Movie animation player.
- Machine: Commodore Amiga.
The Juggler
The Juggler is a short film, not a game or an interactive demo. Amazing Computing described the public domain release in February 1987: “a robot juggler bouncing three mirrored balls, with sound effects. Twenty-four frames of HAM animation are flipped quickly to produce this image. You control the speed of the juggling.” HAM, or hold-and-modify, is the Amiga display mode that can show up to 4,096 colours at once, which gave the loop its smooth shading. Each HAM frame took 48K, so the 24 frames would have needed more than a megabyte of memory. Graham compressed them so that “even a 512K Amiga” could play the animation.
The loop spread through the Amiga’s public domain channels. It was on the AMICUS 16 disk and on Fred Fish’s disks 47 and 57. Dealers ran it on their demonstration machines: AmigaWorld’s hard disk round-up in July 1987 called it “one of our favorite graphics demos” and told readers to ask their dealer to show it. Commodore Magazine called it, “without a doubt”, the best public domain graphics demo for the Amiga. By June 1987 Amazing Computing was passing on a rumour that pressing J ten times, with exactly the right pause between presses, made the robot turn a somersault.
How he made it
Graham explained the method himself in AmigaWorld’s May/June 1987 issue, which carried his ray-traced art on the cover and his article “Graphic Scene Simulations” inside. It opened with his own caption for the robot:
Behold the robot juggling silver spheres. He stands firmly on the landscape and gleams in the light. He is only a microchip phantom, yet he casts a shadow. You can see his reflection in the refined orbs he so deftly tosses. He inhabits space, in a pristine computer’s dreamscape. Though he looks strangely real, he exists only in the memory of the Amiga.
Everything in that world was a sphere, including the robot, and the lamps were spheres that gave out light. Each sphere needed only eight numbers: three for its position, one for its radius, three for its colour and one for its surface, which could be dull, shiny or mirror-like. The ground was an endless checkerboard “like cheap vinyl flooring”, and the sky shaded from one blue overhead to another at the horizon.
To draw the scene, the program followed a line from the viewer’s eye through each pixel of the screen and out into the world. Where it first struck a sphere, the program worked out how brightly each lamp lit that point, checking whether another sphere was in the way, which is how the shadows appeared. The method was slow. The 68000 in the Amiga had no floating-point hardware, and Graham estimated that a straightforward version could take “as long as a month” to draw a single 320 by 200 picture. Switching to Motorola’s fast floating-point routines cut that to a few days. Skipping rays and scan lines that could not hit anything cut it again, to about an hour a picture. He also rendered quarter-size test images, which took a minute or two, to check the camera and lamps before committing to a full frame.
The article printed the core of the program in C and offered a disk with the complete source code, in C and in Amiga BASIC, for $15. In Britain the Amiga Centre Scotland sold his sphere-based program as Ray Tracer for £11, and ACE called it “the greatest Amiga graphics bargain yet”. By the summer of 1987 Graham and Cathryn Graham were also starting a newsletter on ray-tracing techniques.
Sculpt 3D
In April 1987 Amazing Computing reported that Byte by Byte of Austin, Texas, had signed “the programmer behind the ‘Juggler’ demo” to write a ray-tracing and animation package. Graham later said he started writing Sculpt 3D on 26 December 1986, once The Juggler was done, and that the hardest part was the interactive interface. It was finished in August 1987. Byte by Byte’s advertisements called it “Written by Eric Graham a la ‘Robot Juggler’”, at $99.95.
Sculpt dropped the world of spheres. Objects were built from triangles in three wireframe windows showing the scene from the side, the top and the front. The robot was drafted into the marketing: in the spring of 1987 Manx Software’s stand at a show ran a new version of the Juggler in which he stood in front of a large Byte by Byte billboard. At an online conference with Amiga users in November 1987, Graham said that the standard Sculpt used the Amiga’s fast floating-point library, and that a special version for the 68020 processor and 68881 maths chip was “FAST”. He was already writing the animation program to go with it: Animate 3D, which he expected to sell for $149.95, would let users “design motion paths which can be hierarchical (wheels within wheels)” with the mouse. The two programs were merged as Sculpt-Animate 4D, which was shipping by the end of 1988 at $499.95. The Sculpt 3D entry follows the programs in more detail.
Later years
Byte by Byte moved Sculpt to the Apple Macintosh, and by 1991 Amazing Computing reported Amiga owners complaining that the company had left them behind. Newer Amiga renderers such as Imagine and LightWave 3D overtook it. Graham’s Movie player, written with Byte by Byte’s Ken Offer, was still listed among the recommended shareware animation players in AmigaWorld’s 1992 guide to video and animation. The period magazines say little about Graham himself after the early 1990s.
Sources
- Amazing Computing: vol. 2 no. 2, February 1987 (AMICUS 16: the Juggler, 24 HAM frames, speed control); vol. 2 no. 4, April 1987, p. 27 (Byte by Byte’s Matthew Leeds on signing Graham); vol. 2 no. 5, May 1987 (Fred Fish disk 47); vol. 2 no. 6, June 1987 (the somersault rumour; the Juggler at the Manx Software stand); vol. 2 no. 7, July 1987 (Byte by Byte advertisement, “Written by Eric Graham a la ‘Robot Juggler’”, $99.95; “Dr. Eric Graham”); vol. 3 no. 3, March 1988, pp. 37–39, “A Conference with Eric Graham”, edited by John Foust (the 1966 ray tracer, “the biggest in Europe”, the teletype, the Juggler “produced in about a month”, Sculpt 3D begun on 26 December and finished in August, the 68020/68881 version, Animate 3D at $149.95); vol. 6 no. 3, March 1991 (the Macintosh version).
- AmigaWorld: May/June 1987, from p. 18, Eric Graham, “Graphic Scene Simulations” (cover art by Graham; the robot’s caption; the world of spheres; the ray-tracing method, rendering times and optimisations; frame compression for 512K machines; the $15 source disk; Graham “an ex-astronomer and software developer living in the mountains of New Mexico”, Sandia Park); July 1987 (hard disk round-up recommending the “Robot Juggler”; Cathryn Graham and the ray-tracing newsletter); January 1988, pp. 33–42, Sheldon Leemon, “Depth-Defying 3-D Programs for the Amiga” (the Juggler “quickly became a symbol of the Amiga’s graphics capabilities”; Graham’s twenty-year ambition); AmigaWorld Special Issue, Video and Animation, 1992 (Movie 2.0 by Eric Graham and Ken Offer).
- Commodore Magazine, vol. 8 no. 9, September 1987, “Amiga Public Domain Software” (the Juggler as the best public domain graphics demo; Fish disks 47 and 57; 48K per HAM frame).
- ACE issue 3, December 1987 (Amiga Centre Scotland’s Ray Tracer, sphere-based, £11).
- CU Amiga, October 1991 (Amiga Centre Scotland profile: Graham’s ray tracer, Sculpt 3D and Sculpt-Animate).