Raytracing in Spielen II: Das Reich der Strahlen macht Fortschritte

 6/8
Daniel Pohl
117 Kommentare

Spiegelungen

Besseres Gameplay durch Spiegelungen um Gegner frühzeitig zu erkennen

Aus Sicherheitsgründen ist es mittlerweile üblich, Spiegel an Wänden in Ecken von Gebäuden anzubringen, damit Leute nicht ineinander rennen, wenn sie es gerade eilig haben (z.B. zum Mittagessen zu kommen.) Genau so würden hart gesottene 3D-Shooter-Spieler gerne um Ecken schauen können. Vielleicht ist gerade ein Gegner im Anmarsch? Vielleicht ein Verbündeter? Mit Raytracing ist dies ganz einfach zu lösen, indem man einen Spiegel in die Welt setzt und sich an den hinzugekommenen Möglichkeiten im Gameplay erfreut.

Quake 4: Raytraced – Zusätzlicher Spiegel in der Ecke, um in den anderen Gang zu sehen

Hier ist ein Video, bei dem die zusätzliche Information über einen herannahenden Gegner durch den zusätzlichen Spiegel in der Ecke ausgenutzt wird. Nur durch einen Blick in den Spiegel konnte der Spieler die Ankunft des Monsters vorhersehen und rechtzeitig eine Rakete in dessen Richtung feuern.

Gameplay-Video auf YouTube ansehen

Hybrid Rendering

Warum es eine schlechte Idee ist und warum es trotzdem gemacht werden wird.

Wie wird Raytracing für Spiele auf dem Markt erscheinen? Viele Leuten erwarten, dass es einen sanften Übergang geben wird. Von Rasterisierung über Rasterisierung mit Raytracing bis hin zu komplett „raytraced“. Die Annahme mancher ist, dass der größte Teil des Bildes rasterisiert wird und Raytracing nur in kleinen Bereichen, wie etwa einer spiegelnden Kugel, zum Einsatz kommen wird.

Es ist ein netter Gedankengang und reflektiert die Entwicklung, die im Bereich der Grafikkarten in der Vergangenheit vollzogen wurde. Anfänglich hatte man nur einen festen Renderpfad. Dann wurden einige kleine Teile für Entwickler geöffnet. Dieser entwickelte sich von den kompliziert zu programmierenden „Register Combiners“ zu den Vertex- und Pixelshadern, die wiederum über einen langen Zeitraum in kleinen Schritten verbessert wurden, wodurch stets ein sanfter Übergang von einem Fortschritt zum anderen aufkam.

Pixel Shader-Versionen
innerhalb von DirectX
Pixel Shader-
Version
DirectX-
Version
Release
1.0/1.1 8.0 2000
1.2 8.0a 2001
1.3 8.0a 2001
1.4 8.1 2001
2.0 9.0 2002
2.0a 9.0b 2003
2.0b 9.0b 2003
3.0 9.0c 2004
4.0 10 2006

Daher ist es durchaus verständlich, dass einige die Erwartung haben, dass Raytracing ebenfalls in kleinen Schritten eingeführt wird. Das Problem jedoch ist: Aus technischer Sicht macht es keinen Sinn, da die Kosten des Teils, der mit Raytracing berechnet wird, in vielen Fällen sehr schnell den ausschlaggebenden Teil der Berechnung einnehmen.