CG-Demo

 Posted by on 2009/07/30 at 19:46
 

Die CG-Demo-Engine wurde ursprünglich für die Anfang 2009 vom Lehrstuhl Informatik 8 der RWTH Aachen veranstaltete Demo-Competition entwickelt. Entwickelt wurde ein GPU-Partikelsystem welches anstatt des traditionellen Fragmentshader/FBO-Ansatzes den Geometryshader und Transform-Feedback einsetzt. Dies erlaubt ein sehr effizientes emittieren und löschen von Partikeln. Zudem wurde ein speichereffizientes Terrain implementiert. Für das Terrain werden nur Höheninformationen in Form einer 16bit Graustufen-Textur benötigt. Alle anderen benötigen Daten wie Vertexkoordinaten, Normale und Texturkoordinaten werden on-the-fly im Vertexshader berechnet. Leider wurde die Competition recht frühzeitig auf Grund von zu wenigen Teilnehmern abgesagt. Für die Physik des Hovercrafts wurde Newton Game Dynamics (NGD) eingesetzt.

Im Hauptpraktikum im SS 2009 konnte die Engine dann dennoch eingesetzt werden. Es sollte eine Rigid Body Physik mit Joints implementiert werden. Insbesondere sollten auch nicht-konvexe Objekte möglich sein. Es wird eine Point-Sampling-Technik in Kombination mit einer Signed-Distance-Function (Octtree) verwendet. Natürlich wurden alle Abhängigkeiten zu NGD entfernt, schließlich sollte die Physik selbst implementiert werden.

Eckdaten:

  • Umfang: 9800 Zeilen
  • Platform: C++ / OpenGL / Linux (theoretisch Platformunabhängig durch Qt)
  • Projekt-Thread bei DelphiGL
  • Status: Projekt abgeschlossen im Juli 2009

Videos:

Screenshots: