Tutorial 12 – Geometry Instancing, thread-basierte Kollisionsberechnungen, physikalische Stoßprozesse im 3D-Raum

In Tutorial 11 lag der Schwerpunkt auf der grafischen Darstellung einer großen Anzahl von 3D-Objekten mittels Geometry Instancing. In Tutorial 12 gehen wir einen Schritt weiter; die Objekte (Asteroiden) können sich frei im Raum bewegen und miteinander kollidieren. Die dabei auftretenden Geschwindigkeitsänderungen werden physikalisch korrekt berechnet (unter der Annahme, die Asteroiden seien einfache Massenpunkte) und die Kollisionsberechnungen werden asynchron in einem separaten Thread durchgeführt.


Literatur:









Hinweise zum Erstellen eines neuen Projekts:

  • Kopieren Sie den Ordner GraphicsAndPhysicsFrameworkImports ins Projektverzeichnis
  • Kopieren sie alle dll-Dateien sowie die Konfigurationsdatei ResolutionAndRendering.txt aus besagtem Ordner ins gleiche Verzeichnis, in dem sich auch die exe-Datei befindet (in unseren Programmbeispielen ist dies das Bin-Verzeichnis)
  • Binden Sie die folgenden Dateien in Ihr Projekt ein: GraphicsAndPhysics_Framework_Imports.h, GraphicsAndPhysics_Framework_Imports.lib, glew32.lib, glew32s.lib, glut32.lib. Die Glew- und Glut-Bibliotheken ermöglichen die Nutzung der aktuellen OpenGL-Spezifikationen unabhängig vom Framework.