Raytracing ist eine Technik zum Rendern von Computergrafiken, bei der ein Bild erstellt wird, indem der Weg der Strahlen durch eine Szene verfolgt wird. Die Strahlen können mit Objekten in der Szene interagieren, von ihnen abprallen und Eigenschaften wie Farbe erh alten.
Ray Tracing: Die Grundlagen
Raytracing emuliert reale Beleuchtung. Das Licht, das wir sehen, ist das Ergebnis von Photonen, die von Energiequellen wie der Sonne emittiert werden. Photonen können abprallen und streuen, wenn sie mit Objekten kollidieren. Ein Spiegel ist alles, was Sie brauchen, um dies in Aktion zu sehen. Licht, das auf einen Spiegel trifft, erzeugt eine Reflexion.
Raytracing simuliert dies. Die Anzahl der verfolgten Strahlen ist gering im Vergleich zur realen Welt, in der Millionen von Photonen über unser Sichtfeld springen. Moderne Spiele verfolgen irgendwo zwischen einem und vier Strahlen pro Pixel. Trotzdem reicht das aus, um die reale Welt zu simulieren.
Wenn du den Weg eines Strahls verfolgst, kannst du auch mit der Spielwelt interagieren. Ein Strahl, der von einem roten Objekt abprallt, kann von dieser Farbe beeinflusst werden und in der Nähe ein rotes Leuchten hervorrufen. Strahlen können je nach den Eigenschaften, die die Designer eines Spiels Objekten geben, auf unterschiedliche Weise streuen, was realistische halbreflektierende oder raue Oberflächen ermöglicht.
Raytracing ist ein bedeutender Fortschritt für 3D-Grafiken. Es erzeugt ein realistisches Bild, indem es den Weg von Strahlen simuliert, während sie sich durch ein Spiel bewegen. Dies führt zu einer Beleuchtung, die mit der Umgebung interagieren kann, selbst wenn die Umgebung für den Spieler nicht sichtbar ist. Raytracing erfordert keine speziell entwickelte Hardware, um zu funktionieren, aber es ist nur auf einer Grafikkarte oder Spielekonsole praktisch, die Raytracing beschleunigen kann, da es sehr anspruchsvoll ist.
Ray Tracing vs. Rasterisierung (oder 3D-Grafik, wie Sie sie kannten)
Du kannst immer noch verwirrt sein, selbst wenn du diese Erklärung verstehst. Reflexionen waren in früheren Spielen vorhanden, sogar in denen, die jetzt mehrere Jahrzehnte alt sind. Wie unterscheidet sich Raytracing?
Frühere 3D-Spiele und die meisten modernen Spiele verwenden Rasterung. Die Rasterung kombiniert die für den Spieler sichtbaren Elemente einer 3D-Spielwelt zu einem 2D-Bild. Es wird nur gerendert, was für den Spieler sichtbar sein sollte, da jede Leistung, die verwendet wird, um das zu erzeugen, was der Spieler nicht sehen kann, verschwendet wird. Dies führt jedoch zu einem Problem.
Kehren wir zum Beispiel eines Spiegels zurück. Die Umgebung des Spielers und der Spielercharakter sind für den Spieler nicht sichtbar (zumindest in einem First-Person-Spiel). Bei der Rasterung gibt es nichts, was der Spiegel reflektieren könnte.
Natürlich gibt es Spiegel in modernen Spielen. Sie rendern die Szene zweimal. Ein Pass ist aus der Sicht des Spielers, ein anderer aus einer anderen Perspektive. Das verdoppelt jedoch die zum Rendern einer Szene benötigte Leistung.
Screen Space Reflections, eine Technik in beliebten 3D-Game-Engines, verwenden Bildschirmdaten, um eine Reflexion zu erzeugen. Diese Technik ist ideal für reflektierende Oberflächen in einem Winkel zur Spielerperspektive, wie z. B. Wasser. Reflektierte Objekte verschwinden jedoch, wenn sich das reflektierte Objekt aus dem Bildschirm bewegt.
Raytracing teilt diese Probleme nicht, da es im Gegensatz zur Rasterung außerhalb der Perspektive des Spielers verfolgen kann.
Auch in Spielen, in denen Strahlen mit Oberflächen interagieren können, kann Raytracing realistische Farbverläufe und halbreflektierende Oberflächen anzeigen, die für die Rasterung schwierig zu handhaben sind.
Welche Hardware ist für Raytracing erforderlich?
Raytracing ist keine neue Idee. Informatiker experimentierten Anfang der 1980er Jahre mit Raytracing und erstellten statische Bilder mit realistischer Beleuchtung, Reflexionen und Schatten. Leider hat das Rendern Stunden gedauert.
Ein Videospiel benötigt Echtzeit-Raytracing mit 30 Bildern pro Sekunde oder mehr. Das ist nur mit einer Grafikkarte möglich, die darauf ausgelegt ist, Raytracing zu beschleunigen.
Nvidias RTX-Raytracing basiert auf Silizium, das als Tensor Core bezeichnet wird. Tensor Cores sind nur in RTX-Grafikkarten zu finden. Die GTX-Karten von Nvidia können ein Spiel mit Raytracing rendern, da Raytracing, wie gesagt, kein speziell angefertigtes Silizium erfordert. Die Leistung ist jedoch im Vergleich zu RTX-Karten miserabel. Und einige Spiele, wie Minecraft mit RTX-Raytracing, erfordern eine RTX-Grafikkarte, da sie Raytracing auf eine bestimmte Weise ermöglichen.
AMD-Karten, die Raytracing beschleunigen, haben kein spezifisches Branding und kein dediziertes Silizium. Stattdessen verwenden sie Hardware-Optimierungen und Software-Updates, um bessere Ergebnisse zu erzielen. Es ist schwieriger, AMD-Karten zu identifizieren, die Raytracing beschleunigen, achten Sie also auf die Details.
Sonys PlayStation 5 und Xbox Series X und S verfügen über Grafikhardware von AMD, die Raytracing beschleunigen kann. Es liegt jedoch an den Entwicklern, dies zu aktivieren, und viele Spiele tun dies nicht. Ein bemerkenswertes Beispiel ist Cyberpunk 2077, das RTX-Raytracing auf dem PC beim Start unterstützte, aber kein Raytracing auf Konsolen der nächsten Generation. Die Funktion wird für Konsolen der nächsten Generation in einem zukünftigen Patch versprochen.