Deine Daten. Deine Wahl.

Wenn du nur das Nötigste wählst, erfassen wir mit Cookies und ähnlichen Technologien Informationen zu deinem Gerät und deinem Nutzungsverhalten auf unserer Website. Diese brauchen wir, um dir bspw. ein sicheres Login und Basisfunktionen wie den Warenkorb zu ermöglichen.

Wenn du allem zustimmst, können wir diese Daten darüber hinaus nutzen, um dir personalisierte Angebote zu zeigen, unsere Webseite zu verbessern und gezielte Werbung auf unseren und anderen Webseiten oder Apps anzuzeigen. Dazu können bestimmte Daten auch an Dritte und Werbepartner weitergegeben werden.

Ratgeber

Raytracing – die nächste Grafikrevolution?

Kevin Hofer
21.8.2018

Nvidia selbst nennt es den grössten Grafiksprung seit Einführung der CUDA-Architektur: Raytracing. Die neue RTX-Grafikkartenserie des Chipherstellers soll erstmals Echtzeit-Raytracing für Otto-Normal-Verbraucher ermöglichen. Was steckt hinter dem schönklingenden Begriff Raytracing und was bedeutet das für dich als Gamer?

Raytracing erzeugt realistische Lichteffekte. Damit sollen Games noch fotorealistischer werden. Microsoft hat eine neue DirectX Raytracing (DXR) API entwickelt und Epic Games wird den Unreal Engine-Entwicklern noch in diesem Jahr Echtzeit Raytracing zur Verfügung stellen. Alles scheint für die neue Grafikrevolution bereit zu sein.

Woher kommt Raytracing?

Wodurch unterscheidet sich Raytracing von Rasterization?

Raytracing zeichnet sich durch die realistische Modellierung einer physischen Umgebung, erfordert aber eine hohe Rechenleistung. Die Rasterung hingegen ist schneller und damit lassen sich viele verschiedene Algorithmen kombinieren. Die Ergebnisse sehen aber unter Umständen nicht so realistisch aus wie mit Raytracing.

Rasterization (Rasterung von Polygonen)

Weitere Algorithmen wie Shading oder Shadowmapping kommen dazu, um die endgültige Farbe eines Pixels zu erzeugen und dieses realer aussehen zu lassen.

Die Rasterung von Polygonen hat ihre Grenzen. Ein ausserhalb des Sichtfeld befindliches Objekt wird beispielsweise nicht berücksichtigt. Dieses Objekt könnte immer noch einen Schatten innerhalb der Szene werfen oder anders sichtbar sein. Einige dieser Effekte können mit zusätzlichen Algorithmen wie Shadowmapping erzeugt werden. Szenen werden aber nie so wie die Realität aussehen.

Das liegt daran, dass Rasterization nicht so funktioniert, wie wir sehen. Raytracing hingegen guckt bei der Natur ab.

Raytracing

Raytracing funktioniert genau umgekehrt wie wir sehen. Beim Sehen empfangen unsere Augen die Lichtstrahlen von Lichtquellen, die von den verschiedenen Objekten, von denen wir umgeben sind, reflektiert werden.

Beim Raytracing wirft die Rendering-Engine einen Lichtstrahl vom Sichtpunkt auf jedes Pixel. Der Sichtpunkt ist deine Perspektive auf das zweidimensionale Bild. Der Strahl dehnt sich in einer Halbgeraden aus, bis er ein dreidimensionales Element des zu rendernden Bilds schneidet. Dieser Schnittpunkt wird verwendet, um die Farbe des Pixels zu bestimmen.

Genaugenommen handelt es sich beim Raytracing-Rendering also um sogenanntes Backward Raytracing, da die Lichtstrahlen vom Sichtpunkt zu ihrer Quelle zurückverfolgt werden. Der ursprüngliche Algorithmus von Whitted basiert übrigens auf Forward Raytracing. Dieser ist für Renderaufgaben nicht geeignet, da zu viele unnötige Berechnungen durchgeführt würden.

Es geht aber noch weiter. Um eine noch realistischere Darstellung zu erreichen, müssen Reflexion und Brechung berücksichtigt werden. Das heisst; die Menge an Licht, die beim Auftreffen reflektiert wird, und die Menge an Licht, die das Material durchdringt. Auch hier werden Strahlen ausgesendet, um die endgültige Farbe des Pixels zu bestimmen.

Zusammengefasst werden beim Raytracing verschieden Typen von Lichtstrahlen eingesetzt. Die Primärstrahlen bestimmen die Sichtbarkeit. Die Sekundärstrahlen bestehen aus Schatten-, Reflexion- und Refraktionsstrahlen und dienen als Beleuchtungsmodell.

Wenn dir das Ganze etwas zu theoretisch war, kann ich dir dieses Tutorial empfehlen. In diesem wird dir in Videos zunächst die Theorie erklärt und dann kannst du das Gelernte üben.

Vorteile von Raytracing

Wie bereits erwähnt, lassen sich auch mit Rastergrafik relativ realistische Lichteffekte erzeugen. Mit Raytracing werden Reflexionen aber perfekt verwaltet, ohne komplizierte zusätzliche Algorithmen. Alles wird direkt vom Rendering-Algorithmus verarbeitet. Dasselbe gilt für Interreflexion, wie z.B. die Reflexion eines Seitenspiegels an der Karosserie eine Autos. Durch Rasterung ist dieser Effekt nur sehr schwer reproduzierbar.

Transparenzeffekte sind ein weiterer Vorteil von Raytracing. Der korrekte Umgang mit Transparenz ist mit Rastern äusserst schwierig, da die Berechnung der Transparenz von der Rendering-Reihenfolge abhängt. Um gute Ergebnisse zu erzielen, müssen transparente Polygone vor der Berechnung des Renderings vom entferntesten von der Kamera zum nahegelegensten sortiert werden.

In der Praxis wäre das aber viel zu rechenintensiv und Transparenzfehler sind immer noch möglich, da die Sortierung nach Polygonen und nicht nach Pixeln erfolgt. Das Raytracing kann Transparenzeffekte elegant verwalten.

Hinzu kommt die Berechnung von Schatten. Beim Rastern wird unter anderem auf Shadowmapping gesetzt. Dieses benötigt aber viel Speicherplatz und Aliasing ist ein Problem. Raytracing löst das ohne zusätzlichen Algorithmus.

Grafikrevolution oder Grafikevolution?

Und dieses Etwas könnte tatsächlich Raytracing sein. Die ersten Trailer zu Raytracing-Games sehen toll aus. Ich wähne mich in einem Animationsfilm, den ich selbst steuern kann. Aber sieh dir die Demos am besten selbst an.

Trotzdem sehen die Demos überwältigend aus und wir dürfen uns wohl tatsächlich über die nächste Grafikrevolution freuen.

Die neuen Grafikkarten bei digitec

RTX 2080 Ti

RTX 2080

25 Personen gefällt dieser Artikel


User Avatar
User Avatar

Technologie und Gesellschaft faszinieren mich. Die beiden zu kombinieren und aus unterschiedlichen Blickwinkeln zu betrachten, ist meine Leidenschaft.


Ratgeber

Praktische Lösungen für alltägliche Fragen zu Technik, Haushaltstricks und vieles mehr.

Alle anzeigen