Real-Time Skirt Simulation with Extended Position Based Dynamics on GPU

A frame from final demo

Overview

This project implements a real-time cloth simulator using Extended Position-Based Dynamics (XPBD) on GPU. The system reads cloth mesh data (e.g., .obj files) and animated character body-proxy data to generate physically simulated cloth in real-time.


Technical Details

The simulator works with arbitrary cloth meshes and animated character body-proxies. However, simulation quality depends heavily on the match between proxies and the actual body model mesh.

Note: In the demo, only the skirt is simulated using the XPBD simulator. The top cloth is simulated using Marvelous Designer for visual consistency.


Implementation Features

Completed Features

  • XPBD cloth simulator with distance constraints
  • Collision detection with character body using proxy geometry (spheres and cylinders)
  • GPU acceleration using NVIDIA Warp
  • Jacobi solver implementation (resolves simultaneous read/write issues in GPU processing)
  • Advanced rendering in Blender with coordinate system alignment

Future Enhancements

  • Collision detection/handling with complex upper body topology
  • Cloth self-collision detection and resolution
  • Advanced constraints for better form preservation (e.g., angle constraints for bending)

Technical Approach

Physics Simulation: Extended Position-Based Dynamics provides stable, real-time simulation with constraint-based solving.

GPU Acceleration: Implemented using NVIDIA Warp for parallel constraint solving. The Jacobi solver ensures thread-safe updates during parallel processing.

Collision Handling: Simple proxy-based collision detection using sphere and cylinder primitives for real-time performance.

Rendering Pipeline: Data exported to Blender with careful coordinate system transformations for high-quality visualization.

Mingrui Wang
Mingrui Wang
CS PhD Student

My research interests include computer graphics, physics-based simulation and deep Learning.

Previous