Vectorization and parallelization of irregular problems via graph coloring
ICS '91 Proceedings of the 5th international conference on Supercomputing
Coping with friction for non-penetrating rigid body simulation
Proceedings of the 18th annual conference on Computer graphics and interactive techniques
Robust treatment of collisions, contact and friction for cloth animation
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
Nonconvex rigid bodies with stacking
ACM SIGGRAPH 2003 Papers
Computational Optimization and Applications
Fast frictional dynamics for rigid bodies
ACM SIGGRAPH 2005 Papers
Staggered projections for frictional contact in multibody systems
ACM SIGGRAPH Asia 2008 papers
An algorithm for the fast solution of symmetric linear complementarity problems
Numerische Mathematik
Real-time deformation and fracture in a game environment
Proceedings of the 2009 ACM SIGGRAPH/Eurographics Symposium on Computer Animation
PARA'06 Proceedings of the 8th international conference on Applied parallel computing: state of the art in scientific computing
A nonsmooth nonlinear conjugate gradient method for interactive contact force problems
The Visual Computer: International Journal of Computer Graphics
ACM SIGGRAPH Asia 2010 papers
Solid simulation with oriented particles
ACM SIGGRAPH 2011 papers
A hybrid iterative solver for robustly capturing coulomb friction in hair dynamics
Proceedings of the 2011 SIGGRAPH Asia Conference
A parallel constraint solver for a rigid body simulation
SIGGRAPH Asia 2011 Sketches
Real time dynamic fracture with volumetric approximate convex decompositions
ACM Transactions on Graphics (TOG) - SIGGRAPH 2013 Conference Proceedings
Numerical methods for linear complementarity problems in physics-based animation
ACM SIGGRAPH 2013 Courses
Hi-index | 0.00 |
We present a parallel iterative rigid body solver that avoids common artifacts at low iteration counts. In large or real-time simulations, iteration is often terminated before convergence to maximize scene size. If the distribution of the resulting residual energy varies too much from frame to frame, then bodies close to rest can visibly jitter. Projected Gauss-Seidel (PGS) distributes the residual according to the order in which contacts are processed, and preserving the order in parallel implementations is very challenging. In contrast, Jacobi-based methods provide order independence, but have slower convergence. We accelerate projected Jacobi by dividing each body mass term in the effective mass by the number of contacts acting on the body, but use the full mass to apply impulses. We further accelerate the method by solving contacts in blocks, providing wallclock performance competitive with PGS while avoiding visible artifacts. We prove convergence to the solution of the underlying linear complementarity problem and present results for our GPU implementation, which can simulate a pile of 5000 objects with no visible jittering at over 60 FPS.