Computer Graphics Laboratory ETH Zurich


Multi-Scale Modeling and Rendering of Granular Materials

J. Meng, M. Papas, R. Habel, C. Dachsbacher, S. Marschner, M. Gross, W. Jarosz

Proceedings of ACM SIGGRAPH (Los Angeles, USA, August 9-13, 2015), ACM Transactions on Graphics, vol. 34, no. 4, pp. 49:1-49:13


We address the problem of modeling and rendering granular materials such as large structures made of sand, snow, or sugar where an aggregate object is composed of many randomly oriented, but discernible grains. These materials pose a particular challenge as the complex scattering properties of individual grains, and their packing arrangement, can have a dramatic effect on the large-scale appearance of the aggregate object. We propose a multi-scale modeling and rendering framework that adapts to the structure of scattered light at different scales. We rely on path tracing the individual grains only at the finest scale, and by decoupling individual grains from their arrangement we develop a modular approach for simulating longer-scale light transport. We model light interactions within and across grains as separate processes and leverage this decomposition to derive parameters for classical radiative transport, including standard volumetric path tracing and a diffusion method that can quickly summarize the large scale transport due to many grain interactions. We require only a one-time precomputation per exemplar grain, which we can then reuse for arbitrary aggregate shapes and a continuum of different packing rates and scales of grains. We demonstrate our method on scenes containing mixtures of tens of millions of individual, complex, specular grains that would be otherwise infeasible to render with standard techniques.


We propose a multi-scale procedural approach for modeling granular materials. The user specifies the bounding shape for the aggregate material (top left), selects a pre-packed tile of grain bounding spheres (top middle), within which we instantiate randomly rotated copies of the selected exemplar grains (bottom left) according to the specified mixing ratios. The SandCastle contains about 2 billion grains, each composed of approximately 200k triangles. We report the high-order / total render times in hours and the variance in parentheses. Our approach (top half) renders the high-order scattering over 12× (50 vs. 628 hrs) faster than explicitly path tracing (EPT) the individual grains (bottom half) while providing visually indistinguishable results. The insets on the right provide equal time and equal variance comparisons.


This paper generates the final images by combining separately rendered R, G, and B images. The timings reported (low-order, high-order, total, and TTUV) are average timings over color channels. For computing timings of the combined RGB images, all reported numbers should be multiplied by a factor of 3. This applies to the renderings made using all methods, so it does not affect any relative timing comparisons.


Download Paper
Download Paper
[PDF suppl.]
Download Video
Download Paper