Every grain of sand: Method efficiently renders massive assemblies of granular materials
Be it sand, snow or a bowl of spices, rendering massive aggregations of granular materials is a challenge for animators. A new method developed by researchers from Disney Research, ETH Zurich and Dartmouth College, however, makes it possible to simulate the appearance of a variety of grains or their mixtures, and to do so with unprecedented computational efficiency.
The technique makes it possible to show fine detail - the varying shapes and colors of grains and glints of light - as well as the smoother appearance that characterizes granular materials when seen at a greater distance.
"The visual complexity associated with granular media makes rendering massive amounts a fundamentally difficult problem," said Markus Gross, vice president at Disney Research. "Our method continues Disney's rich legacy of innovation and significantly expands the number of grain types that can be rendered together and to do so when the grains are mixing or at varying scales."
The researchers will present their method at the ACM SIGGRAPH Conference on Computer Graphics and Interactive Techniques in Asia, taking place in Macao Dec. 5-8.
"Collections of discrete grains are frequently found in natural scenes, including wet and dry sand, snow, bubbles and foams in liquids, and layers of soils, so finding a way to render them efficiently is an important challenge for animators of films and video games," said Jan Novák, research scientist at Disney Research. The interplay of light in these materials can be extremely complex, particularly with varying grain concentrations, pack rates and sizes.
With fine detail - such as grain shapes, colors and glints - there are only a few interactions of light with the material. In large assemblies of grains that readily scatter light, such as snow or sugar, light can scatter hundreds or even thousands of times within the material before exiting, leading to the characteristic smooth large-scale appearance of these types of materials.
"This combination of fine-scale detail and smooth large-scale appearance make these materials visually interesting, but can require exhaustive amounts of computation unless animators employ a few shortcuts," said Wojciech Jarosz, assistant professor of computer science at Dartmouth College and a collaborator on the project.
To account for both of these effects, the researchers took a multi-scale approach to creating their rendering technique.
"Calculating the possible paths that light could take as it scatters between grains - called explicit path tracing - can require intensive computation and so we reserve it only for close-ups, to preserve fine-scale structure and glints," Jarosz said.
When close-ups are not needed, however, their proposed approach switches to a technique they call proxy path tracing. This provides an approximation of how light scatters, sacrificing accuracy for computational speed, but retaining important grain-level structure.
At even larger scales, where light scattering tends to produce a smoother appearance, the approach no longer considers individual grains, but treats the entire assembly like a volumetric material akin to clouds or smoke, using an advanced technique called volumetric path tracing. The researchers additionally incorporate so-called "shell tracing" at this scale to summarize large amounts of light-scattering interactions in single steps, significantly reducing computing time.
For dynamic simulations, such as showing spices being mixed together in a bowl, the new approach is several times faster than explicit path tracing. In rendering massive static scenes, including sand dunes, a snowman and two piles of salt grains, the new method produces images up to 5699 times faster than explicit path tracing and 37.5 times faster than the previous state-of-the-art method.