Die Zukunft der Spielegrafik: Nvidia und Partner bauen die Raytracing-Initiative aus
Raytracing in Echtzeit blieb jahrelang ein Traum für Spieleentwickler. Mittlerweile ist es in einigen PC-Spielen implementiert – allerdings bisher nur bei Verwendung der neuesten Grafikkarten der RTX-Serie von Nvidia. Und immer noch frisst diese deutlich realistischere Beleuchtungsdarstellung massiv Leistung. Doch der Einfluss auf die Grafik ist nicht zu übersehen und so hat Nvidia bestätigt, dass man die Technik mit seinen Partnern intensiv vorantreiben will.
So wird Echtzeit-Raytracing nun ab Werk in die Unreal Engine und auch in Unity integriert. Microsoft wiederum will Raytracing ja über DirectX Ray Tracing (DXR) generell unter Windows etablieren. Nvidia wiederum hat erklärt, dass man Raytracing bald an älteren Grafikkarten ab der GeForce GTX 1060 mit mindestens 6 GByte VRAM unterstützt. Ob die Leistung da für eine ruckelfreie Darstellung ausreicht, sei dahingestellt, aber bei Gaming-Rechnern mit mehreren Grafikkarten im Verbund profitiert vielleicht der ein oder andere davon.
Nvidia prognostiziert, dass das Echtzeit-Raytracing die Grafik in Spielen ähnlich stark verändern werde, wie die Einführung progammierbarer Shader vor rund 15 Jahren. Die direkte Unterstützung von Raytracing in den Spiele-Engines sei nun ein wichtiger Schritt für die Industrie. Anmerkung meinerseits: Es gibt aktuell auch viele Gerüchte um die PlayStation 5 und die nächste Xbox, welche ebenfalls für Raytracing gerüstet sein sollen. Deswegen ergibt das zunehmende Engagement der Engine-Entwickler in dieser Richtung durchaus Sinn. Denn sowohl die Unreal Engine als auch Unity sind Multiplattform-Tools.
Eingebunden ist Raytracing nun ab der Unreal Engine 4.22, die es aktuell bereits als Preview gibt. Ab dem 4. April will Unity nachziehen. Auch hier hält man schon vorab aber eine experimentelle Version (2019.03) bereit. Andere Entwickler und Engines, die Raytracing bereits unterstützen, sind DICE mit der Frostbite Engine, Remedy Entertainment mit der Northlight Engine und auch die Engines von Crystal Dynamics, Kingsoft oder z. B. Netease.
Laut Beobachtern der Industrie sei es bereits absehbar, dass in naher Zukunft alle Triple-A-Titel Raytracing als Option unterstützen werden. Darauf deutet natürlich auch die nachträgliche Unterstützung der GTX-Grafikkarten hin. Nvidia will damit schon jetzt die Riege der Nutzer erweitern, die das Feature austesten können. Die Unterstützung soll über einen neuen GeForce-Treiber erfolgen, der wohl im April erscheint. Dann soll Raytracing auch an jenen GPUs möglich sein – bei allen Spielen die Microsoft DXR bzw. Vulkan als API verwenden.
Trotzdem betont Nvidia, dass die neueren RTX-Modelle weiterhin die bessere Leistung bieten werden. Denn bei ihnen sind bereits dedizierte Cores zur Berechnung vorhanden. Auf der aktuell laufenden GDC sind dabei auch viele neue Raytracing-Demos zu sehen. Dazu zählt beispielsweise „Control“ von Remedy Entertainment. Aber auch „Quake II RTX“ hört sich spannend an und zeigt, wie das alte Spiel aus dem Jahr 1997 mit dem neuen Feature wirkt.
Ich selbst zocke mittlerweile nur noch an Konsolen, so dass ich erst ab der nächsten Generation wirklich bei Raytracing mitreden kann. Die Entwicklung der Technik verfolge ich aber natürlich schon seit Jahren und finde auch die Implementierung in beispielsweise „Battlefield V“ sehr beeindruckend. Wie geht es euch da?
Ich spiele nur noch wenig, entweder RPGs oder Strategiespiele. Raytracing fasziniert mich trotzdem, da ich raytracing als Hobby betreibe, mit Daz3d und dem nVidia IRay-renderer, der direkt auf die nVidia cudacores zurück greifen kann. Das hat die Rechengeschwindigkeit etwa verzehnfacht gegenüber CPU-Rendering. Außerdem ist Raytracing standard bei CGI-Effekten, die Entwicklung hier ist durchaus spannend, Raytracing war bisher High-Power-Computing Anwendern vorbehalten, man sieht das an den Profikarten von nVidia, unter 3-4 tsd. Euro ist da nichts zu machen. Das man diesen Standard jetzt endlich in game engines einführen will, hat viele Vorteile und einige Nachteile.
Vorteile sind die eher an physikalischer Echtheit orientierte Darstellung und für die Programmierer weniger Aufwand fürs Level-Design. Die Biased Renderengines arbeiten mit allerlei Tricks, um die Umgebung echt aussehen zu lassen, das erfordert viel Detailarbeit um Rechenleistung zu sparen. Hat man einmal eine raytracing engine implementiert, gibt man nur noch die Oberflächenshader und Lichtquellen ein. Der Rest wird dann photorealistisch berechnet.
Nachteil ist die benötigte Rechenleistung, also teurere GPUs. Das scheint mir der Hintergrund für nVidia zu sein, Raytracing vom Profi- in den Consumerbereich zu drücken. Das ist ein Fass ohne Boden, je mehr Rechenleistung, desto höher der Realismus. Die meisten Spieler nutzen ja noch HD als Auflösung, da reichen die GPUs der letzten Generation schon für maximale Details. Raytracing soll hier sicher den Anreiz schaffen, auf zu rüsten. Also mehr Realismus statt immer höhere Auflösungen.
Vielleicht werde ich mir eine rtx 2060 kaufen um ein wenig die Features zu testen, die rtx 2070 oder 2080 haben mir für den Preis zu wenig VRAM, da warte ich lieber auf die nächste Generation von nVidia.
Wie die Zeiten sich ändern…
Zu Amiga-Zeiten hat man auf *ein* einfaches 320×240 Pixel Bild in Cinema4D (ja, das gibt es immer noch :)) viele Stunden gewartet – jetzt gibt es sowas in Echtzeit mit vielen Bilder pro Sekunde, vielfacher Auflösung, ungleich mehr Objekten und interaktiv. Schon irre…