Raytracing in Spielen I: Strahlen versprechen den Fotorealismus

 5/5
Daniel Pohl
94 Kommentare

Performance

Warum aber sieht man bisher kein Raytracing in kommerziellen Spielen? Das Problem dabei ist in erster Linie noch immer die Geschwindigkeit. Das Berechnen der Effekte alleine über die CPU ist nicht so schnell wie bei der Nutzung einer eigens für diesen Zweck entwickelte Hardware, so wie es bei aktuellen Grafikkarten mit dem Rasterisierungs-Algorithmus der Fall ist. Aber die Entwicklung der CPUs geht schnell voran. Vergleicht man die verfügbare Rechenleistung für Q3RT im Jahre 2004 und mit der derzeit aktuellen Hardware, liegt der Faktor höher als vier. Die neue Quad-Core-CPU von Intel befindet sich auf dem Markt und die Effizienz bei der gleichen Taktrate hat sich seitdem um etwa 30 Prozent verbessert. Ein großer Vorteil von Raytracing ist, dass es sich perfekt für Parallelisierung eignet.

Wie in der Einleitung beschrieben, wird für jedes Pixel des Bildes ein Strahl durch die 3D-Szene geschossen. Rendert man nun ein Bild in der Auflösung 640×480, so hat man etwa 300.000 Strahlen. Jeder von diesen kann unabhängig von den anderen berechnet werden. Das bedeutet: Man kann beispielsweise das Bild in vier Teile aufteilen und jeden Core der Quad-Core-CPU einen eigenen Bereich ausrechnen lassen, ohne auf Zwischenergebnisse der anderen Cores warten zu müssen. Daher skaliert die Performance mit der Anzahl der Cores in Quake 4: Raytraced in Verbindung mit OpenRT auf Intels Quad-Core-Prozessor „Core 2 Extreme QX6700“ hervorragend. Die folgenden Benchmarks wurden in einer Auflösung von 256×256 im Quake-4-Level „Over The Edge (Q4DM7)“ mit voller Beleuchtung (98 Lichtquellen) vorgenommen.

Bilder pro Sekunde
    • 4 Kerne
      16,9
    • 2 Kerne
      8,6
    • 1 Kern
      4,4
Einheit: Bilder pro Sekunde (FPS)
Skalierungsfaktor
    • 4 Kerne
      3,84
    • 2 Kerne
      1,96
    • 1 Kern
      1,00
Einheit: Faktor

Probleme

Leider gibt es nicht nur Vorteile durch Raytracing. Derzeit gibt es Geschwindigkeitsprobleme beim Rendern von dynamischen, komplett zufälligen Änderungen in 3D-Szenen, die nicht vorherberechnet werden können. Doch die Forschungen in diesem Gebiet gehen weiter und im Bereich der Dynamik von Skeletal-Animation (z. B. bei Spielermodellen) gibt es bereits vielversprechende Lösungen.

Zukunft

Raytracing hat das Potenzial, die weitläufig eingesetzte Rendering-Technologie auf Desktop-PCs zu werden. Die Anzahl der CPU-Kerne steigt und Prototypen einer Spezialhardware für Raytracing zeigen beeindruckende Ergebnisse bezüglich der Geschwindigkeit: Mit einem mit 90 MHz getakteten Prototypen konnte in etwa die Geschwindigkeit eines virtuellen Pentium 4 mit 10 GHz erreicht werden. Eine für den Massenmarkt angefertigte Karte könnte höher getaktet werden, mehrere Raytracing-Cores in einer GPU enthalten, mehrere GPUs auf einer Karte besitzen und man könnte mehrere dieser Karten in einen Rechner einbauen. Schon ist man sehr schnell bei flotten Frameraten in hohen Auflösungen.

Es ist immer noch ein weiter Weg, bis die Grafik in Computerspielen wie in den „Herr der Ringe“-Kinofilmen aussieht, aber wir nähern uns und haben eine spannende Zeit vor uns!

Über den Autor

Daniel PohlDaniel Pohl, 26 Jahre alt, hat vor kurzem sein Informatik-Studium an der Universität Erlangen mit Erfolg abgeschlossen. Jetzt sucht er einen Arbeitsplatz im Bereich der Computerspiele-Industrie oder einen Sponsor für eine Fortsetzung der Forschungen an Spielen mit Raytracing.

Dieser Artikel war interessant, hilfreich oder beides? Die Redaktion freut sich über jede Unterstützung durch ComputerBase Pro und deaktivierte Werbeblocker. Mehr zum Thema Anzeigen auf ComputerBase.