clock menu more-arrow no yes mobile

Filed under:

Rendering an open world with Destiny, Umbra and the occlusion rule

Picture a split screen video.

On the left, a camera swoops down slowly through the 3D landscape of buildings the length of a few city blocks. As the camera gets closer to street level, the buildings in front obscure those behind it. As it flies up vertically, they come back into view.

A second camera on the right side of the split screen never moves. Perched high above the landscape, it shows an overhead view of the city blocks that the left camera winds through. As objects disappear from the point of view of the left side camera — as they become occluded, in technical terms — they turn red.

Identifying those red spots is what Umbra does.

At a GDC panel today, Otso Makinen, chief technical officer at Umbra, and Hao Chen, senior graphics architect at Bungie, discussed how using the Umbra's software allows Bungie to create a more efficient Destiny.

"What we wanted to do is fundamentally change the world of Destiny."

Umbra the company, which is based in Helsinki, Finland, was founded in 2007. The software it develops has been used in games like Mass Effect 2 and Mass Effect 3.

Chen, who began working on Destiny about four years ago, began the talk that focused on one specific technical issue that Bungie needed to solve: visibility.

In general, the collaboration exists to help Bungie's new game engine render Destiny's vast expanses as quickly and efficiently as possible. Previous technology employed techniques like pre-rendered objects and manually placing portals that limit the player's view, which Chen Bungie used on Halo over the last decade. Another technique uses fixed "occluders" that are placed in a scene to prevent the camera from seeing beyond them, thus limiting what the player can see and what needs to be rendered on screen. None were a good fit for Destiny's large outdoor areas, Chen said.

"What we wanted to do is fundamentally change the world of Destiny," Chen said. "The one [phrase] that we use quite often is 'polygon soup.' Essentially, we want people to construct worlds just by taking taking pieces and jamming them together. There's no water tightness. You don't need to place any manual portals. It's compositional meaning they can take all these reusable pieces and then just jam them in any way they want."

Bungie went to Umbra with a list of requirements dealing with memory usage and minimum visibility areas after the developer failed to construct a solution internally.

Makinen explained that Umbra allows Bungie to conserve visibility and create the best results possible within these technical limitations.

"The one [phrase] that we use quite often is 'polygon soup.'"

Umbra software does this by "voxelizing" polygons, creating "cells" from the voxel presentation and stitching them into a "tome" of visibility. That process determines a list of visible objects from the data. In the video described above, these are the objects shaded red.

To render from the player's point of view, the software determines what "cell" the player is inhabiting. Then it determines the visibility based on the viewer's position in that "cell." In other words, it performs background calculations that allows Destiny's engine to keep from rendering objects that are currently invisible to the player. It's a software solution to economize rendering.

Chen said that Bungie and Umbra developed much of the technology on display — including Bungie's new game engine — in tandem.

Throughout Destiny's development, Umbra helped Bungie with prototyping by offering designers near instant results as they changed the game's geometry. When players get their hands on Destiny, Umbra will allow the engine to run more efficiently by hiding occluded objects on the fly, based on the player's viewpoint.