/ClothSimulator

A cloth simulator based on CUDA and ARCSim.

Primary LanguageCuda

Introduction

This is a GPU-based cloth simulator implemented by CUDA. The algorithm is based on ARCSim.

Dependencies

  • OpenGL
  • GLAD (already in lib directory)
  • GLFW
  • jsoncpp
  • Eigen
  • CUDA

Note: If you're using Windows, vspkg is recommended to install dependencies.

Build

Run the following command in this directory:

mkdir build
cd build
cmake ..
make all

Usage

The simulator has 5 different modes. All the command mentioned should be run in this directory. Drop the --gpu parameter if you want CPU simulation.

Simulate

Simulate and display according to a configuration file.

./build/ClothSimulator simulate [config_file] --gpu

For example:

./build/ClothSimulator simulate conf/sphere.json --gpu

Simulate (Offline)

Similar to simulate mode, but will save cloth mesh for every frame to output directory.

./build/ClothSimulator simulate_offline [config_file] [output_dir] --gpu

For example:

./build/ClothSimulator simulate_offline conf/sphere.json output/sphere --gpu

Resume

Resume and display a halted offline simulation.

./build/ClothSimulator resume [output_dir] --gpu

Resume (Offline)

Similar to resume mode, but will save cloth mesh for every frame to output directory.

./build/ClothSimulator resume_offline [output_dir] --gpu

Replay

Replay simulation result according to a output directiry. This mode has no GPU mode.

./build/ClothSimulator replay [output_dir]

Samples

Here are some offline results: