Raytracing in Spielen I: Strahlen versprechen den Fotorealismus

Daniel Pohl
94 Kommentare
Raytracing in Spielen I: Strahlen versprechen den Fotorealismus

Vorwort

Im vergangenen November berichteten wir in einer Meldung über das von Daniel Pohl im Rahmen seiner Diplomarbeit entwickelte „Quake 4: Raytraced“ auf Basis von OpenRT und, der Name sagt es bereits, Quake 4. Clou des Ganzen waren die Grafikberechnung mittels Echtzeit-Raytracing und eine außergewöhnliche Skalierungsfähigkeit auf Multi-Core-Plattformen. In diesem Artikel möchte Daniel Pohl den aktuellen Stand der Entwicklung von Echtzeit-Raytracing anhand einiger Beispiele auf ComputerBase näher beleuchten und auch eine kleinen Ausblick auf die zukünftige Entwicklung geben. Wir wünschen viel Spaß bei der Lektüre.

Einleitung

Stellen Sie sich ein Computerspiel in der Qualität vor, wie man sie aus den Kinofilmen der „Herr der Ringe“-Reihe kennt: Absolut realistische Beleuchtung, Details wie im echten Leben, überzeugende Haut in den Gesichtern der computeranimierten Darsteller und vieles mehr.

Kinofilm „Herr der Ringe“ – Copyright Newline Cinema
Kinofilm „Herr der Ringe“ – Copyright Newline Cinema

Eine der Techniken, die zur Erzeugung der Bilder für die Kinofilme benutzt wurden, ist das so genannte „Raytracing“. Dabei handelt es sich um eine alternative Rendering-Technologie zu der in aktuellen Grafikkarten für Desktop-PCs und Konsolen verwendeten Methode zur Bilderzeugung. Viele Jahre lang wurde dieser alternative Algorithmus nur im Bereich Offline-Rendering benutzt und die Berechnung eines Bildes für Filme nahm – und nimmt teilweise immer noch – mehrere Tage in Anspruch.

Im Jahre 2002 wurde Echtzeit-Raytracing auf dem PC durch die Grafikbibliothek OpenRT ermöglicht. Interaktive Frameraten wurden in hohen Auflösungen möglich, indem man mehrere PCs über ein herkömmliches Ethernet-Netzwerk verband und die Rechenleistung der Rechner so vereint wurde. Nun, fünf Jahre später, ist es dank der Fortschritte in der CPU-Entwicklung möglich, auf einem einzelnen PC Raytracing mit komplexen Szenen und Beleuchtungsverfahren ablaufen zu lassen, wenn auch derzeit noch in recht geringen Auflösungen. Doch mehr Details dazu später.

OpenRT