Fakultät Informatik

Implementing a GPU Cloth Simulation Demo

Autor: Florian Reichl, Mai 2008
Betreuer: Joachim Georgii


Aufgabenstellung:
Das Ziel dieses SEPs war es, eine Kleidungssimulation vollständig auf der GPU zu realisieren. Dabei sollte der Fokus weniger auf physikalische Korrektheit als vielmehr auf die Möglichkeit einer Echtzeitsimulation bei möglichst realistischem Verhalten des Stoffes gelegt werden.

Grundlagen:
Um dies zu erreichen wurde der Ansatz eines Feder-Masse-Systems gewählt.
Hierbei wird der Stoff als ein diskretes Gitter von Massenpunkten, die durch verschiedene Federn miteinander verbunden sind, modelliert. Diese Federn wirken in Abhängigkeit von ihrer aktuellen Dehnung und ihrer Stärke ("Steifheit") eine bestimmte Kraft auf die Massepunkte aus und sorgen so für ein dynamisches System - eine Änderung der Federkraft führt zu einer Positionsänderung der Massenpunkte, was wiederum durch die veränderte Dehnung der Federn zu einer neuen Federkraft führt.

Implementierung:
Die Berechnung der Federkräfte und der Positionen der Massenpunkte findet komplett auf der GPU statt. Hierzu wird die für die Berechnung der Positionen benötigte Differentialgleichung mittels Verlet-Integration unter Voraussetzung eines festen Zeitschrittes angenähert, wobei sämtliche relevanten Daten der GPU in Form von Texturen zur Verfügung gestellt und nach ihrer Berechnung ebenfalls wieder auf diesem Weg ausgegeben werden.

Erweiterungen:
Das Grundsystem wurde um verschiedene Erweiterungen bereichert, um den realistischen Eindruck zu verstärken:

  •  Beleuchtung
  •  Wind
  •  Reißen des Stoffes
  •  Kollisionen mit der Umgebung


Außerdem wurde ein komplett GPU-Basierter Ansatz zur Selbstkollisionserkennung implementiert und getestet.

Downloads:
Ausarbeitung
Vortrag

Screenshots:

Simulation ohne Erweiterungen
Reißen des Stoffes
 

News

Matthias Niessner, our new Professor from Stanford University, offers a number of interesting topics for  master theses.

 

A new PhD/PostDoc position on  Computational Fabrication and 3D Printing is available at the Computer Graphics & Visualization group.

 

A new PhD position is available at the games engineering group.  Check it out here.