How images are made
Cosmic Reef in 3D: How the NGC 2014 and NGC 2020 Fly-Through Was Built
A flat Hubble portrait of two nebulae, turned into a camera flight with layered dust, a sculpted gas bubble and stars placed by catalog.

What does a nebula look like from the side? A Hubble picture never answers that, because the telescope records one direction only, and every depth cue in the image is a guess. When the 30th anniversary picture of NGC 2014 and NGC 2020 was released on April 24, 2020, a visualization team turned it into a short flight through both nebulae, and every choice about depth had to be argued from what astronomers know about objects of this kind.
The two clouds sit in the Large Magellanic Cloud, a satellite galaxy of the Milky Way about 163,000 light-years away. In the released image NGC 2014 is the large red complex with a cluster of hot, massive stars near its center, and NGC 2020 is the blue ring below it, blown by a single Wolf-Rayet star roughly 200,000 times as luminous as the Sun. The pairing is why the picture was nicknamed the Cosmic Reef. The planning behind the observation itself is told in Hubble's 2020 vision, and the color processing in Surfing the Cosmic Reef.
A different camera path, a flipped picture
The first decision was the route. For the fly-through the team turned the image upside down compared with the orientation of the press release. Flipped, the scene reads as a descent: the camera drops past the blue bubbles of gas in the area nicknamed the Brain Coral, runs on to the central star cluster, crosses the ridge of NGC 2014, and then sinks once more toward NGC 2020. Seen that way the same pixels feel like a different landscape, a useful reminder that orientation in space pictures is a choice.
The two nebulae also got two different treatments. NGC 2014 is a sprawling, ragged cloud with structure in many depths at once, so it was built in what the team calls 2.5D. NGC 2020 is a compact shell around one star, a shape that can be modeled outright, so it became a true 3D object, built in two separate rendering packages.
NGC 2014 in 29 flat layers
The 2.5D method starts with a version of the picture with every star removed. With the stars gone, the nebula could be divided into pieces along lines chosen from the likely topography of the cloud: which ridges are probably in front, which walls recede, which glowing patches lie far behind. Each piece was isolated, cleaned and placed on its own plane at a chosen distance along the camera's line of sight.
The planes were then sculpted, pushed slightly in and out so that they stopped looking like cardboard cutouts. Wherever the moving camera could see between two planes, the gap was painted in with extra material that continues the neighboring feature in a plausible way. Twenty-nine layers were needed for NGC 2014. The term 2.5D comes from that construction: each layer is mostly flat, but the parallax between layers at different depths makes the viewer feel that the camera is moving through a solid structure.
NGC 2020 as a volume of gas

Hubble sees NGC 2020 almost head-on, so its depth is the least constrained part of the scene. The team built a simple mesh model and took it to astronomers who study similar objects, and the discussion of that rough shape settled the structure, the density and the other properties the final version would need. The release text describes the ring as gas swept into a cone-like shape by the star's winds, seen at a slight tilt, so the star appears off-center in the picture.
The mesh then became the skeleton for volumetric data. Its vertices were converted into volumetric data stored as VDB files, a common format for smoke-like 3D effects, and the mesh was split into smaller sections so that each could be adjusted on its own. The dark patch at the lower left of the nebula is one example: that part of the model had to be cut out and reshaped until the render matched the Hubble picture. Other regions needed extra geometry to bring their brightness up to the level seen in the data.
To make the gas look like gas, the volume was layered with several noise fields, and a separate smoke model was added to soften and blur parts of the structure. Light and shading settings were tuned last, until the exposure and glow of the render agreed with the image, and the final frames were sent to several machines at once for rendering.
Seven thousand stars, nine hundred templates
Stars carry most of the sense of motion in a fly-through, so the stars removed at the start had to come back. They were taken from the Gaia star catalog: every star in the image area with brightness measured in three colors, about 7,000 in all. Gaia misses many of the faintest stars that Hubble records, but the density was enough for a visualization.
Each star then needed the look of a Hubble star, the shape of its point-spread function in each filter of the observation. That shape was computed with Tiny Tim, a modeling program for Hubble optics. After analysis, the team found that roughly 900 template star images were enough to represent all 7,000 stars faithfully.
Depth for the stars came from a statistical model reused from earlier visualizations: bright stars are more likely to be placed near the camera, faint ones farther back. The bright cluster at the heart of NGC 2014 was handled as a group on its own, and extra stars that are not in the Hubble frame were added so that the last shot, looking at NGC 2020 from a new angle, would not open onto an empty sky.
Rendering from home and the final composite
The 3D models were nearly done when the team was told, because of the COVID-19 pandemic, to work from home for the foreseeable future. Large files and, above all, rendering had always been handled on machines in the office, so new ways of moving data and sharing the rendering load had to be worked out. The visualization was finished before the anniversary date.
The parts took about 2,000 CPU hours to render. The 2.5D layers, the volumetric NGC 2020 and the star fields came out of different programs as eight finished layers of frames, which were then composited. In that step the structure of NGC 2014 was tuned and the color of the volumetric gas was adjusted, and the overall color balance was brought back in line with the published image.
The soundtrack was written for the flight: a theme begun on piano and filled out with strings, a delayed, quickly strummed guitar part standing in for the stars, a crescendo as the camera reaches the edge of NGC 2014, and cellos that return as NGC 2020 comes into view.
Questions readers ask
Is the 3D shape of the Cosmic Reef real?
It is an informed interpretation. Hubble records only one viewing direction, so the depth of each feature was chosen after discussion with astronomers who study such nebulae. The first frame matches the real image; the views from other angles are scientifically reasonable models.
What is the difference between 2.5D and 3D here?
NGC 2014 was cut into 29 mostly flat layers placed at different distances, and the camera's parallax gives the impression of depth. NGC 2020 was built as a true volume of simulated gas that can be seen from any direction, starting from a sculpted mesh.
Where did the stars in the fly-through come from?
From the Gaia catalog. About 7,000 stars with three-color brightness data in the image area were extracted, given a Hubble-like appearance computed with the Tiny Tim program, and spread in depth by a statistical model that puts brighter stars closer.
How far away are NGC 2014 and NGC 2020?
Both lie in the Large Magellanic Cloud, about 163,000 light-years from Earth. They look separate in visible light but belong to one large star-forming complex in the constellation Dorado.