Frank Losasso Petterson, Ph.D.


Contact Information:

frank (at) frankpetterson (dot) com

Google Inc.
1600 Amphitheatre Pkwy
Mountain View, CA 94043

Movies encoded with:

About Me:

I am currently a software engineer at Google. I worked for Industrial Light & Magic from 2004 to 2011.

I have a Ph.D. in Computer Science from Stanford University (graduated May 2007). My advisor was Ron Fedkiw.

My Ph.D. thesis research was creating algorithms for efficient simulation (focusing on PDEs for fluids). I have also worked on adaptive data structures, visualization, fracturing of rigid bodies, rendering, implicit representations, GPU computing and contouring. Please see below for a list of my publications.

I have received screen credits on the following films:

  • Rango (2011)
  • The Last Airbender (2010)
  • Avatar (2009)
  • Transformers: Revenge of the Fallen (2009)
  • Star Trek (2009)
  • Harry Potter and the Half-Blood Prince (2009)
  • Indiana Jones and the Kingdom of the Crystal Skull (2008)
  • Pirates of the Caribbean: At World's End (2007)
  • Poseidon (2006)

I was awarded an Academy Award from The Academy of Motion Picture Arts and Sciences and a VES award from the Visual Effects Society. Here is my IMDB page.

My undergraduate degree is a B.S. in Computer Science from Rice University in Houston, TX. My primary undergraduate research advisor was Joe Warren.

I have also interned at nVidia and consulted at Microsoft Research which led to the Geometry Clipmaps method and patent #20050253843.

Two-way Coupled SPH and Particle Level Set Fluid Simulation (PDF)

Losasso, F., Talton, J., Kwatra, N. and Fedkiw, R.
IEEE TVCG 14, No. 4 (2008)

Abstract: Grid-based methods have difficulty resolving features on or below the scale of the underlying grid. Although adaptive methods (e.g. RLE, octrees) can alleviate this to some degree, separate techniques are still required for simulating small-scale phenomena such as spray and foam, especially since these more diffuse materials typically behave quite differently than their denser counterparts. In this paper, we propose a two-way coupled simulation framework that uses the particle level set method to efficiently model dense liquid volumes and a smoothed particle hydrodynamics (SPH) method to simulate diffuse regions such as sprays. Our novel SPH method allows us to simulate both dense and diffuse water volumes, fully incorporates the particles that are automatically generated by the particle level set method in under-resolved regions, and allows for two way mixing between dense SPH volumes and grid-based liquid representations.




Algorithms for Increasing the Efficiency and Fidelity of Fluid Simulations (PDF)

Losasso, F.
Stanford University, Department of Computer Science

Abstract: A dissertation submitted to the Department of Computer Science and the Committee on Graduate Studies of Stanford University in partial fulfillment of the requirements for the degree of Doctor of Philosophy.


Multiple Interacting Liquids (PDF)

Losasso, F., Shinar, T., Selle, A., and Fedkiw, R.

Abstract: The particle level set method has proven successful for the simulation of two separate regions (such as water and air, or fuel and products). In this paper, we propose a novel approach to extend this method to the simulation of as many regions as desired. The various regions can be liquids (or gases) of any type with differing viscosities, densities, viscoelastic properties, etc. We also propose techniques for simulating interactions between materials, whether it be simple surface tension forces or more complex chemical reactions with one material converting to another or two materials combining to form a third. We use a separate particle level set method for each region, and propose a novel projection algorithm that decodes the resulting vector of level set values providing a .dictionary. that translates between them and the standard single-valued level set representation. An additional difficulty occurs since discretization stencils (for interpolation, tracing semi-Lagrangian rays, etc.) cross region boundaries naively combining non-smooth or even discontinuous data. This has recently been addressed via ghost values, e.g. for fire or bubbles. We instead propose a new paradigm that allows one to incorporate physical jump conditions in data "on the fly," which is significantly more efficient for multiple regions especially at triple points or near boundaries with solids.



publications/multiphase/videos/chemical_reaction publications/multiphase/videos/varying_viscosity publications/multiphase/videos/viscoelastic_armadillo publications/multiphase/videos/water_oil publications/multiphase/videos/letters_fire publications/multiphase/videos/rayleigh_taylor

Efficient Simulation of Large Bodies of Water by Coupling Two and Three Dimensional Techniques (PDF)

Irving, G., Guendelman, E., Losasso, F., and Fedkiw, R.

Abstract: We present a new method for the efficient simulation of large bodies of water, especially effective when three-dimensional surface effects are important. Similar to a traditional two-dimensional height field approach, most of the water volume is represented by tall cells which are assumed to have linear pressure profiles. In order to avoid the limitations typically associated with a height field approach, we simulate the entire top surface of the water volume with a state of the art, fully three-dimensional Navier-Stokes free surface solver. Our philosophy is to use the best available method near the interface (in the three-dimensional region) and to coarsen the mesh away from the interface for efficiency. We coarsen with tall, thin cells (as opposed to octrees or AMR), because they maintain good resolution horizontally allowing for accurate representation of bottom topography.



publications/rle/videos/river_far publications/rle/videos/boat_straight publications/rle/videos/splash publications/rle/videos/river_track publications/rle/videos/boat_turning

So Real It'll Make You Wet (PDF)

Geiger W., Leo M., Rasmussen N., Losasso F. and Fedkiw R.
ACM SIGGRAPH 2006 Sketch

Abstract: For "Poseidon", we had to create multiple shots of photorealistic ocean water interacting with computer-generated objects. The challenge was to create water that was seen both on a huge scale and in close-up, and to go beyond any work previously seen. We solved the following novel problems: rendering a smooth high-resolution tesselation of a levelset and particle set with procedural displacement, surface texture and internal volumetrics; simulating and rendering multiple secondary particle sets driven by a physically based fluid simulation. (Image copyright Warner Bros.)


Melting and Burning Solids into Liquids and Gases (PDF)

Losasso, F., Irving, G., Guendelman, E., and Fedkiw, R.
IEEE TVCG 12, 343-352 (2006)

Abstract: We propose a novel technique for melting and burning solid materials including the simulation of the resulting liquid and gas. The solid is simulated with traditional mesh-based techniques (triangles or tetrahedra) which enable robust handling of both deformable and rigid objects, collision and self-collision, rolling, friction, stacking, etc. The subsequently created liquid or gas is simulated with modern grid-based techniques including vorticity confinement and the particle level set method. The main advantage of our method is that state of the art techniques are used for both the solid and the fluid without compromising simulation quality when coupling them together or converting one into the other. For example, we avoid modeling solids as Eulerian grid-based fluids with high viscosity or viscoelasticity, which would preclude the handling of thin shells, self-collision, rolling, etc. Thus, our method allows one to achieve new effects while still using their favorite algorithms (and implementations) for simulating both solids and fluids, whereas other coupling algorithms require major algorithm and implementation overhauls and still fail to produce rich coupling effects (e.g. melting and burning solids).



publications/melting/videos/burning_paper publications/melting/videos/burning_armadillo publications/melting/videos/falling_icecubes publications/melting/videos/burning_tvcg publications/melting/videos/torus_cage publications/melting/videos/floating_icecubes

Coupling Water and Smoke to Thin Deformable and Rigid Shells (PDF)

Guendelman, E., Selle, A., Losasso, F. and Fedkiw, R.
ACM SIGGRAPH 2005, ACM TOG 24, Pages 973-981

Abstract: We present a novel method for solid/fluid coupling that can treat infinitesimally thin solids modeled by a lower dimensional triangulated surface. Since classical solid/fluid coupling algorithms rasterize the solid body onto the fluid grid, an entirely new approach is required to treat thin objects that do not contain an interior region. Robust ray casting is used to augment a number of interpolation, finite difference and rendering techniques so that fluid does not leak through the triangulated surface. Moreover, we propose a technique for properly enforcing incompressibility so that fluid does not incorrectly compress (and appear to lose mass) near the triangulated surface. This allows for the robust interaction of cloth and shells with thin sheets of water. The proposed method works for both rigid body shells and for deformable manifolds such as cloth, and we present a two way coupling technique that allows the fluid's pressure to affect the solid. Examples illustrate that our method performs well, especially in the difficult case of water and cloth where it produces visually rich interactions between the particle level set method for treating the water/air interface and our newly proposed method for treating the solid/fluid interface. We have implemented the method on both uniform and adaptive octree grids.



publications/thin-shells/videos/cup publications/thin-shells/videos/buddha_cup publications/thin-shells/videos/water_curtain_back publications/thin-shells/videos/water_curtain_front publications/thin-shells/videos/boat publications/thin-shells/videos/funnel

Spatially Adaptive Techniques for Level Set Methods and Incompressible Flow (PDF)

Losasso F., Fedkiw R. and Osher S.
Computers and Fluids, Volume 35, Issue 10, December 2006, Pages 995-1010

Abstract: Since the seminal work of [92] on coupling the level set method of [69] to the equations for two-phase incompressible flow, there has been a great deal of interest in this area. That work demonstrated the most powerful aspects of the level set method, i.e. automatic handling of topological changes such as merging and pinching, as well as robust geometric information such as normals and curvature. Interestingly, this work also demonstrated the largest weakness of the level set method, i.e. mass or information loss characteristic of most Eulerian capturing techniques. In fact, [92] introduced a partial differential equation for battling this weakness, without which their work would not have been possible. In this paper, we discuss both historical and most recent works focused on improving the computational accuracy of the level set method focusing in part on applications related to incompressible flow due to both its popularity and stringent accuracy requirements. Thus, we discuss higher order accurate numerical methods such as Hamilton-Jacobi WENO [46], methods for maintaining a signed distance function, hybrid methods such as the particle level set method [27] and the coupled level set volume of fluid method [91], and adaptive gridding techniques such as the octree approach to free surface flows proposed in [56].


Simulating Water and Smoke With an Octree Data Structure (PDF)

Losasso F., Gibou F. and Fedkiw R.
ACM SIGGRAPH 2004, ACM TOG 23, pages 457-462

Abstract: We present a method for simulating water and smoke on an unrestricted octree data structure exploiting mesh refinement techniques to capture the small scale visual detail. We propose a new technique for discretizing the Poisson equation on this octree grid. The resulting linear system is symmetric positive definite enabling the use of fast solution methods such as preconditioned conjugate gradients, whereas the standard approximation to the Poisson equation on an octree grid results in a non-symmetric linear system which is more computationally challenging to invert. The semi-Lagrangian characteristic tracing technique is used to advect the velocity, smoke density, and even the level set making implementation on an octree straightforward. In the case of smoke, we have multiple refinement criteria including object boundaries, optical depth, and vorticity concentration. In the case of water, we refine near the interface as determined by the zero isocontour of the level set function.



publications/octree/videos/ellipse_through_water publications/octree/videos/milk_drop publications/octree/videos/smoke_past_sphere

Geometry clipmaps: Terrain rendering using nested regular grids (PDF)

Losasso F., and Hugues H.
ACM SIGGRAPH 2004, ACM TOG 23, pages 769-776

Abstract: Rendering throughput has reached a level that enables a novel approach to level-of-detail (LOD) control in terrain rendering. We introduce the geometry clipmap, which caches the terrain in a set of nested regular grids centered about the viewer. The grids are stored as vertex buffers in fast video memory, and are incrementally refilled as the viewpoint moves. This simple framework provides visual continuity, uniform frame rate, complexity throttling, and graceful degradation. Moreover it allows two new exciting real-time functionalities: decompression and synthesis. Our main dataset is a 40GB height map of the United States. A compressed image pyramid reduces the size by a remarkable factor of 100, so that it fits entirely in memory. This compressed data also contributes normal maps for shading. As the viewer approaches the surface, we synthesize grid levels finer than the stored terrain using fractal noise displacement. Decompression, synthesis, and normal-map computations are incremental, thereby allowing interactive flight at 60 frames/sec.




A Fast and Accurate Semi-Lagrangian Particle Level Set Method (PDF)

Enright D., Losasso F. and Fedkiw R.
Computers & Structures, Volume 83, Issues 6-7, February 2005, pages 479-490

Abstract: In this paper, we present a fast semi-Lagrangian based particle level set method for the accurate capturing of interfaces. This method retains the robust topological properties of the level set method without the adverse effects of numerical dissipation. Both the level set method and the particle level set method typically use high order accurate numerical discretizations in time and space, e.g. TVD Runge-Kutta and HJ-WENO schemes. We demonstrate that these computationally expensive schemes are not required, rather fast, low order accurate numerical schemes suffice. That is, the addition of particles to the level set method not only removes the difficulties associated with numerical dissipation, but also alleviates the need for computationally expensive high order accurate schemes. We use a fast, first order accurate semi-Lagrangian advection scheme coupled with a first order accurate fast marching method to evolve the level set function. To accurately track the underlying flow characteristics, the particles are evolved with a second order accurate method. Since we avoid complex high order accurate numerical methods, extending the algorthim to arbitrary data strutures becomes more feasible, and we show preliminary results obtained with an octree-based adaptive mesh that captures the small scale features of the interface.




Smooth Geometry Images (PDF)

Losasso F., Hoppe H., Schaefer S. and Warren J.
Eurographics Symposium on Geometry Processing 2003, pages 138-145

Abstract: Previous parametric representations of smooth genus-zero surfaces require a collection of abutting patches (e.g. splines, NURBS, recursively subdivided polygons). We introduce a simple construction for these surfaces using a single uniform bi-cubic B-spline. Due to its tensor-product structure, the spline control points are conveniently stored as a geometry image with simple boundary symmetries. The bicubic surface is evaluated using subdivision, and the regular structure of the geometry image makes this computation ideally suited for graphics hardware. Specifically, we let the fragment shader pipeline perform subdivision by applying a sequence of masks (splitting, averaging, limit, and tangent) uniformly to the geometry image. We then extend this scheme to provide smooth level-of-detail transitions from a subsampled base octahedron all the way to a finely subdivided, smooth model. Finally, we show how the framework easily supports scalar displacement mapping.


Conveying Shape and Features with Image-Based Relighting (PDF)

Akers D., Losasso F., Klingner J., Agrawala M., Rick J. and Hanrahan P.
IEEE Visualization 2003

Abstract: Hand-crafted illustrations are often more effective than photographs for conveying the shape and important features of an object, but they require expertise and time to produce. We describe an image compositing system and user interface that allow an artist to quickly and easily create technical illustrations from a set of photographs of an object taken from the same point of view under variable lighting conditions. Our system uses a novel compositing process in which images are combined using spatially-varying light mattes, enabling the final lighting in each area of the composite to be manipulated independently. We describe an interface that provides for the painting of local lighting effects (e.g. shadows, highlights, and tangential lighting to reveal texture) directly onto the composite. We survey some of the techniques used in illustration and lighting design to convey the shape and features of objects and describe how our system can be used to apply these techniques.


Dual Contouring of Hermite Data (PDF)

Ju T., Losasso F., Schaefer S. and Warren J.
ACM SIGGRAPH 2002, ACM TOG 21, pages 339-346

Abstract: This paper describes a new method for contouring a signed grid whose edges are tagged by Hermite data (i.e; exact intersection points and normals). This method avoids the need to explicitly identify and process "features" as required in previous Hermite contouring methods. We extend this contouring method to the case of multi-signed functions and demonstrate how to model textured contours using multi-signed functions. Using a new, numerically stable representation for quadratic error functions, we develop an octree-based method for simplifying these contours and their textured regions. We next extend our contouring method to these simplified octrees. This new method imposes no constraints on the octree (such as being a restricted octree) and requires no "crack patching". We conclude with a simple test for preserving the topology of both the contour and its textured regions during simplification.