Menü
Gamescom

Raytracing in Spielen? Das dauert noch

Der finnische Entwickler Remedy möchte Spiele mit Raytracing aufhübschen. Auf der Devcom zeigen die Finnen den Stand der Entwicklung an ihrer Northlight Engine.

Von
vorlesen Drucken Kommentare lesen 93 Beiträge
Raytracing in Computerspielen? Das dauert noch.

Nachdem Microsoft im März eine neue Schnittstelle namens DirectX Raytracing (DXR) angekündigt hatte, strickt das finnische Studio Remedy an einem durch Raytracing unterstützten DXR-Renderer für seine Northlight Engine. Im Vorfeld der Gamescom zeigt Lead Graphics Programmer Tatu Aalto auf der Entwicklerkonferenz Devcom in Köln den aktuellen Stand.

Raytracing soll für realistischere Schattenverläufe und Spiegelungen sorgen. Während bei aktuellen Computerspielen ein Großteil der Lichtberechnungen bereits vorab in den 3D-Szenen vorgerendert und als Shadowmaps und Lightmaps abgespeichert werden, berechnet Raytracing sämtliche Verläufe der Lichtstrahlen zur Laufzeit, inklusive Spiegelungen und Schatten. Das dauert zuweilen sehr lang. Um die Berechnungen so zu beschleunigen, dass sie in Echtzeit ablaufen, müssen sich die Programmierer zahlreicher Tricks bedienen.

30 FPS

Remedy zeigt in Köln eine Demo, bei der eine Kamera durch einen möblierten Kuppelsaal fliegt, vorbei an glänzenden Tischoberflächen und Lampenschirmen sowie Wasserlachen auf dem Boden, in denen sich die Umgebung spiegelte. Die Szene laufe bereits mit 30 Frames pro Sekunde, erklärte Alto – für Spiele würde das durchaus genügen.

Allerdings gibt es noch einige Haken: Man braucht dazu die derzeit schnellste Grafikkarte von Nvidia: Eine Titan V, die aktuell 3200 Euro kostet. Zudem bewegt sich in der Demo außer der Kamera nichts, wodurch keine dynamischen Lichteffekte berechnet werden müssen. Und derzeit erreicht man das Tempo nur bei einer Auflösung von 1080p. Wenn pro Pixel lediglich ein Lichtstrahl für den Schattenwurf und einer für Reflexionen berechnet wird, braucht man für das Raytracing allein 8 bis 14 Millisekunden – wohlgemerkt auf einer 3200-Euro-Grafikkarte.

Diese Sequenz von Remedy soll auf einer Titan V mit 30 fps bei einer 1080p-Auflösung gerendert worden sein. (Quelle: Remedy Entertainment Oyj)

Licht und Schatten

Doch wenn man lediglich einen Lichtstrahl pro Pixel berechnet, sieht das Ergebnis stark verrauscht aus. Zwar kann man das Rauschen mit Filtern glätten, so richtig schön wird es dadurch jedoch nicht. Eigentlich müsste man 4, besser noch 16 Strahlen pro Pixel simulieren.

Aaltu und seine Kollegen haben sich deshalb einige Tricks überlegt, wie sie die Anzahl der Pixel, für die ein Raytracing berechnet werden muss, verringern kann. Dazu legen sie zunächst eine maximale Länge der relevanten Lichtstrahlen von vier Metern fest. Ist der erste Strahl für jedes Pixel berechnet, dann kalkuliert die Engine in einem zweiten Durchgang drei weitere Strahlen – aber nur für die Pixel, die eine bestimmte Helligkeit überschreiten.

Anzeige

Bei den Spiegelungen schließlich spielt die Diffusheit der Oberflächen eine wichtige Rolle. Die Spiegelung wird nur für ein Pixel berechnet, wenn diese niedrig genug ist. Mit derlei Tricks konnte Remedy die nötige Rechenzeit für Schatten und Spiegelungen immerhin auf 5 bis 8 ms verringern.

Aaltu lobte, wie einfach es sei, DXR in aktuelle Spiele-Engines zu implementieren, sodass es den Render-Prozess unterstützt. Remedy könne relativ einfach mit neuen Algorithmen experimentieren und die Aufgaben mit bisherigen Rendermethoden kombinieren. Bis jedoch die derzeit noch stark verrauschten Raytracing-Bilder tatsächlich besser aussehen und auf bezahlbaren Grafikkarten beziehungsweise Spielkonsolen laufen, werden sich Gamer wohl noch einige Jahre gedulden müssen. Die beiden derzeit von Remedy entwickelten Spiele Control und Crossfire 2 sollen noch kein Raytracing nutzen. (hag)

Anzeige