Conference and Journal papers

Controlling Deformable Material with Dynamic Morph Targets
Nico Galoppo, Miguel A. Otaduy, William Moss, Jason Sewall, Sean Curtis, Ming C. Lin
We present a method to control the behavior of elastic, deformable material in a dynamic simulation. We introduce dynamic morph targets, the equivalent in dynamic simulation to the geometric morph targets in (quasi-static) modeling. Dynamic morph targets define the pose-dependent physical state of soft objects, including surface deformation and elastic and inertial properties. Given these morph targets, our algorithm then derives a dynamic model that can be simulated in time-pose-space, interpolating the dynamic morph targets at the input poses. Our method easily integrates with current modeling and animation pipelines: at different poses, an artist simply provides a set of dynamic morph targets. Whether these input states are physically plausible is completely up to the artist. The resulting deformable models expose fully dynamic, pose-dependent behavior, driven by the artist-provided morph targets, complete with inertial effects. Our deformable models are computationally efficient at runtime through modal reduction and pose-space polynomial interpolation. These models can therefore be plugged into existing dynamic simulation engines, either forming interactive, deformable content in real-time games or providing secondary dynamic effects for kinematically-driven characters in feature animation films. Finally, our method also facilitates certain time-consuming rigging procedures, by providing a physically based approach to resolve co-articulation deficiencies in traditional skinning methods, such as in shoulder regions, fully automatically.
ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games || paper (pdf)
Visual Simulation of Shockwaves
Jason Sewall, Nico Galoppo, Georgi Tsankov, Ming C. Lin
We present an efficient method for visual simulations of shock phenomena in compressible, inviscid fluids. Our algorithm is derived from one class of the finite volume method especially designed for capturing shock propagation, but offers improved efficiency through physically-based simplification and adaptation for graphical rendering. Our technique is well suited for parallel implementation on multicore architectures and is also capable of handling complex, bidirectional object-shock interactions stably and robustly. We describe its applications to various visual effects, including explosion, sonic booms and turbulent flows.
ACM SIGGRAPH/Eurographics Symp. on Computer Animation, Dublin, 2008 || website
Accelerated wave-based acoustics simulation
Nikunj Raghuvanshi, Nico Galoppo, Ming C. Lin
We present an efficient technique to model sound propagation accurately in an arbitrary 3D scene by numerically integrating the wave equation. We show that we can simulate sound propagation accurately using a coarse mesh to enable highly accelerated computation and to reduce the memory requirements as well. We present a domain decomposition approach to drastically shorten the pre-processing time, while minimizing the resulting performance degradation at runtime. We introduce a simple, efficient and stable technique for handling the communication between the domain partitions. We validate the accuracy of our approach against cases with known analytical solutions. With our approach, we have observed upto two orders of magnitude speedup compared to a naive implementation.
ACM Symposium on Solid and Physical Modeling 2008 || website
Soft Articulated Characters with Fast Contact Handling
Nico Galoppo, Miguel A. Otaduy, Serhat Tekin, Markus Gross, Ming C. Lin
Fast contact handling of soft articulated characters is a computationally challenging problem, in part due to complex interplay between skeletal and surface deformation. We present a fast, novel algorithm based on a layered representation for articulated bodies that enables physically-plausible simulation of animated characters with a high-resolution deformable skin in real time.
Our algorithm gracefully captures the dynamic skeleton-skin interplay through a novel formulation of elastic deformation in the pose space of the skinned surface. The algorithm also overcomes the computational challenges by robustly decoupling skeleton and skin computations using careful approximations of Schur complements, and efficiently performing collision queries by exploiting the layered representation. With this approach, we can simultaneously handle large contact areas, produce rich surface deformations, and capture the collision response of a character's skeleton.
Computer Graphics Forum Vol.26(3) (Proc. of Eurographics 2007) || website
Fast Simulation of Deformable Models in Contact Using Dynamic Deformation Textures
Nico Galoppo, Miguel A. Otaduy, Paul Mecklenburg, Markus Gross, Ming C. Lin
We present an efficient algorithm for simulating contacts between deformable bodies with high-resolution surface geometry using dynamic deformation textures, which reformulate the 3D elastoplastic deformation and collision handling on a 2D parametric atlas to reduce the extremely high number of degrees of freedom arising from large contact regions and high-resolution geometry. Such computationally challenging dynamic contact scenarios arise when objects with rich surface geometry are rubbed against each other while they bounce, roll or slide through the scene. We simulate real-world deformable solids that can be modeled as a rigid core covered by a layer of deformable material, assuming that the deformation field of the surface can be expressed as a function in the parametric domain of the rigid core. Examples include animated characters, furniture, toys, tires, etc. We have developed novel and efficient solutions for physically-based simulation of dynamic deformations, as well as for collision detection and robust contact response, by exploiting the layered representation of the models and decoupling the degrees of freedom between the core and the deformation layers.
ACM SIGGRAPH/Eurographics Symp. on Computer Animation, Vienna, Sept 2006 || website
A Simulation-based VR System for Interactive Hairstyling
Kelly Ward, Nico Galoppo, Ming C. Lin
User interaction with animated hair is desirable for various applications but difficult because it requires real-time animation and rendering of hair. Hair modeling, including styling, simulation, and rendering, is computationally challenging due to the enormous number of deformable hair strands on a human head, elevating the computational complexity of many essential steps, such as collision detection and self-shadowing for hair. Using multi-resolution simulation techniques and graphics hardware rendering acceleration, we have developed a physically-based virtual hair salon system that simulates and renders hair at accelerated rates, enabling users to interactively style virtual hair. With a 3D haptic interface, users can directly manipulate and position hair strands, as well as employ real-world styling applications (cutting, blow-drying, etc.) to create hairstyles more intuitively than previous techniques.
Proc. of IEEE VR 2006, Applications and Research Sketches || website
LU-GPU: Algorithms for Dense Linear Systems on Graphics Hardware
Nico Galoppo, Naga Govindaraju, Michael Henson, Dinesh Manocha
We present a novel algorithm to solve dense linear systems using graphics processors (GPUs). We reduce matrix decomposition and row operations to a series of rasterization problems on the GPU architecure. These include new techniques for streaming index pairs, swapping rows and columns and parallelizing the computation to utilize multiple vertex and fragment processors. We also choose appropriate data representations to match the rasterization order and cache technology of graphics hardware. The performance of our algorithm is on par with the fastest CPU-based algorithms and implementations. Moreover, our results show that our algorithm is cache and bandwidth efficient and scales well with the number of fragment processors and the core GPU clock rate. We use our algorithm for fluid flow simulation and demonstrate that the commodity GPU is a useful co-processor for many scientific applications.
Proc. of ACM SuperComputing 2005, Seattle, WA || website
Adaptive Dynamics of Articulated Bodies
Stephane Redon, Nico Galoppo, Minc C. Lin
This paper introduces an algorithm for automatic simplification of articulated body dynamics: an animator specifies the number of joints that should be simulated in the articulated body, and the algorithm automatically determines which joints should be simulated in order to best approximate the articulated body motion. The other joints are rigidified.
Depending on the amount of simplification specified by the animator, this algorithm potentially allows for a significant speed-up compared to traditional linear time forward dynamics algorithms.
In ACM Transactions on Graphics, 24(3).
Proc. of ACM SIGGRAPH 2005, Los Angeles, CA || website
Modeling Hair Influenced by Water and Styling Products
Kelly Ward, Nico Galoppo, Ming C. Lin
In the natural world, the physical behavior and appearance of hair is largely influenced by the external substances present on it, such as water or cosmetic styling products (e.g. hairspray). Yet, the influences of these substances are ignored in existing graphical hair modeling systems. We present novel methods for capturing the key characteristics of hair influenced by water and styling products. Our method includes a dynamics system that adaptively accounts for changing stiffness and weight of hair, a geometric representation that can alter the physical depiction of hair based on the substance(s) present on it, and a rendering approach to account for the varying appearance of hair. Additionally, our system captures the complex interactions between hairs in the presence of the external substances. Strands of hair can dynamically bond together due to the introduction of water or styling products. All of these properties can vary on the fly as water or styling products are applied to the hair.
Proc. of Computer Animation and Social Agents 2004 (CASA), Geneva, Switzerland || website

Technical reports and Projects

Pulsk: Impulse based Stacking for Rigid Bodies
The purpose of this project is to investigate novel methods for simulation of rigid bodies that integrate well with stacking situations. This work focuses on impulse-based simulation techniques with physical interactions such as collision, contact and friction in relatively complex scenes: large number of stacked objects, sliding objects, highly dynamical scenes with non-convex bodies. We want the work to be applicable to real-time applications such as games, therefore we allow some small approximations in the algorithm. Nevertheless, this report will show that we have succeeded in keeping the algorithm as physically correct as possible.
COMP259 Physically Based Modeling (Ming C. Lin) final project || pulsk project website
View-dependent Texture Mapping
Implementation of "View-dependent displacement mapping" (VDM), presented at SIGGRAPH’03 by Wang et al.
COMP236 Computer Graphics (Leonard McMillan) final project || vdm project website