Das Programmieren von Graphics Processing Unit (GPU) wird immer populärer und gehört zu den neusten Entwicklungen der Computer Grafik. Um Programme auf der GPU laufen zu lassen, braucht es die Shader.
Die Herausforderung der vorliegenden Arbeit besteht darin ein Partikel System zu erstellen, das mit möglichst viel Unterstützung der GPU läuft. Auf diese Weise können Ressourcen gespart und ein Performance-Gewinn erzielt werden.
Die Diplomarbeit, GPU-Based Particle Engine, wurde von Wolfgang Engel, Special Effects Programmer bei Wings Simulation GmbH und Autor von mehreren Büchern über Shader Programming, initiiert. Marcus Hudritsch, Dozent an der Fachhochschule beider Basel, der uns bereits im letzten Studienjahr bei der Projektarbeit (GPU-Programmierung) zur Seite stand, betreute diese Diplomarbeit.
Als Grundlage diente die Publikation Building a Million Particle System von Lutz Latta, welche in der ersten Phase intensiv studiert wurde.
Gleichzeitig musste ein Framework erstellt werden, das auf dem DirectX 9.0 SDK basierte.
Die Umsetzung der Diplomarbeit umfasst zwei wichtige Etappen: das Programmieren eines Daten Streams, der mittels Vertex-Texturen realisiert wurde und das Entwickeln der Physikberechnungen, die auf die Partikel wirken.
Bei der fertig erstellten Demo konnten mehrere Effekte erzielt werden. Zudem lässt sich das Verhalten der Partikel in Echtzeit manipulieren. Weiter konnte durch einen Benchmark-Test der Performance-Gewinn aufgezeigt werden.
Im Rahmen einer Weiterführung dieser Diplomarbeit könnte die Umsetzung der Partikel Engine in der digitalen Industrie vom grossen Nutzen sein. Dies aus dem Grund, weil man einerseits die gewonnenen Ressourcen anderweitig verwenden kann und anderseits eine bessere Visualisierung von Grafikeffekten erzielt werden kann.