Raytracing in Spielen II: Das Reich der Strahlen macht Fortschritte

Daniel Pohl
117 Kommentare
Raytracing in Spielen II: Das Reich der Strahlen macht Fortschritte

Prolog

Dieser Artikel ist die Fortsetzung des Artikels „Raytracing in Spielen“, welcher etwa vor einem Jahr auf ComputerBase veröffentlicht wurde. Seitdem gab es viele Fortschritte, durch die Echtzeit-Raytracing für Desktop-Maschinen immer näher rückt.

Leser, die mit den Details von Raytracing bisher noch nicht so vertraut sind, finden hier eine detaillierte Erklärung des Verfahrens.

Fortschritt

Nachdem mein letzter Artikel über Raytracing in Spielen unter anderem auf ComputerBase veröffentlicht worden war, habe ich mich intensiver mit dem Skalierungsverhalten von Raytracing mit steigender Zahl an CPU-Cores beschäftigt. Um eine 16-Core-Maschine zu simulieren, habe ich vier Quad-Core-PCs über Gigabit-Ethernet zusammengeschaltet und deren Rechenleistung vereinigt. Da mein Projekt zu dieser Zeit die Raytracing Library OpenRT der Universität des Saarlandes benutzte, die Support für verteiltes Rendern bietet, war dies einfach zu bewerkstelligen.

OpenRT ist eine Raytracing-Bibliothek (C/C++), die vom Computergrafik-Lehrstuhl der Universität des Saarlandes entwickelt wurde. Die Syntax ist nahezu identisch zu der von OpenGL. Für Programmierer gibt es eine kostenlose Linux-Version, die für nichtkommerzielle Zwecke benutzt werden darf.

Skalierung von Raytracing mit verschiedener Anzahl an CPU-Cores
Skalierung von Raytracing mit verschiedener Anzahl an CPU-Cores

Die Ergebnisse waren verblüffend: Wenn man eine 16-Core-Maschine anstatt einer Single-Core-Maschine benutzt, dann steigt die Framerate um einen Faktor von 15,2!

Nach all der Aufmerksamkeit, die der vorhergehende Artikel über Raytracing in Spielen rund um den Globus erhalten hatte, wurde ich von verschiedenen Firmen mit Interesse an dieser Technologie angeschrieben. Eine davon war Intel. Bei Intel erzählte man mir, dass man über einen Echtzeit-Raytracer verfüge, der etwa zehn Mal schneller sei als alles andere, was bisher in diesem Bereich veröffentlicht wurde. Diese Zahlen konnte man bereits in einem wissenschaftlichen Artikel nachlesen, aber ich traute ihnen dennoch nicht, ohne es mit eigenen Augen gesehen zu haben. Also flog ich nach Santa Clara, „Silicon Valley“, in Kalifornien, um eine Live-Demonstration zu erhalten.

Mittlerweile bin ich bei Intel fest angestellter Wissenschaftler und arbeite weiter an Raytracing. Wie sich herausgestellt hat, ist das Interesse von Intel an Raytracing unter anderem deswegen so groß, da die Technik so gut geeignet ist für CPUs. Der Forschungsbereich ist Teil eines großen Programms (genannt „Tera-Scale Computing“) mit dem Ziel der Verbesserung der Skalierung von Software von einigen auf viele Kerne (mit vielen sind hier mehrere Hunderte gemeint).

Die Anstellung bei Intel ermöglichte es mir, Quake 4: Raytraced mit dem neuen Intel-Raytracer auf verschiedenen Veranstaltungen, wie der Games Convention 2007 in Leipzig und dem Intel Developer Forum im Herbst 2007 in San Francisco, zu zeigen. Auf letztgenanntem Event wurde es sogar in der Keynote von Justin Rattner (Intel CTO) über virtuelle Welten demonstriert.

In HD-Auflösung konnten wir eine Framerate von etwa 90 Bildern pro Sekunde auf einer Dual-X5365-Maschine zeigen, wobei alle 8 Cores des Systems zum Rendern vollständig ausgenutzt wurden.

Forschritte IDF Herbst 2007
Forschritte IDF Herbst 2007