War Thunder background
Ray-Tracing in War Thunder!

Mit dem Update „Firebirds“ bietet War Thunder die Unterstützung für Ray-Tracing (RT) und ist in der Lage, verschiedene RT-basierte visuelle Effekte, wie Schatten, Umgebungsverdeckung und Reflexionen zu erzeugen. Im heutigen Blog werden wir einen genaueren Blick auf die Einzelheiten werfen!

Wie funktioniert es?

Damit RT verwendet werden kann, müssen wir eine sogenannte „Begrenzungsvolumenhierarchie“ (BVH) erstellen und pflegen. BVH ist eine triangulierte Darstellung der gesamten Welt, auf der alle RT-Effekte basieren. Viele Spiele sparen bei der Frage, was in die BVH einbezogen werden soll und wie hoch die Detailtreue ist. Sie verwenden beispielsweise nur weniger detaillierte Modelle und entfernen alles, was sich in relativ geringer Entfernung befindet. Aber das hat seinen Preis. Mit einem solchen Ansatz ist es möglich, genaue Schatten zu erzeugen.

Bei War Thunder haben wir uns für das volle Programm entschieden, damit wir langfristig eine breitere Palette von Effekten einsetzen können. In War Thunder ist fast das gesamte Schlachtfeld für RT-Effekte in der gleichen Detailgenauigkeit zugänglich, in der auch das Spiel gerendert wird, sodass alle diese Effekte physikalisch korrekt und genau sein können.

image

Dies hat seinen Preis, da der BVH-Erstellungsprozess so viele CPU-Threads wie möglich in Anspruch nimmt, weshalb eine moderne CPU empfohlen wird.

Jetzt, wo das BVH fertig ist, können wir damit beginnen, jetzt können wir mit dem Ray Tracing beginnen und damit verschiedene Effekte erzielen. Zu Beginn stehen uns drei Methoden zur Verfügung.

Screenshot on the right is without the new RT effects

Screenshot on the left is with the new RT effects

Ray-Traced-Shadow-Map (RTSM)

Dies ersetzt die texturbasierte Schattenabbildung und zeichnet stattdessen Strahlen von jedem Punkt auf dem Bildschirm auf die Oberfläche der Sonne. Da die gesamte Oberfläche der Sonne und nicht nur der Mittelpunkt verwendet wird, erhalten die Schatten einen physikalisch korrekten Halbschatten, der von der Entfernung des Schattenwurfs abhängt, wie man es erwarten würde.

Das Ergebnis sind physikalisch korrekte und pixelgenaue Schatten von der Sonne ausgehend.

Auf High-End- Grafikkarten könnt ihr auch Schatten von dynamischen Lichtern ausprobieren. Es ermöglicht harte, pixelgenaue Schatten von allen dynamischen Lichtern, wie Explosionen, Mündungsfeuer und dergleichen. Dies ist eine sehr anspruchsvolle Funktion, die für High-End- Grafikkarten gedacht ist.

Ray-Traced-Ambient-Occlusion (RTAO)

Ambient-Occlusion (Umgebungsverdeckung) ist eine Technik, die verwendet wird, um Objektmerkmale zu simulieren, die das Umgebungslicht blockieren, wie z. B. den Himmel selbst - eine Art Umgebungsschatten. Deshalb ist es unter Ihrem Bett dunkler.

Traditionell tun wir dies mit Screen-Space-Techniken wie SSAO oder GTAO. RTAO ist eine Version des Ray-Tracing-Version dieser Screen-Space-Techniken und kann Fehler korrigieren, die für Screen-Space-Techniken typisch sind, z. B. wenn etwas Umgebungsschatten außerhalb des Bildschirms wirft. Screen-Space-Techniken können damit nicht umgehen, aber RTAO kann das. Ähnlich verhält es sich, wenn etwas Umgebungsschatten wirft, das von einem anderen Objekt verdeckt wird. Normalerweise sieht man in diesen Fällen Schatten, wo sie nicht sein sollten, oder umgekehrt. RTAO behebt all diese Probleme.

Ray-Traced-Reflecion (RTR)

Dies ist das komplexeste Feature. Bei RTSM und RTAO geht es eigentlich nur um Schatten, aber bei RTR visualisieren wir die Begrenzungsvolumenhierarchie (BVH) selbst. In einem Spiegel sieht man im Grunde, was BVH ist, und wir arbeiten hart daran, dass es dem gerenderten Bild so nahe wie möglich kommt.

Auch schon vor RTR gab es im Spiel Reflexionen. Es wurden sonden- und bildschirmbasierte Reflexionen verwendet, aber genau wie bei SSAO haben diese ihre Grenzen. Sie sind sogar sehr ähnlich. Die Handhabung von Objekten, die sich außerhalb des Bildschirms befinden oder verdeckt sind, und Positionierungsprobleme mit Sonden. RTR hat die gesamte Szene zum Nachverfolgen und kann daher natürlich Objekte von jedem Ort aus reflektieren.

Es gibt noch eine weitere Problematik für RTR, nämlich die Oberflächenrauhigkeit. Eine raue Oberfläche wie Beton hat Reflexionen, die sehr weich und unscharf sind, während glänzende Oberflächen wie Glas oder flaches Wasser spiegelnde, scharfe Reflexionen haben. Außerdem gibt es alles, was dazwischen liegt. Dies zu simulieren ist derzeit eines der heißesten Themen in der Computergrafik.

Unser Ansatz besteht darin, verrauschte Reflexionen auf der Grundlage der Rauheit zu rendern und einen sogenannten Denoiser zu verwenden, um physikalisch korrekte Reflexionen zu erhalten.

Dieser Effekt ist manchmal offensichtlich, wie im Fall der spiegelnden Reflexionen.

In anderen Fällen ist es weniger offensichtlich, was das gerenderte Bild aber einfach korrekter macht und es natürlicher aussieht. Wenn ihr euch diese Aufnahmen anschaut, schaut euch die Betonplatten auf dem Boden an. Auf dem Bild ohne RT haben sie einen Blaustich, da das Gebäude, das den Himmel von der Reflexion abschirmen sollte, nicht auf dem Bildschirm zu sehen ist, so dass die Bildschirmtechnik nicht wissen kann, dass der Himmel abgeschirmt werden sollte. In der RT-Version ist dieser Blaustich verschwunden, da die BVH das Gebäude erkennt, unabhängig davon, ob es auf dem Bildschirm ist oder nicht, und den Himmel korrekt blockiert.

Auch hier behebt RTR die Probleme, die der traditionelle Screen-Space- und sondenbasierte Reflexionen haben.

Eine weitere Unterfunktion von RTR sind Reflexionen auf durchsichtigen Glasflächen. Auf diesen Glasoberflächen kann man nun ein genaueres Spiegelbild der Welt sehen, als bisher mit einer Sonde. Das Ergebnis sind wieder genaue Spiegelungen.

Ein weiteres Untermerkmal sind schließlich Reflexionen auf dem Wasser.

Unsere Wasserreflexionen verwenden im Spiel planare Reflexionen, was eine sehr akkurate Methode ist, um Reflexionen zu erzeugen, dann werden sie basierend auf den Wellen verzerrt. Bei RTR-Wasser werden die Strahlen der Reflexion korrekt auf der Grundlage der Normalenvektoren der Wellen reflektiert. Die Reflexion selbst ist einfach korrekter, da sie nicht nur ein 2D-Bild verzerrt, sondern tatsächlich verschiedene Reflexionen pro Pixel verwendet.

Der Unterschied ist manchmal größer, manchmal kleiner.

Ray-Tracing-Performance

Ray Tracing ist sehr fordernd, aber es gibt viele Skalierungsoptionen, um es flüssiger zu machen.

Zunächst einmal können alle drei Optionen unabhängig voneinander aktiviert/deaktiviert werden, was bedeutet, dass ihr nur den Effekt nutzen könnt, der euch am wichtigsten ist, wenn ihr eine ältere RT-fähige GPU habt.

Dann gibt es noch die Qualitätsstufen. Im Allgemeinen ist RTSM mit dynamischen Lichtern etwas für die neuesten High-End-GPUs. Normalerweise ist es nicht viel aufwendiger als nur Sonnenschatten, aber mitten in der Action mit vielen Bränden und Explosionen kann es sehr fordernd werden.

Bei RTAO bedeutet die niedrige Qualität, dass für die Berechnungen eine geringere interne Auflösung verwendet wird. Dies ist jedoch die gleiche Auflösung wie bei den Screen-Space-Techniken, aber ohne die Screen-Space-Fehler. Bei mittlerer Qualität erhalten Sie eine höhere Auflösung und eine bessere Rauschunterdrückung. Dies ist wirklich nur unter bestimmten Umständen sichtbar, aber wir wollten euch die Kontrolle darüber geben.

Für RTR ist "niedrig" ein guter Kompromiss. Es fehlen die RT-Schatten bei Reflexionen, was die Leistung erheblich verbessert. "Mittel" hat RT-Schatten in Reflexionen. Sowohl "niedrig" als auch "mittel" verwenden ein sogenanntes Checkerboard-Rendering, um die Leistung zu verdoppeln, indem nur halb so viele Strahlen verfolgt werden. Hoch deaktiviert dieses Checkerboard-Rendering, aber der Denoiser leistet gute Arbeit, um das Schachbrettmuster zu verbergen, so dass der Unterschied gering ist. Auch hier liegt die Entscheidung bei euch.

RTR verfügt auch über eine Steuerung zum Rendern bei voller oder halber Auflösung, sowohl für Wasser als auch für normale Oberflächen. Der Unterschied ist vor allem bei Spiegelungen sichtbar und sieht auch bei halber Auflösung gut aus, selbst wenn ihr keine leistungsstarke Grafikkarte habt.

Zudem können die RTR-Reflexionen auf durchsichtigem Glas auch RT-Reflexionen innerhalb der Reflexionen auf "hoch" oder nicht auf "mittel" haben. Dies wirkt sich in der Regel leicht auf die Leistung aus, da diese Oberflächen im Spiel nicht sehr häufig vorkommen.

Für eine optimierte Einstellung, bei der ihr einen guten Kompromiss zwischen Leistung und Bildqualität erzielen wollt, rate wir, die mittlere Ray-Tracing-Voreinstellung zu nutzen. Eine noch höhere Einstellung verbessert die Qualität der Effekte, allerdings zu größeren Leistungseinbußen. Aber wenn ihr den neuesten Spitzen-Grafikprozessor habt, solltet ihr ihn nutzen! :)

Bei der Verwendung von RT-Effekten empfehlen wir die Verwendung einer Anti-Aliasing-Upscaling-Methode mit einer für eure Grafikkarte geeigneten Voreinstellung. Wie DLSS, FSR, XeSS oder unser TSR. Mit diesen Upscalern könnt ihr eine hervorragende Leistung und Bildqualität erzielen. Ausgewogene Voreinstellungen sind in der Regel ein guter Mittelweg für Raytracing, aber auf einer älteren Grafikkarte ist es nicht verkehrt, die ”Leistungs”-Voreinstellung zu wählen, wenn ihr die RT-Vorteile nutzen möchtet.

Wir sind nicht nur entschlossen, in Zukunft weitere RT-Funktionen hinzuzufügen, sondern auch die Leistung der bereits vorhandenen zu verbessern, also bleibt für zukünftige Updates dran.

Zum Start werden RT-Effekte auf NVidia-Grafikkarten unterstützt. Diese auf AMD- und Intel-Grafikkarten zum Laufen zu bringen, ist eine Priorität für uns. In unseren internen Builds funktioniert es schon, ist aber noch nicht bereit für die Veröffentlichung, da wir noch einige Probleme mit diesen Grafikprozessoren ausbügeln müssen. Es sollte bald fertig sein, zusammen mit der für die aktuelle Konsolengeneration.

Mehr lesen:
M44: Großkalibrige Bulldogge
  • 11 Dezember 2024
Kampfgruppenflugzeug: Su-33
  • 10 Dezember 2024
Neuer Schauplatz: Attika!
  • 9 Dezember 2024
La Galissonnière: Harmonie der Qualitäten
  • 9 Dezember 2024

Kommentare (2)

Kommentieren ist nicht mehr möglich