Havok FX – GPU berechnet physikalische Effekte

Parwez Farsan
68 Kommentare

Die durch das gleichnamige SDK für Spielphysik bekannt gewordene Firma Havok wird zusammen mit nVidia auf der diesjährigen Game Developers Conference (21. bis 24. März in San Jose, Kalifornien) eine „Havok FX“ genannte Lösung zur Berechnung von physikalischen Effekten mit einer oder mehreren Grafikkarten vorstellen.

Damit tritt Havok in direkte Konkurrenz zu Ageia, deren NovodeX SDK jedoch nicht für die Berechnung durch die GPU ausgelegt ist. Statt dessen setzt Ageia in Form von Erweiterungskarten mit dem hauseigenen PhysX-Chip auf eine externe – und nicht gerade günstige – Lösung für die hardwarebeschleunigte Berechnung der Physik.

Zu den von Havok FX unterstützen Effekten zählen unter anderem Trümmer, Rauch, Nebel und Flüssigkeiten. Da Simulation, Kollisionsabfrage und das Rendern allesamt von der GPU übernommen werden und die Havok-FX-Effekte auf Grund ihrer nicht für das Gameplay entscheidenden Natur weniger Interaktion mit der KI sowie der allgemeinen Spielphysik – die aufgrund ihrer Verflechtung beide weiterhin von der CPU berechnet werden – benötigen, entfällt der Flaschenhals zwischen GPU und CPU, so dass sich tausende Kollisionen in Echtzeit berechnen lassen.

Eine nVidia-Karte braucht man trotz der Entwicklungspartnerschaft nicht unbedingt, um in den Genuss der „Havok FX“-Effekte zu kommen. Voraussetzung ist lediglich die Unterstützung für das Shader-Model 3.0 durch die Grafikkarte, was seit dem R520 auch bei ATis Karten der Fall ist. Allerdings rät Havok zu einem rechenstarken Modell, da schwächere Karten in der Regel bereits genug mit den herkömmlichen Grafikberechnungen zu tun haben.

Möglich wird die GPU basierte Berechnung der Physikeffekte durch ein „Debris Primitive“ genanntes, neues Starrkörperelement, dass mittels SM 3.0 effizient verarbeitet werden kann. Dabei handelt es sich um eine kompakte Version eines dreidimensionalen Objekts mit Kollisionsabfrage, dass sowohl unter Microsofts DirectX als auch unter OpenGL genutzt werden kann. Debris Primitives können entweder vormodellierte Teile des statischen Spielinhalts sein (z.B. ein texturierter Felsbrocken), oder abhängig von der einwirkenden Kraft in Echtzeit von der CPU generiert werden, wenn beispielsweise eine Ziegelmauer in die Luft gesprengt wird. Anschließend übernimmt die GPU die finalen Grafik- und Physik-Berechnungen. Durch den unidirektionalen Transfer wichtiger Informationen zur GPU können Debris Primitives bei Bedarf aber auch auf für das Gameplay wichtige Objekten und großflächige Landschaften reagieren.

Die fertigen Havok-FX-SDKs sollen noch im zweiten Quartal dieses Jahres ausgeliefert werden, so dass mit etwas Glück noch dieses Jahr erste Spiele im Laden stehen könnten.