Lumen, das ist Raytracing für Konsolen und Low Cost GPUs

Lumen

Es steht außer Frage, dass Unreal Engine 5 die Quintessenz der Grafik-Engine für die Spieleentwicklung der nächsten Generation ist. Der Schlüssel liegt in mehreren ihrer neuen Technologien und der Art und Weise, wie sie die Hardware der neuen Generation von PCs und Videospielkonsolen verwenden. In diesem Artikel sprechen wir über Lumen, Ihre Lösung für globale Beleuchtung.

Wichtig bei einem Spiel ist, dass es mit einer ausreichend hohen Bildrate arbeitet, damit der Benutzer das Gefühl hat, sich vor einer realen Szene in Bewegung zu befinden. Wenn wir bereits über Virtual Reality sprechen, dann erfordert die Notwendigkeit, ein Gefühl von Präsenz zu erzeugen, höhere Geschwindigkeiten. Aus diesem Grund wurde die Rasterisierung schon immer als Algorithmus verwendet, um eine Szene in 3D in Echtzeit zu rendern. Das ist schnell und funktional, hat aber einen Schwachpunkt, nämlich die Darstellung von Licht.

Die Grenzen der Rasterung

Technische Demo von Lumen

Um Lumen zu verstehen, muss man verstehen, wie Epic mit Unreal Engine 4 die Herausforderung hatte, das zu erreichen, was wir als dynamische indirekte Beleuchtung oder auch als globale Beleuchtung bezeichnen. Das Rasterisierungsproblem kann Szenen perfekt darstellen, in denen wir eine direkte Quelle haben, wir können jedoch keine indirekte haben. Dies bedeutet, dass in Spielen eine Reihe von visuellen Tricks ausgeführt werden müssen, um die Wirkung der indirekten Beleuchtung zu erzielen.

  • Light Maps, die aus dem Rendern der Beleuchtung der Szene von einem Punkt der Kamera auf einem Hochleistungsserver bestehen. Diese Informationen werden in eine Textur umgewandelt, die dann auf die Szene angewendet wird. Das Ergebnis? Das Licht ändert sich nicht mit der Position der Objekte, es ist falsch.
  • Shadow Maps, die darin bestehen, dass die GPU die Szene so rendert, als ob die Lichtquelle die Kamera wäre, um nur die Tiefenkarte zu speichern und sie dann als Textur zu verwenden, um Schatten zu simulieren.
  • Ambient Occlusion, um zu markieren, welche Punkte abgedunkelt oder stärker beleuchtet werden müssen.
  • Verwendung von Umgebungskarten, einschließlich Umgebungswürfeln, um Reflexionen zu simulieren.

All dies kommt daher, dass die Rasterung den Lichttransport nicht effizient darstellen kann, ihre Funktionsweise ist wie bei einem Maler, der Farbtechniken verwendet, um das Gefühl von Beleuchtung zu erzeugen, aber dies ist eine Einschränkung, um eine größere grafische Wiedergabetreue zu erreichen.

Die Darstellung von Materialien

Evolution Raytracing

Historisch gesehen ist es uns gelungen, ein Material in der Rasterung durch eine Kombination von Texturen und Shader-Programmen darzustellen, um es zu manipulieren, die in DirectX als Pixel-Shader und in Vulkan als Fragment-Shader bekannt sind. Die Tatsache, dass die Rasterung das Verhalten von Licht auf Objekten nicht gut wiedergibt, führt jedoch zu einer schlechten Darstellung von Materialien.

Wenn Licht auf eine hochglanzpolierte Metallkugel fällt, verhält es sich in der realen Welt nicht so, als würde es durch eine Holzkugel fallen. Wir dürfen nicht vergessen, dass Brechung die Richtungsänderung und Langsamkeit ist, die ein Lichtstrahl erfährt, wenn er von einem Medium zu einem anderen mit einem anderen Brechungsindex übergeht. Es ist unmöglich, Licht in seinem realen physikalischen Verhalten in einer Simulation darzustellen, also repräsentieren wir es so gut wie möglich für unsere Wahrnehmung.

Die Idee von globaler Beleuchtung und Technologien wie Lumen besteht darin, eine Darstellung der Materialien zu haben, die unserer Wahrnehmung in der realen Welt entspricht, indem simuliert wird, wie jedes Material indirekt Licht emittiert.

Was ist Lumen?

Lumen

Lumen ist nichts anderes als ein sogenannter Software-Raytracing-Algorithmus, aber ein solcher Name ist irreführend, denn die erste Schlussfolgerung, die daraus gezogen wird, ist, dass es sich um ein Programm im CPU Raytracing durchführen, wenn es nicht so ist. Eigentlich alle GPU kann den Algorithmus über die Software ausführen, die seine Kerne ausführt, die als Shader-Programme bezeichnet werden. Das Problem kommt wie bei der Rasterung von einem bestimmten Punkt, der Berechnung des Schnittpunkts zwischen den Strahlen und der Szene.

Die Lösung auf Hardwareebene bestand darin, jedem der GPU-Kerne ein kleines Stück Hardware hinzuzufügen, um diese Aufgabe auszuführen. Das Problem besteht darin, dass sie die Verwendung von Raytracing als Hilfe zur Rasterung ermöglichen, um eine Reihe von Effekten auszuführen von sehr einfacher globaler Beleuchtung. Darüber hinaus erfordert Raytracing im Gegensatz zur Rasterung die Verwendung komplexer Baumdatenstrukturen, was die Geschwindigkeit, mit der Schnittpunktberechnungen durchgeführt werden können, stark reduziert.

Die Epic-Lösung durchläuft also ein System, das keine solche Datenstruktur verwendet, und hier liegt der Schlüssel. Da der Algorithmus in Wirklichkeit für Konsolen der neuen Generation entwickelt wurde, die zwar über spezialisierte Einheiten zur Ausführung der Schnittpunktberechnungen verfügen, jedoch aufgrund der Einschränkungen der RDNA 2-Architektur eine Reihe von Schwierigkeiten haben.

Ist Lumen besser als Raytracing?

Die Antwort ist direkt nein, und dies wird nicht von uns, sondern von Epic selbst gesagt und ist, dass die mit Lumen erreichbare Präzision der globalen Beleuchtung begrenzt ist, da wir berücksichtigen müssen, dass es sich um eine Lösung handelt, die entwickelt wurde für die Erstellung von Videospielen, bei denen die Rendering-Geschwindigkeit entscheidend ist. Auf der Detailebene ist es also nicht so gut, aber es gibt Teile in Lumen, die Ray Tracing entsprechen und daher diesem vorgezogen werden, da es leichter auszuführen ist und weniger Ressourcen von unserem System erfordert.

PS5, Xbox Series und RDNA 2: Einschränkungen

Portada SoC PS5 Xbox

AMD's Engagement für Raytracing kommt mit der RDNA 2-Architektur, die es geschafft hat, an vielen Stellen zu platzieren, und wo eines der Arbeitspferde genau die Implementierung dieser Technologie in ihre GPUs zwei Jahre später war NVIDIA. Sie haben dies jedoch mit gewissen Einschränkungen in ihrer Implementierung getan: Die BVH-Baumdurchquerung, die die Szeneninformationen speichert, wird nicht von der Kreuzungseinheit durchgeführt.

Dies ist eine enorme Leistungseinbuße, die dazu führt, dass die RX 6000 bei der Anwendung solcher Algorithmen schlechter abschneidet. Zum Glück kommt jedes Jahr neue Hardware auf den PC, aber was ist mit Konsolen? Dies sind volle fünf Jahre mit der gleichen Hardware und den gleichen Hardwarebeschränkungen. Daher ist die Existenz von Lumen eine Lösung, um globale Beleuchtung in den Playstation 5, Xbox Konsolen der Serie S und Serie X, ohne dass ihre begrenzte Leistung eine Drossel für sie ist.

Und was passiert auf dem PC? Lumen wird in einer Vielzahl von Konsolenspielen verwendet, da Unreal Engine 5 weit verbreitet sein wird und diese Spiele mit wenig Veränderung auf den Computer gebracht werden. Trotz der Tatsache, dass es sich um eine Technologie handelt, die für die Einschränkungen beim Raytracing von RDNA 2 entwickelt wurde, bedeutet dies nicht, dass sie exklusiv für AMD gilt.