Ray Tracing vs Rasterized Rendering - erklärt
Nach dem Start der GPU-Familie Turing von Nvidia im Jahr 2018 nahm die Diskussion über eine Funktion namens „Ray Tracing“ in der Welt des Spielens exponentiell zu. Die damals brandneue Grafikkartenserie „RTX“ von Nvidia unterstützte das sogenannte „Real-Time Ray Tracing“ in Spielen. Die meisten Menschen waren sich nicht sicher, was dieses neue Feature war und warum es von Nvidia so stark vorangetrieben wurde, waren aber gleichzeitig begeistert und interessiert an der Technologie. Laut Nvidia war Ray Tracing ein so großer Punkt, dass sie es für notwendig hielten, es direkt in den Namen der Produkte zu setzen, die sie auf den Markt brachten. Die neue GeForce-Kartenserie „RTX“ ersetzte die ältere „GTX“ -Karte, wenn es um die Top-SKUs wie die von Nvidia normalerweise veröffentlichten SKUs 60,70,80 und -80Ti ging.
Die RTX 2000-Grafikkartenserie von Nvidia brachte mehrere Hardwareänderungen mit sich, die die Unterstützung von Ray Tracing in Spielen ermöglichten. Die neuen Turing-basierten Grafikkarten packten spezielle Kerne, die diesem Prozess gewidmet waren und als RT-Kerne bekannt wurden. Der Zweck der RT-Kerne bestand darin, alle grafischen Berechnungen, die erforderlich waren, um Ray Tracing in Echtzeit in Spielen zu ermöglichen, spezifisch zu handhaben. Nvidia ergänzte die Karten auch mit zusätzlichen CUDA-Kernen, um die Rohleistung der Karten zu erhöhen, und fügte einen neuen Satz von Kernen hinzu, die als Tensorkerne bekannt sind. Diese Kerne sollten Deep-Learning- und KI-Anwendungen wie eine neue Form der Upscaling-Technik unterstützen, die als Deep Learning Super Sampling bekannt ist. Wir haben Deep Learning Super Sampling oder DLSS bereits ausführlich in diesem Artikel behandelt, in dem Sie mehr über die AI-gestützte Upscaling-Technik erfahren können.
Ray Tracing ist nicht neu
Während es auf den ersten Blick so aussieht, als wäre Ray Tracing eine neue Technologie, die von Nvidia entwickelt wurde, ist die Wahrheit tatsächlich weit davon entfernt. Ja, Nvidia war das erste Unternehmen, das Unterstützung für Echtzeit-Ray-Tracing in Spielen implementiert hat. Dies bedeutet jedoch nicht, dass Ray Tracing vor der RTX-Serie noch nicht existiert hat. Sie haben es wahrscheinlich jahrelang genossen, ohne es zu wissen, wenn Sie einen aktuellen Film mit CGI-Effekten gesehen haben.
Die Implementierung in Filmen ist zugegebenermaßen etwas anders und viel intensiver als die Gaming-Version. Big-Budget-Produktionen haben den Luxus, viel Geld und Zeit für das Rendern dieser Szenen ausgeben zu können. Es wurde berichtet, dass beliebte Animationsfilme etwa 1000 Supercomputer verwendet haben, um den gesamten Film mit Ray Tracing-Effekten über einen Zeitraum von einem Monat zu rendern. Solche groß angelegten Rendering-Prozesse sind für den durchschnittlichen Spieler, der einige Spiele mit aktualisierten Grafiken spielen möchte, natürlich nicht durchführbar oder möglich. Daher unterscheidet sich die Ray Tracing-Version, die in modernen Spielen vorhanden ist, in der Anwendung erheblich. Dennoch ist Ray Tracing eine Funktion, die in vielen Bereichen der Produktion außerhalb des Spielens vorhanden ist, wobei Filme eine der bekanntesten sind.
Produktivitätssoftware, mit der Profis grafisch intensive Szenen wie Blender bearbeiten, unterstützt auch Ray Tracing-Funktionen. Diese Computergrafik- und Rendering-Software verwendet verschiedene Ebenen der Raytracing-Anwendung, um fotorealistische Grafiken in Standbildern und 3D-Animationen zu erstellen.
Was ist Rasterisierung?
Warum hielt es Nvidia für notwendig, einen so komplexen Prozess in traditionelle Spiele zu implementieren? Gibt es einen Unterschied im Prozess des Ray Tracing in Spielen, um es für die Arbeitslast zu optimieren? Um den Mechanismus hinter Ray Tracing zu verstehen, müssen wir zunächst den Mechanismus verstehen, nach dem die Spiele traditionell gerendert werden. Dies wird uns helfen zu verstehen, warum Ray Tracing als Verbesserung und großer Fortschritt in der grafischen Wiedergabetreue angesehen wird.
Die Technik, die derzeit zum Rendern verwendet wird, wird als "Rasterisierung" bezeichnet. Bei dieser Technik weist der Spielcode die GPU an, eine 3D-Szene mit Polygonen zu zeichnen. Diese 2D-Formen (meistens Dreiecke) bilden die meisten visuellen Elemente, die auf dem Bildschirm angezeigt werden. Nachdem eine Szene gezeichnet wurde, wird sie in einzelne Pixel übersetzt oder „gerastert“, die dann von einem dedizierten Shader verarbeitet werden. Der Shader fügt Farben, Texturen und Lichteffekte pro Pixel hinzu, um einen vollständig gerenderten Rahmen zu erzeugen. Diese Technik muss etwa 30-60 Mal pro Sekunde wiederholt werden, um in Spielen 30FPS- oder 60FPS-Grafiken zu erzeugen.
Einschränkungen der Rasterung
Während die Rasterisierung seit einiger Zeit der Standardmodus für das Rendern in Spielen ist, weist der inhärente Prozess der Rasterisierung einige Einschränkungen auf. Das Hauptproblem bei der Rasterung besteht darin, dass es für diese Technik schwierig ist, genau zu verfolgen, wie sich das Licht in einer Szene bewegen und mit anderen Elementen der Szene interagieren soll. Das gerasterte Rendering führt nicht zu den gleichen Ergebnissen wie das Ray Traced-Rendering, wenn es um Lichteffekte und die Gesamtbeleuchtung einer bestimmten Szene geht. Rasterisiertes Rendern kann manchmal auch zu etwas ungenauen Bildern in Bezug auf die Beleuchtung führen, was das Eintauchen in ein bestimmtes Spiel wirklich beschädigen kann. Aus diesem Grund wird Ray Tracing als überlegene Form des Renderns angesehen, wenn es um die grafische Wiedergabetreue geht, insbesondere in Bezug auf die Beleuchtung.
Was genau ist Ray Tracing?
Nachdem wir uns nun mit der traditionellen Form des gerasterten Renderns befasst haben, wollen wir die neue Anwendung von Ray Tracing in Echtzeit in modernen Spielen diskutieren. Ray Tracing ist eine Rendering-Technik, die ein Bild basierend auf virtuellem Licht erstellt und wie diese Lichtquelle mit allen Objekten in der virtuellen Szene interagiert. Ray Tracing kann eine weitaus lebensechte Darstellung von Szenen erstellen, die die Interaktion von Licht mit den Objekten innerhalb der Szene nutzen, um ein Gefühl von Realismus zu vermitteln. Mit einfachen Worten, Ray Tracing ist eine Technik, mit der sich Licht in Videospielen genauso verhält wie im wirklichen Leben.
Der Mechanismus hinter Ray Tracing
Der Mechanismus hinter Ray Tracing in Spielen unterscheidet sich von Natur aus von den anderen Formen von Ray Tracing, die bereits in anderen Branchen wie Filmen zu finden sind. Anstatt alle Millionen von Strahlen zu verfolgen, die von jeder Lichtquelle kommen, verringert die Strahlenverfolgung für Verbraucher die Rechenlast, indem stattdessen ein Pfad von der Kamera, der die Perspektive des Benutzers darstellt, durch ein einzelnes Pixel zu dem dahinter liegenden Objekt verfolgt wird Pixel und dann endlich zurück zur Lichtquelle der betreffenden Szene. Diese Technik der Strahlverfolgung kann auch mehrere Effekte wie Absorption, Reflexion, Brechung und Diffusion von Licht erzeugen, die durch das Objekt bestimmt werden, das mit dem Licht in der Szene interagiert. Der Raytracing-Algorithmus kann auch resultierende Strahlen berücksichtigen, so dass Reflexionseffekte oder Schatten genau angezeigt werden.
Verschiedene Formen der Raytracing
Nicht alle Implementierungen von Ray Tracing sind gleich. Die Vielzahl der Spiele, die Ray Tracing unterstützen, implementiert die Funktion jeweils auf eine etwas andere Art und Weise. Es ist Sache des Entwicklers des Spiels, die Komplexität von Ray Tracing im Spiel zu erhöhen oder zu verringern, damit das Spiel das perfekte Gleichgewicht zwischen Leistung und visueller Qualität bietet. Ab 2020 verwenden die meisten Spiele, die Ray Tracing unterstützen, Ray Tracing normalerweise nur für einen Aspekt einer Szene, anstatt die gesamte Szene mit Ray Tracing selbst zu rendern. Es ist möglich, aber die Berechnungskosten für das Ray Tracing in der gesamten Szene sind im Vergleich zu den anderen Ansätzen astronomisch und daher zumindest im Moment nicht die Mühe wert. Zum Zeitpunkt des Schreibens sind die verschiedenen Implementierungen von Ray Tracing, die derzeit in Spielen verwendet werden:
- Schatten: Die einfachste und am wenigsten intensive Ray Tracing-Implementierung hängt wohl mit den Schatten zusammen. Hier wird Ray Tracing verwendet, um die Schatten in einer Szene basierend auf dem Ursprung des Lichts von der Lichtquelle und der Position des Objekts selbst perfekt zu rendern. Diese Technik wird vor allem in „Shadow of the Tomb Raider“ verwendet, um eine detailliertere Schattenkarte zu erstellen, die auf die Änderungen in der Umgebung der Objekte reagiert, die die Schatten erzeugen. Insbesondere können die Bewegung und der Winkel der Lichtquelle jetzt die gleichen Änderungen in den resultierenden Schatten hervorrufen, die wir im wirklichen Leben beobachten.
- Reflexionen: Reflexionen sind mit Ray Tracing viel rechenintensiver zu rendern. Ray Traced-Reflexionen sehen jedoch in modernen Spielen phänomenal aus und sind wahrscheinlich die bemerkenswerteste grafische Verbesserung, die mit Ray Tracing erzielt werden kann. Reflexionen verwenden die Lichtquelle in einer Szene, um die Reflexionen von reflektierenden Objekten wie Glas und Wasser genau wiederzugeben. Eines der beliebtesten Spiele, bei denen Ray Traced-Reflexionen verwendet werden, ist „Control“.
- Umgebungsokklusion: Dies hängt auch mit Schatten zusammen und ist mehr oder weniger mit demselben Grundprozess verbunden. Ambient Occlusion verwendet Ray Tracing, um den Winkel und die Intensität von Schatten basierend auf der Position und Platzierung von Objekten innerhalb einer Szene vorherzusagen. Wenn es richtig gemacht wird, kann Ambient Occlusion einem Spiel erstaunliche Details und Realismus verleihen.
- Globale Beleuchtung: Global Illumination ist wahrscheinlich die rechenintensivste Form der Ray Tracing-Implementierung in modernen Spielen und verwendet Ray Tracing, um die Weltbeleuchtung genau darzustellen. Dies bietet ein viel realistischeres Gefühl für die Beleuchtung, wenn es eingeschaltet ist, aber es hat auch einen massiven Leistungseinbruch aufgrund der bloßen Datenmenge, die verarbeitet wird. "Metro Exodus" verwendet Ray Tracing, um eine viel realistischere Form der globalen Beleuchtung bereitzustellen.
- Vollständige Pfadverfolgung: Schließlich sehen wir auch einige Spiele, die vollständig auf dem Pfad verfolgt werden, was im Wesentlichen bedeutet, dass alles Ray Traced ist. Zugegeben, diese Spiele sind etwas einfacher und kleiner als die anderen Spiele, bei denen es sich mehr oder weniger um AAA-Titel großer Unternehmen handelte. Dies bedeutet jedoch nicht, dass sie nicht beeindruckend aussehen. In der Tat könnten einige argumentieren, dass diese Spiele mit vollständiger Pfadverfolgung besser aussehen als alle anderen Ray Tracing-Implementierungen. "Minecraft RTX" und "Quake RTX" sind zwei der Titel, deren Pfad zum Zeitpunkt des Schreibens vollständig verfügbar war.
Was brauche ich für Ray Tracing?
Wie bereits erwähnt, ist Ray Tracing eine sehr rechenintensive Aufgabe, für deren Leistung eine ausgesprochen hochwertige Hardware erforderlich ist. Zum Zeitpunkt des Schreibens gibt es mehrere Grafikkarten von AMD und Nvidia, die hardwarebeschleunigtes Ray Tracing unterstützen. Sogar die Konsolen von Sony und Microsoft unterstützen diese Funktion. Das erweitert die Liste der unterstützten Hardware ein wenig:
- Nvidia GeForce RTX 2000-Serie
- Nvidia GeForce RTX 3000-Serie
- AMD Radeon RX 6000 Serie
- Microsoft Xbox Series X.
- Sony PlayStation 5
Denken Sie daran, dass, wenn AMD Ray Tracing etwas anders als Nvidia handhabt, ein etwas größerer Leistungsverlust auftritt, wenn Sie AMD-Karten für Ray Tracing verwenden. Wenn Sie die verbesserte Leistung mithilfe von Deep Learning Super Sampling erleben möchten, ist diese Funktion auch nur auf den RTX-Karten von Nvidia verfügbar. AMD arbeitet angeblich an einer DLSS-ähnlichen Funktion für seine Karten der RX 6000-Serie, befindet sich derzeit jedoch noch in der Entwicklung.
Nvidia hat auch den Begriff „Giga Rays“ geprägt, um Benutzern eine Vorstellung von den relativen Ray Tracing-Funktionen seiner RTX-Grafikkarten zu geben. Laut Nvidia sind 5 Giga-Strahlen pro Sekunde die minimale Menge an virtuellem Licht, die idealerweise erforderlich ist, um einen typischen Raum in einer Videospielumgebung vollständig zu beleuchten. Die GeForce RTX 2070 bietet 5 Giga-Strahlen pro Sekunde, während die RTX 2080 8 Giga-Strahlen pro Sekunde bietet. Der RTX 2080Ti bietet satte 10 Giga Rays / Sek. Da es sich jedoch um eine etwas willkürliche Einheit handelt, sollte sie nur allgemein verwendet werden, um die relativen Leistungserwartungen anzuzeigen.
Leistungsverlust und DLSS
Wie jetzt offensichtlich ist, ist der größte Nachteil von Ray Tracing die Beeinträchtigung der Leistung aufgrund der großen Menge an dedizierten Berechnungen, die in diesem Prozess durchgeführt werden müssen. In einigen Spielen ist der Leistungstreffer so groß, dass das Spiel eine Framerate erreichen kann, die nicht mehr als spielbar angesehen wird. Der Leistungseinbruch ist in Spielen, die komplexere Implementierungen von Ray Tracing wie Reflections, Global Illumination oder Full Path Tracing verwenden, noch größer.
Natürlich dachte Nvidia an diese Situation der Leistungseinbußen und entwickelte auch eine neue Kompensationstechnik, die als Deep Learning Super Sampling bekannt ist. Diese als DLSS bezeichnete Technik wurde bereits 2018 zusammen mit der RTX 2000-Serie von Nvidia veröffentlicht. Wir haben DLSS bereits in diesem Artikel ausführlich untersucht. Das Wesentliche dieser Technologie ist jedoch, dass das Bild mit einer niedrigeren Auflösung gerendert und anschließend intelligent und methodisch hochskaliert wird Anpassung an die Ausgabeauflösung, um dem nativen Rendering eine weitaus bessere Leistung zu bieten. DLSS ist ein ausgezeichneter Kompensationsmechanismus für den Leistungsverlust von Ray Tracing, kann jedoch auch ohne Ray Tracing verwendet werden, um noch höhere Frameraten und ein viel besseres Erlebnis zu erzielen.
Der größte Vorteil von DLSS besteht darin, dass Deep Learning und AI zum Hochskalieren des Bilds verwendet werden, sodass zwischen dem nativen und dem hochskalierten Bild kaum oder gar keine Unterschiede in der visuellen Klarheit bestehen. Nvidia verwendet die Tensor-Kerne seiner RTX-Kartenserie, um den DLSS-Prozess zu beschleunigen, sodass diese Upscaling-Berechnung im Tempo des gerenderten Spiels durchgeführt werden kann. Dies ist eine wirklich aufregende Technologie, die wir gerne weiterentwickeln und verbessern würden, als sie jetzt ist.
Zukunft des Ray Tracing
Ray Tracing in Spielen fängt gerade erst an und wir können mit Sicherheit sagen, dass es hier bleiben wird. AMD hat gerade ihre veröffentlicht Erste Reihe von Karten, die Ray Tracing in Echtzeit mit der RX 6000-Serie unterstützenDie PlayStation 5 und Xbox Series X unterstützen auch Ray Tracing. Zu den aktuellen Hürden, die überwunden werden müssen, gehören der Leistungsverlust und die geringe Anzahl von Spielen, die dies unterstützen. Zu den aktuellen Spielen, die Ray Tracing zum Zeitpunkt des Schreibens unterstützen, gehören:
- Inmitten des Bösen
- Battlefield V
- Heller Speicher
- Call of Duty: Moderne Kriegsführung (2019)
- Call Of Duty: Kalter Krieg der Black Ops
- Steuerung
- Crysis Remastered
- Errette uns den Mond
- Vierzehn Tage
- Ghostrunner
- Gerechtigkeit
- Mechwarrior V: Söldner
- Metro Exodus
- Minecraft
- Mondscheinklinge
- Kürbis Jack
- Quake II RTX
- Schatten des Grabräubers
- Bleib im Licht
- Watch Dogs Legion
- Wolfenstein: Jungblut
In der Zwischenzeit hat Nvidia bestätigt, dass die folgenden Titel auch Ray Tracing unterstützen werden, sobald sie herauskommen:
- Atomherz
- Cyberpunk 2077 (Start)
- Sterbendes Licht 2
- Ewiges Schicksal
- Eingetragen (November Closed Beta)
- JX3
- Mortal Shell (November)
- Beobachter: System Redux
- Bereit oder nicht (Early Access Launch)
- Ring Of Elysium (Start)
- Synchronisiert: Off-Planet
- Der Hexer III
- Vampir: Die Maskerade - Blutlinien 2
- World Of Warcraft: Schattenlande (November)
- Xuan-Yuan-Schwert VII (Start)
Obwohl dies nicht wie viele Spiele erscheint, stellt es einen Anfang in eine Richtung dar, in der die vorherrschende Form des Renderns durchaus Ray Tracing sein könnte. Was die Leistung angeht, ist es wirklich schwer vorherzusagen, ob der Leistungsverlust von Ray Tracing etwas verringert wird oder nicht. Es ist jedoch zu erwarten, dass DLSS besser wird und eine ausreichende Kompensation für den Leistungsverlust bietet, der durch das Einschalten von Ray Tracing entsteht. Zum Zeitpunkt des Schreibens ist die Liste der Spiele, die DLSS unterstützen, keineswegs umfangreich, aber es ist ein guter Anfang, wenn man bedenkt, dass Nvidia die DLSS-Unterstützung auch für mehrere kommende Spiele angekündigt hat. Hier sind alle Spiele, die derzeit Deep Learning Super Sampling unterstützen:
- Hymne
- Battlefield V
- Heller Speicher
- Call Of Duty: Kalter Krieg der Black Ops
- Steuerung
- Todesstrandung
- Errette uns den Mond
- F1 2020
- Final Fantasy XV
- Vierzehn Tage
- Ghostrunner
- Gerechtigkeit
- Marvels Rächer
- Mechwarrior V: Söldner
- Metro Exodus
- Minecraft
- Monster Hunter: Welt
- Schatten des Grabräubers
- Watch Dogs Legion
- Wolfenstein Jungblut
Wie Sie vielleicht bemerkt haben, sind die meisten Spiele, die DLSS unterstützen, Titel, die auch Ray Tracing unterstützen. Dies ist eine weitere Bestätigung für die Theorie, dass DLSS hauptsächlich als Kompensationstechnologie entwickelt und veröffentlicht wurde, um den immensen Leistungsverlust bei Ray Tracing zu verringern. DLSS ist jedoch eine beeindruckende Technologie, da Nvidia erklärt hat, dass es einen Supercomputer verwendet, um komplexe Berechnungen durchzuführen, die den Algorithmus trainieren, dem die Tensorkerne in den Nvidia-GPUs folgen. Genau wie Ray Tracing wird DLSS voraussichtlich auch für weitere Spiele verfügbar sein:
- Inmitten des Bösen
- Atomherz
- Grenze
- Cyberpunk 2077 (Start)
- Rand der Ewigkeit (November)
- JX3
- Mortal Shell (November)
- Mount & Blade II Bannerlord (November)
- Bereit oder nicht (früher Zugriff)
- Aasfresser
- Vampir: Die Maskerade - Blutlinien 2
- Xuan-Yuan-Schwert VII (Start)
DLSS in Kombination mit Ray Tracing scheint ab 2020 die Zukunft der Spielebranche zu sein.
Fazit
Rasterung ist die Technik, die seit langem in Spielen verwendet wird, um eine 2D-Ebene von Polygonen in ein 3D-Bild auf dem Bildschirm umzuwandeln. Im Jahr 2018 führte Nvidia die Grafikkartenserie RTX 2000 mit vollständiger Unterstützung für Echtzeit-Raytracing in Spielen ein. Diese Technik verwendet komplexe Berechnungen, um die Lichtstrahlen in einer Szene zu verfolgen und genaue Darstellungen der Interaktion des Lichts zu erstellen die Objekte in einer Szene. Dies brachte die Welt des Spielens in einen unerwarteten Sturm und die gesamte Branche setzte Ray Tracing als ihren Hauptfokus für die Zukunft.
Zum Zeitpunkt des Schreibens hat Nvidia eine weitere Generation von Grafikkarten herausgebracht, die die Ray Tracing-Leistung weiter verbessern, während sowohl AMD als auch die Konsolen die volle Unterstützung für diese Funktion angekündigt haben. Nvidia hat auch seine Deep Learning Super Sampling-Technik verbessert, bei der mithilfe von KI und Deep Learning das mit einer niedrigeren Auflösung gerenderte Bild intelligent hochskaliert wird, um den Leistungsverlust aufgrund von Ray Tracing auszugleichen.
Es scheint, als ob Ray Tracing hier bleiben wird, und obwohl die anfängliche Anzahl von Titeln, die diese Funktion unterstützen, nicht groß ist, werden immer mehr Titel angekündigt, die künftig vollständige Unterstützung für Ray Tracing in Echtzeit bieten. Es liegt nun an den Entwicklern, die Ray Tracing-Funktionen in ihren kommenden Spielen zu optimieren und die Anzahl der Titel zu erhöhen, die diese Funktion unterstützen. Nvidia und AMD sind auch dafür verantwortlich, ihre Hardware für diese Funktion zu optimieren, damit Spieler keinen verheerenden Leistungsverlust erleiden müssen, wenn sie Ray Tracing aktivieren möchten.