Categories: Sonstiges

Echtzeit Raytracing: Wie ist der aktuelle Stand der Dinge?

Entscheidend bei der Simulation der realistischen physikalischen Eigenschaften von Licht, während es sich durch virtuelle Umgebungen und Objekte bewegt und mit ihnen interagiert, ist das Raytracing, das zur Renderzeit, insbesondere bei komplexen Bildern, umständlich werden kann. Eine enorme technische und kreative Anstrengung wurde von Firmen wie NVIDIA, Unity Technologies, Chaos Group, Epic Games und The Future Group unternommen um die Pixel, die die Lichtwege darstellen, in Echtzeit übersetzen zu können.

Natalya Tatarchuk, Vizepräsidentin von Global Graphics bei Unity Technologies, hat einen Master-Abschluss in Informatik der Harvard University mit Schwerpunkt Computergrafik. „Ein grafischer Hintergrund ist der Schlüssel, um die technologischen Anforderungen an Unity-Grafiken zu verstehen, damit wir mit unseren Kunden tief in Kontakt treten können, um zu verstehen, wie sie ihre Unterhaltung gestalten wollen und welche Funktionen und Features sie benötigen„, so Tatarchuk.

Das Echtzeit-Raytracing sei nicht auf Videospiele beschränkt, fügt sie hinzu. „Das Echtzeit-Raytracing kommt jeder kreativen Vision zugute, bei der eine maximale Qualität von Oberflächen oder Beleuchtung erforderlich ist. Mit der hybriden Raytracing-Pipeline, die wir in der High Definition Render Pipeline (HDRP) anbieten, können Sie mit Sicherheit das Aussehen von Videospielen verbessern, indem Sie je nach Bedarf den qualitativ hochwertigsten Effekt mit der höchsten Leistung auswählen, z.B. Flächenlichter und -schatten mit Raytracing in hoher Qualität rendern, aber für regelmäßige Durchläufe mit undurchsichtigem Material die Rasterung verwenden. Mit unserer High Definition Render Pipeline Real-Time Ray Tracing (HDRP RTRT) können in architektonischen oder industriellen Szenarien eine unglaublich naturgetreue Beleuchtung und fotorealistische Oberflächenreaktion erzeugt werden. Sie können auch stilisierte Filme in Pixar-Qualität oder fotorealistische Kinofilme oder Fernsehsendungen mit wunderschönem Bildmaterial und die genauesten medizinischen Visualisierungen mit Ray Tracing in Echtzeit rendern.

Die Kollegen der Chaos Group, Lon Grohs, Global Head of Creative, und Phillip Miller, Vice President of Project Management, haben nicht nur beide Architektur studiert, sondern haben auch den selben Abschluss von der Universität von Illinois in Urbana-Champaign. Das Duo ist begeistert von den Aussichten für das Projekt Lavina, bei dem es sich um ein Softwareprogramm handelt, mit dem V-Ray-Szenen in einer vollständig ray-traced und in Echtzeit erforscht und verändert werden können. „Es ist definitiv ein härterer Weg, den man auf jeden Fall einschlagen muss und der mit Landminen gefüllt ist, wie das unheimliche Tal„, räumt Grohs ein. „Es gibt eine wachsende Nachfrage nach Realismus, weil wir zu einem scharfsinnigeren Publikum geworden sind.

Ein weiteres Element müsse berücksichtigt werden, stellt Miller fest. „Es gibt auch das Problem, dass in Echtzeit so viel gebakt wird, dass die Dinge ungenau sind. Auch das stört die Menschen.Ein rationalisierter Arbeitsablauf ist wichtig. „Hier sind zwei große Dinge am Werk“, fügt Miller hinzu. „Da ist zum einen die resultierende Bildsprache und zum anderen der Weg dorthin. Vor allem bei Designern fällt es uns so viel leichter, bei der reinen Raytracing-Methode zu bleiben, weil sie ihre Originaldaten oder ihr Design nehmen und sie einfach verschieben können. Wenn Sie physisch arbeiten, was bei den meisten Designern der Fall ist, brauchen Sie nur die Lichter dort anzubringen, wo sie sein sollen, die richtigen Materialien zu verwenden und schon erhalten Sie das echte Ergebnis. Das ist für die Leute viel einfacher zu verstehen, als darüber nachzudenken: ‚Welche Computergrafik brauche ich, um ein bestimmtes Aussehen oder eine bestimmte Leistung zu erzielen?

Juan Cañada, Ray Tracing Lead Engineer bei Epic Games, studierte Maschinenbau an der Universidad Carlos III in Madrid. „Meine Studien gaben mir einen Hintergrund in Mathematik und Simulation von physikalischen Phänomenen, der sich als sehr wertvoll erwiesen hat„, sagt er. „Die Echtzeitsuche nach Raytracing ist selbst bei ständig wachsenden kreativen Anforderungen an die Bildsprache praktisch. Es stellt sich die Frage, ob die traditionellen Pipelines zur Erstellung digitaler Inhalte, die auf Offline-Techniken basieren, angesichts der Kosten, der Iterationszeiten und der mangelnden Flexibilität immer noch eine praktische Herausforderung darstellen. Echtzeittechniken sind nicht die Zukunft, sondern die Gegenwart„.

Unreal Engine steuert die Echtzeittechnologie für epische Spiele. „Die Raytracing-Technologie von Unreal Engine wurde auf unterbrechungsfreie Weise entwickelt, so dass Benutzer schnell von Raster- zu Raytracing und umgekehrt wechseln können, ohne gezwungen zu sein, Dinge wie das Ändern von Shader-Modellen zu tun oder Zeit für Projekteinstellungen aufzuwenden, um die Dinge richtig aussehen zu lassen„, erklärt Miller. „Vom allgemeinen Standpunkt aus betrachtet, wäre der Arbeitsablauf immer noch derselbe. Die Raytracing-Technik ermöglicht es den Kreativen jedoch, Szenen intuitiv und näher daran zu beleuchten, wie sie die Dinge in der realen Welt beleuchten würden. Außerdem sind Ray-Tracing-Systeme in der Regel einfacher zu verwenden. Das Raytracing ermöglicht es, sich mehr auf die künstlerische Seite der Dinge zu konzentrieren und weniger auf das Erlernen technischer Aspekte von Algorithmen, die schwer zu kontrollieren sind“.

Unity ermöglicht es den Erstellern, benutzerdefinierte Raytracing-LOD für Materialien einzurichten, so dass die effektivste Berechnung erfolgen kann. „Wir verwenden einfach ihre regulären Materialien, wenn Echtzeit-Reflexionen mit Echtzeit-Raytracing aktiviert sind und greifen auf Bildschirm-Reflexionen zurück, wenn diese nicht verfügbar sind„, bemerkt Tatarchuk. „Bei Unity ist das Echtzeit-Raytracing Teil des HDRP und wir bieten dieselben vereinheitlichten Arbeitsabläufe wie für alles in dieser Pipeline.

Eine Schlüsselkomponente ist der Einsatz der Ray-Binning-Technologie. „Durch das Zusammenfassen von Richtungen an derselben räumlichen Position für die Strahlen, die wir aufnehmen, können wir die Leistung für die Strahlenberechnungen auf dem Grafikprozessor optimieren„, so Tatarchuk. „Wir tun dies durch Binning nach der Richtung der Strahlen im oktaedrischen Richtungsraum. Dies mag bei Offline-Renderern üblich sein, aber diese Methode auf die GPU-Architektur zu übertragen, war eine große Errungenschaft für die Optimierung in Echtzeit, bei der wir die Vorteile der modernen GPU-Compute-Pipeline mit atomarer Ausführung für eine schnelle Leistung nutzten„. Der Schwerpunkt wurde darauf gelegt, nur die Strahlen zu schießen, die benötigt wurden. „Konkret haben wir Techniken zur Varianzreduzierung eingesetzt, um die Beleuchtung für die Strahlrichtungen besser beurteilen zu können. Wir reduzierten die Varianz mit analytischen Näherungs- und Vorberechnungsdurchläufen, um die Leistung zu verbessern. Es ist wichtig zu versuchen, die Varianz dessen zu reduzieren, was auch immer Sie während der Raytracing-Berechnungen integrieren. Sie können Wichtigkeitsstichproben, konsistente Estimator oder sogar verzerrte Estimator verwenden, wenn Sie darauf achten, Ihr Ergebnis mit einer Referenz zu vergleichen„.

Das Projekt Lavina bricht mit der Tradition der Rastergrafik. „Das ist etwas ganz anderes, wenn sich die Leute den Kopf zerbrechen„, erklärt Grohs, „denn wir sind so daran gewöhnt, diese Raster-Kompromisse zu haben, bei denen man bestimmte Geometrie- oder Shader-Einschränkungen hat„. Das Projekt Lavina ist so konzipiert, dass es die Vorteile der neuen Raytracing-Hardware nutzen kann. „Das Schwierigste auf der Welt ist es, etwas einfach zu machen„, bemerkt Miller. „Das Projekt Lavina ist ein zentraler Treffpunkt für Menschen, die ihre Projekte unabhängig von dem Werkzeug, mit dem sie gemacht wurden, miteinander teilen können. Unser Ziel ist, wenn Sie ein 3D-Spiel spielen können, sollten Sie Project Lavina benutzen können. Wir fügen Funktionalität hinzu, wobei die Maßnahme lautet: ‚Wie einfach können wir es machen? Das ist der Kerngedanke hinter Echtzeit„. Das Denoinsing läuft in DirectX. „Das Denoinsing ist eine Hassliebe„, bemerkt Miller. „Es ist seidenweich, wenn man sich bewegt, aber sobald man aufhört, möchte man alle Details sehen. Eine Sache, die wir sicherstellen wollten, bevor wir zur allgemeinen Betaversion übergingen, war die Überblendung von der Rauschunterdrückung zum eigentlichen Endergebnis. Das ist jetzt drin. Die Menschen werden das Beste aus beiden Welten genießen können, ohne sich entscheiden zu müssen. Es ist sehr sauber.

Die erste Phase unserer Implementierung des Echtzeit-Raytracing konzentrierte sich auf die grundlegende Architektur und die erforderliche Funktionalität„, bemerkt Cañada. „Diese Technologie wurde vor fast einem Jahr als Beta-Version in Unreal Engine 4.22 veröffentlicht. Seitdem haben wir den Schwerpunkt verlagert, um uns mehr auf Stabilität und Leistung zu konzentrieren. Wir haben gerade UE 4.24 veröffentlicht, wo viele Raytracing-Effekte zwei- bis dreimal schneller sind als in früheren Versionen. Natürlich sind wir noch nicht fertig. Das Know-how unter den Ingenieuren von Epic ist überwältigend und wir haben viele Ideen, die wir ausprobieren können und die sicherlich mit jeder neuen Version zu einer höheren Leistung führen werden.

Für das Echtzeit-Raytracing in Unreal Engine ist eine NVIDIA-Grafikkarte erforderlich, die mit DXR kompatibel ist. „Wenn andere Hardwaresysteme weitere Unterstützung für Echtzeit-Raytracing implementieren, werden wir hart daran arbeiten, sie mit Unreal Engine kompatibel zu machen„, erklärt Cañada. Die Kompatibilität mit anderen Softwareprogrammen und Plug-Ins ist Teil des Workflows. „Unreal Engine bietet ein Plug-in-Framework, daher ist dies bereits möglich. Viele der jüngsten internen Entwicklungen bei Epic nutzen dieses System. Darüber hinaus ist der gesamte Code der Unreal Engine auf GitHub verfügbar, so dass jeder sie modifizieren kann, um sie mit Anwendungen von Drittanbietern kompatibel zu machen.

Fallstudien sind ein integraler Bestandteil der Forschung und Entwicklung. „Wir haben uns gefragt, wie schnell ein Künstler aus seinen KitBash3D-Modellen Sets zusammenstellen und extrem komplexe Bilder, fast zwei Milliarden Polygone, erzeugen kann, ohne an Details zu sparen oder diese zu optimieren, und ob wir das schaffen können„, erklärt Grohs. „Evan Butler, ein Künstler bei Blizzard Entertainment, stellte eine 3ds Max-Szene zusammen. Es gibt Szenen, die sich in einem futuristischen Utopia, Neo-Tokio, und einem Dock abspielen. Sie wurden KitBash’d zusammengefügt und als V-Ray-Szenendatei exportiert. Wir befanden uns in Lavina und bewegten uns in Echtzeit allein durch Drag-and-Drop, was fantastisch war„. Miller fügt hinzu: „Das Wichtigste hier ist, dass Sie diese Ebene der Geometrie innerhalb des Erstellungswerkzeugs nicht handhaben können, aber mit Lavina erhalten Sie sie in Echtzeit. Ein weiteres Experiment hieß Construct. Kevin Margo, der damals bei den Blur Studios war und jetzt bei NVIDIA arbeitet, hatte immer die Idee, die virtuelle Produktion auf die nächste Stufe zu heben„, erklärt Grohs. „Wir haben einen ganzen Cluster von GPU-Servern und V-Ray-GPUs verwendet und versucht, Motion Capture in Echtzeit zu erreichen. Wir taten dies und konnten es in MotionBuilder einsetzen und kamen einer Raytracing-Ansicht mit 24 Bildern pro Sekunde nahe. Es hatte nicht die Rauschunterdrückung und Geschwindigkeit, die wir jetzt haben„.

Das Echtzeit-Raytracing ist ein grundlegender Wandel in der Computergrafik. „Um die Dinge jetzt in eine Spiele-Engine zu bekommen, gibt es eine ganze Reihe von Schritten und Verfahren, die die Leute anwenden müssen„, bemerkt Grohs. „Eine davon ist die Anwendung von Dingen wie UV-Wrapping und UV-Maps über alle Kanäle hinweg. Eine andere ist die Optimierung der Geometrie und ihre Dezimierung, so dass sie in das Budget für Polygonzählungen passt. Die Leute können Tage, wenn nicht Wochen damit verbringen, Dinge in ihre favorisierte Game-Engine zu bringen. Ein Echtzeit-Raytracer wie Lavina hingegen kann riesige Szenen durchkauen und Sie brauchen kein UV-Unwrapping oder andere Zwischenschritte. Es ist buchstäblich ein Drag-and-Drop-Prozess„.

Tatartschuk sieht Game-Engines, die sich der technologischen Herausforderung stellen. „Mit den Anforderungen der Orchestrierung einer dynamisch lastbalancierten Multi-Threaded-Ausführung in Echtzeit, bei der die gesamte verfügbare Hardware auf Nanosekunden genau ausgenutzt wird, führen moderne Game-Engines eine hohe Anzahl komplexer Berechnungen aus. Ich glaube, dass Game-Engines das richtige Vehikel für alle Ambitionen im Bereich der Echtzeiterfahrungen sind und auch weiterhin sein werden, da sie auf der richtigen Achse für diesen Bereich innovieren.

Unser Ziel war es, den Benutzer nicht zu zwingen, unterschiedlichen Arbeitsabläufen für Raster- und Raytracing zu folgen„, erklärt Cañada. „Die Benutzer sollten in der Lage sein, die Raytracing-Methode schnell zu übernehmen, ohne viel Zeit in das Erlernen neuer Methoden investieren zu müssen. Wir sind stolz auf unsere bisherigen Errungenschaften, aber das bedeutet natürlich nicht, dass wir hier fertig sind. Die Aufrechterhaltung der Benutzerfreundlichkeit bei gleichzeitigem Hinzufügen neuer Funktionen ist ein Schlüsselziel für alle Beteiligten. Es ist wichtig, dass das System Rendering, Denoinsing und Raytracing ohne Absturz unterstützen kann. Großartige Engineering-, Produktions- und QA-Teams sind der Grund dafür, dass all diese Komponenten nahtlos zusammenarbeiten. Die Unterstützung von NVIDIA war ebenfalls erstaunlich, mit unglaublicher Grafikhardware sowie soliden DXR-Spezifikationen und Treibern für neue Technologien.

Maschinelles Lernen ist integraler Bestandteil der Zukunft des Echtzeit-Raytracing. „In gewisser Weise„, so Cañada, „sind Techniken, die das Reinforcement Learning nutzen, in der Grafik schon seit langem beliebt. Einige dieser Techniken, wie z.B. DLSS, sind bereits für Echtzeitgrafiken geeignet, andere werden es bald sein. Das maschinelle Lernen wird ein wichtiger Bestandteil des Werkzeugsatzes der Echtzeit-Rendering-Ingenieure werden„, so Cañada. Die Technologie entwickelt sich ständig weiter. „Die Darstellung eines Waldes mit Hunderttausenden von Bäumen, mit Millionen von Blättern, die vom Wind bewegt werden, ist eine große Herausforderung, die mehr Forschung über die Schaffung und den Umbau von Beschleunigungsstrukturen erfordern wird. Darüber hinaus wird die Lösung komplexer Lichttransportphänomene, wie z.B. Kaustik oder glänzende Zwischenreflexionen, neue und erfinderische Techniken erfordern.

Was die visuellen Effekte betrifft, so ist das Echtzeit-Raytracing bei der Vorschau und beim Blocken von Aufnahmen zu finden. „Der größte Bereich bei den visuellen Effekten ist die virtuelle Produktion, wo man die Offline- und Echtzeit-Rendering-Pipelines so früh wie möglich zusammenführen möchte„, bemerkt Grohs. „Einer der Vorteile von Lavina besteht darin, dass man mit dem Raytracing eine Echtzeit-Ansicht der Produktionsanlage in den meisten Fällen erhalten kann. Die Herausforderung besteht darin, dass es vom Standpunkt der visuellen Effekte aus gesehen Werkzeuge gibt, die sie für die Live-Motion-Capture und einige andere Dinge suchen, für die wir noch mehr Hausaufgaben machen müssen, um das zu erreichen„.

Die Anwendungsmöglichkeiten der Technologie sind nach Ansicht der Experten unbegrenzt. „Sie ist schnell genug, um für die schnellste Iteration und Vorschau, als Explorationswerkzeug oder als Teil der virtuellen Kinematographie-Pipeline eingesetzt zu werden„, bemerkt Tatartschuk. „Es ist von hoher Qualität, dass alle anspruchsvollen Endbilder gut ankommen werden, wenn sie mit ihm gerendert werden. Unsere Aufgabe ist es, die beste Technologie zu liefern und anschließend liegt es am Ersteller des Bildes, die Vision zu entwickeln, wie man sie anwendet. Es war wirklich eine inspirierende Reise, um zu sehen, was Menschen auf der ganzen Welt mit dieser Technologie bereits erreichen konnten und sie steht erst am Anfang dessen, was damit noch alles realisierbar werden kann„.

Vielen Dank für Ihren Besuch.

3DMaster