Issue link: https://digital.copcomm.com/i/1706
18 n n n n Viewpoint July 2009 where they matter most—near the render camera. Ground dust leading up to the vortex was accomplished using several 2D fluid simulations that were revolved and interpolated across the ground using noise at fluid-like scales to maintain de- tail in the interpolated regions. ese interpolated fluid sims were sampled by the grid simulation during advection of the dust mate- rial, and the resolution was increased to add wavelet turbulence. Ground and vortex simulations were run separately and then tuned for the appropriate look in the shot. Afterward, the grids themselves were composited together before rendering. Monumental Destruction e Great Pyramid of Giza contains nearly three million individual bricks. Devastator only removes the top por- tion of the pyramid, but the amount of bricks required for those shots forced us to re-evaluate how we run rigid simulations. We targeted having 100,000 to 200,000 bricks in our pyramid destruction shots. Rigid simulations work well in the tens of thousands of objects. Particles instanc- ing RIBs in RenderMan have been used to get hundreds of thou- sands, or even millions, of objects, but dynamics and collisions are faked or are inaccurate using this method. We developed a new rigid simulation engine that allowed a larger number of simulation objects by using a GPU for parallel processing. is new simula- tion engine made a whole new scale of rigid simulation shots pos- sible on a production schedule. e GPU rigid simulation engine was implemented using CUDA on an Nvidia Quadro 5800. Using a GPU as the platform for development allowed us to exploit more than 3000 parallel streams of computation. e final simulation of a pyramid destruc- tion shot contained more than 122,000 simulation objects. e pyramid model for these simulations was generated procedurally based on the actual dimensions of the real pyramid. e ge- ometry was then fractured on the fly using Devastator's animation as an input. In the areas where Devastator pulverized the pyra- mid, the speed of the impact determined the amount of fracturing. Fractured geometry was generated using a Voronoi method and Perlin noise to keep the fractured geometry looking organic and interesting. e simu- lation results were saved to disk for use in further simulations and rendering. Additional generation of dust was done using the large-scale rigid simulation as an input. e rigid simulation output files contained useful information about each object, including where it was before it was dislodged from the pyramid, and when Devastator hit it. Technical directors used these values to have simulated bricks from certain areas of the pyramid spawn additional smaller RIB-instanced particle debris and dust. is additional level of detail created trails of debris and dust behind important bricks, adding to the feeling that the bricks were smashed and not just thrown. On a show this complex, it was critical for us to be able to work from broad strokes to fine detail in the destruction simulations. e combination of techniques we employed to accomplish Devastator's destruction worked well together. e approach of having a simulation of a cloth vortex shape driving the more de- tailed fluid and particle simulations allowed us to artistically tune broad features early, before any time was spent on more detailed simulations. Using Devastator's animation to drive dynamic fracturing, as well as using large-scale rigid simulations to drive fluid and particle simulations, saved artist time further down the pipeline. In the end, we were able to create the incredible amount of mayhem that both Devastator and our client demanded, with- out destroying our schedule. n ILM created a new rigid simulation engine that enabled the artists to simulate the excessively large number of bricks (100,000 to 200,000) in the pyramid destruction shots. The method used a GPU for parallel processing. Fracture geometry played a big role in the film when it came to the destruction of the Great Pyramid of Giza. The fractured geometry was done using a Voronoi method and Perlin noise.

