Wednesday, December 17, 2014

Creating a Giant

Jupiter I invoke, the Earth, and Solar Light, the Moon's pure splendor, and the Stars of night. Thus spake the ancient Orphists, according to Thomas Taylor. Of images, however, they remained silent.

In order to get convincing footage for one of the most majestic vistas in the Solar System - the gas giant Jupiter - the production team quickly realized it would not really be feasible to shoot on location.

Even at the very shortest the distance from Earth to Jupiter is 365 million miles, give or take. Since going there was simply out of the question something else clearly needed to be done. Consequently the decision was made to create the entire planet digitally, something that had never been done before.

Thereby 2010: The Year We Make Contact became one of the first movies to seamlessly incorporate CGI with live action photography; the CGI effects were in fact rather revolutionary for their time. The movie also has another digital first to it's name: it is the first movie to combine computational fluid dynamics with CGI, which nowadays is rather standard digital cloud-making fare. Here is the whole story about the Jovian bits.

The players

Digital Productions

The company that actually produced the CGI Jupiter effects was called Digital Productions. The company was started in 1982 by John Whitney, Jr. and Gary Demos, after they left Information International, Inc. (also  known as III, or simply Triple I, a company that built electronic paste up techniques for magazines) mainly due to a disagreement over the amount of computing power that needed to be devoted to feature film production, particularly for the movie Tron. Demos and Whitney were convinced the future of visual effects lie in computational power, and lobbied hard for better CPUs. Triple I did not budge, and the duo left to form their own company.

The pinnacle of computing power at the time was the Cray. The first commercial Cray model - prophetically named Cray 1 - was just about to be replaced by the next model in Cray's product line, the Cray X-MP. Digital Productions acquired one the moment one became available. It was at the time the only Cray X-MP (of six in existence) that was not in governmental or military use.

Demos and Whitney and the Cray X-MP.

Digital Productions was financed by CDC (Control Data Corporation), and the Cray was leased from Ramtek, the frame buffer company. While the Cray certainly provided the CPU power that Whitney and Demos desired, the cost was astronomical. According to facts and figures the computer required approximately $12,000 per month for electricity - it was said "Cray manufactured the most expensive refridgerators money could buy" - and was marred with maintenance costs approaching $50,000. When Digital Productions set out to create their business model the industry simply did not have contracts that would cover such immense costs, but both Demos and Whitney were adamant: the Cray was there to stay.

The first 'civilian' Cray X-MP with proud parents.

At their peak, Digital Productions employed between 75 and 100 employees, and executed special effects for a number of films and advertisements. Some of the more notable projects include a whopping 27 minutes of CG for The Last Starfighter - which cost $14M (Digital Productions's contract was for $4.5M) and grossed only $21M - Mick Jagger's Hard Woman music video, Labyrinth, and of course the Jupiter sequence for 2010.

Boss Film and EEG

When Richard Edlund left ILM to form his own company in 1983, Boss Film Studios, one of the first jobs he got was 2010. Boss Film Studios were contracted by director Peter Hyams to produce the shooting models for the Discovery and the Leonov, as well as the smaller models for the Russian reconnaissance pods. By far the most complex and innovative project was, however, the creation of the gas giant Jupiter.

When the production team decided to utilize digital technology to generate Jupiter the obvious choice was to cooperate with Digital Productions, using both the Digital Film Printer (DFP) that was originally constructed for Star Wars, as well as the pride of Digital Productions, their Cray X-MP.

Creating a Giant

The giant gas planet Jupiter is one of the crucial elements in the movie. The aerobraking sequence, among other scenes, rest on the visual quality of the planet; if the planet does not look real and believable, all scenes where the planet is an element would have to be redesigned. Special effects supervisor Richard Edlund realized Jupiter needed to be created digitally in order for it to be the central, detailed visual element that was needed in the film. The effects shots simply had to be lifelike, there was no other option. "The longer the audience has to study the shot," he said, "the more difficult it becomes." Before 2010 an effects shot averaged 3 seconds in length. In contrast, the Jupiter sequence shots occupied 8 second of screen time on average. "An effects shot is going to show itself as an effects shot eventually," Edlund said, "and the degree of detail and difficulty goes up almost logarithmically based upon the time it is on the screen."

Early in the production director Peter Hyams, special effects supervisor Richard Edlund, Digital Productions' president John Whitney Jr. and vice president Gary Demos, along with fractal consultant Walter Gish and software engineer Larry Yaeger, both also of Digital Productions, met up at The Jet Propulsion Laboratory (JPL) to look at the Jupiter images taken by the Voyager space probe.

Mosaic obtained from JPL.

Richard Terrile from JPL showed the team images, both still and moving, of the swirling chaos and ceaseless motion of Jupiter's cloud cover. The stills were actually the same stills JPL scientists themselves used for simulations and mission planning. While fascinating and mesmerizing, the production team quickly understood the quality of the imagery was too poor to be used in a feature film. According to Larry Yaeger there were "visible linear anomalies, sections with bad data, and they were insufficiently detailed". In several images shadows from the Jovian moons blocked out big chunks of the cloud patterns. John Whitney Jr. immediately realized more detail was needed "to enhance audience perception of the enormous size of the biggest planet in our Solar System."

JPL Jupiter approach animation (6.5 MB file)

However, a mosaic consisting of Voyager II images was nevertheless obtained from JPL. The mosaic was then used to pinpoint the major vortices of the swirling cloud cover: a copy was made, cleaned up, and the rather painstaking manual labor of locating the swirls, comparing them to the surrounding clouds, and marking the rotation direction - clockwise or anticlockwise, i.e. negative or positive - was begun.

Composite mosaic used to pinpoint vortices.

Larry Yaeger then proceeded to place the vortex rotations. The surface map was then scanned and used as a contour map, marking the global initial vorticity distribution with color coding. These color codes were then used to simulate the circulation patterns of Jupiter's atmosphere.

Jupiter map with vortices marked, negative rotation in blue, positive in white.

The vortex data was then used as raw data for the animation programs that were created by the software engineers at Digital Productions. There existed no fluid animation programs for the Cray, so the Digital Productions software engineers set out to create them. The resulting programs were in-house productions, coded in CFT (Cray Fortran) and CAL (Cray Assembly Language). "The key to the creation of the swirling clouds of Jupiter," says Gary Demos, "was the creation of a Navier-Stokes fluid dynamics particle system by Larry Yaeger and Craig Upson." The programmers - enhanced with Robert Myers, an associate of Yaeger's - set about programming three separate programs: 'Trade', which translated the 2D images into time-stretched versions of themselves; 'Winds', which applied the vortex data to the textures; and 'Depict' which averaged several of the vortex-and-time-stretched images to finally produce a processed picture frame. These three pieces of software engineering were then collectively called 'Vortex', and this was the suite that was used to produce the animation.

Mitch Wade and Larry Yaeger make calculations, Craig Upson looks on.

The issue of the lack of detail still existed, though. The problem was rather elegantly solved; instead of aquiring more detailed imagery by extrapolating the existing, real footage - obtaining new source material was, of course, rather impossible - the decision was made to add new details by simply painting them in.

An 8-foot-by-30-inch image composite was created from the real footage from Voyager II and production artist Ron Gress was commisioned to airbrush the entire wallpaper-sized picture, adding detail and enhancing colours and contrast. According to Digital Productions, Gress added "complex, realistic cloud swirls into separation and recirculation regions."

Artist Ron Gress airbrushing Jupiter 'snakeskin'.

Since the mosaic was created from images snapped by Voyager II at different times, the clouds in the real images had naturally moved between shots. All of these sharp angles and differences had to be smoothed out by airbrushing. Several hundreds of these blemishes were corrected, and areas with no data were filled in by Gress by comparing the area to the surrounding cloud cover.

"Ron is a genius," says Craig Upson. "He spent a month repainting the entire thing." The airbrushed 'snakeskin' was checked for consistency, repeatedly re-checked and finally declared fixed.

Larry Yaeger and Craig Upson examining the Jupiter 'snakeskin' images.

The resulting airbrushed image was then shot in 35mm VistaVision format by Christopher Dusendschon, and scanned into the Cray at Digital Productions. The detour via the VistaVision was dictated by pragmatics: there existed no digital scanner large enough to scan the artwork in one go.

Larry Yaeger and Craig Upson scrutinize the Jupiter slides.

To create the final digital texture, several images were combined into one file. In fact, four overlapping scanned images were digitally placed on top of each other, and then averaged to remove film grain from the VistaVision frames.

Full 'snakeskin' after being airbrushed by Ron Gress.
The airbrushed, fixed and scanned, now-digital 'snakeskin' was then used as a 6000 x 2500 pixel texture for the Jupiter planet. This was the texture that was used to 'wrap around' a digital sphere and animated, creating the gas giant on the silver screen.

Big Crays Don't Cry

Further obstacles were encountered before the animation could be finished, however. The Cray X-MP, impressive enough in its day, was very modest by even the most humble standards of today. While equipped with a then-massive RAM memory of 16 MB (later models of the X-MP expanded this to a whopping 64MB), a CPU operating at 105MHz, and 7 GB of hard drive space, the Cray was brought to it's knees by the Jovian animation.

Detail of linear Jupiter 'snakeskin'.

The textures were initially scanned in four parts, each at a resolution of 2560x2048 pixels, and each frame was then broken up into several million fragments, each fragment having several discrete vectors, from 1 to 5 each. These vectors were then used to extrapolate the position of the fragment in the next frame, creating a new base line for the next frame, and so on, ultimately ending up with a fluid animation for the Jupiter cloud cover. After successive iterations, however, the Cray started coughing and sputtering.

Non-linear detail.

To ease the memory load of the machine, the texture resolution was lowered to 1400 x 1000 pixels. This, however, began producing visual artifacts. Moreover, the final result was not of high enough resolution to be usable. Yaeger's solution was to apply non-linear texture mapping to the digital sphere. In short, the areas of the gas planet which are facing the viewer are rendered with a higher resolution texture, and the "unimportant" areas that bend around towards the back of the planet are rendered in lower quality.

Killing a Giant

The final piece of animation was the implosion and 'death' of the planet. The effect was made by placing a "gravity sink" - a digital zero-length object - at the center of the sphere. This object then curved the surface of the sphere, creating a dimple in the cloud formations. Adding more gravity to the sink obviously made the hole deeper. The deeper the hole, the more black was added to the surface color, effectively creating the illusion of the sphere imploding.

The gravity sink.

The resulting animation frames were rendered at 6400 x 3240 pixels, but this was slashed in half before delivering the end product. Ultimately 3,600 frames of animation at 3200 x 1620 pixels were produced by Digital Productions. At 24 frames per second this adds up to 2 1/2 minutes of continuous animation. This loop was then used throughout the film, variously processed via a multitude of color filters, slits, and lenses. The perceptive viewer can easily recognize the tell-tale details that give away the fact the same sequence is used repeatedly throughout the movie.

Nevertheless, Jupiter had never looked as good in motion pictures before. "I think more time and effort was spent on physically getting Jupiter to look like Jupiter than has ever been spent on any single image in the history of motion pictures," Hyams remarks.

Jupiter's implosion as it appears in the movie.

One fact remains, however: the results are very convincing, especially considering the CGI effects are over 30 years old as of writing. "We have created," said Richard Edlund at the time, "an image of Jupiter that is more advanced than anything anyone has ever seen before." He was completely right.

In addition to the Jupiter globe, several thousand monoliths were created for the final sequence. These multiplying, replicating and swirling monoliths were not printed to film from the Cray, however. The monoliths were simply shot from a stabilized line-drawing display, the display having a fine enough resolution for images to be shot directly from the display screen to be shown on the cinema screen. What 'fine enough' really means, is up for debate. "We were filming off a CRT face," says Craig Upson, "about five inches across."

Creating the animations was an immensely time-consuming process. With a rendering time of over 2 minutes per frame, one second of film took an hour to produce. Richard Edlund laughs, "I would ask for a test, and John [Whitney] would say 'how about thirty frames'?"

Yet, after all was said and digitally done, the images of Jupiter in 2010 were vastly superior to anything previously seen on the silver screen or elsewhere. They were so good, in fact, that when director Peter Hyams showed the resulting images to JPL consultant Rich Terrile, the scientific adviser was visibly moved. "It is beyond a simulation," says Hyams, "it is Jupiter, and it's an image to be proud of."

Post script

In the name of full disclosure, while the images of Jupiter were quite revolutionary for the time and the results are astonishing, the image on the silver screen does not look like Jupiter, despite Hyams' claims.

Jupiter in true color, taken by the Hubble telescope.

Jupiter, according to it's popular image, is very much tinted in red. The actual gas giant is not really red at all, rather a bland beige with light brown stripes. However, the image of the 'Red Giant' is so ingrained in the public consciousness that only a select few amateur and professional astronomers who watch the movie might let out a groaned sigh.

For the rest of us the image in the movie really is the Jovian planet. Colours be darned.

Images copyright ©1979 NASA, ©1983-1984 MGM.