Auffallend viele Vertreter aus der Automobilindustrie sind derzeit auf öffentlichen Veranstaltungen der Universität des Saarlandes anzutreffen. Wissenschaftler am dortigen Fachbereich Informatik haben den Raytracing-Algorithmus, also die Rechenregeln, mit denen sich der natürliche Verlauf von Lichtstrahlen per Computer nachvollziehen lässt, um den Faktor 30 beschleunigt. Was Raytracing so attraktiv macht, sind die Defizite der Alternativ-Technik. Die heißt Rasterisierung und damit arbeiten beispielsweise heute gängige PC-Grafikkarten. Hierbei wird lediglich ein aus vielen kleinen Dreiecken bestehendes 3D-Modell, etwa einer Szene in einem Computerspiel, zweidimensional abgebildet, auf dem Computerbildschirm eben. Professor Philipp Slusallek zu den Unzulänglichkeiten des Rasterisierungsverfahrens:
Das Problem bei dem Verfahren ist, dass die Hardware sich zu jedem Zeitpunkt immer nur ein einziges Dreieck ankucken kann. Das langt, um die Dreiecke darzustellen. Aber irgendwelche erweiterten, interessanteren Varianten, die ich in der 3-D-Grafik eigentlich heute haben will, kann ich damit nicht mehr machen. Einfaches Beispiel: Schatten. Wenn ich den Schatten, der auf ein Dreieck fällt, berücksichtigen will – das ist da, wo es dunkler ist – dann brauche ich das Dreieck, auf das der Schatten drauffällt, aber ich brauche zusätzlich noch das Dreieck, das den Schatten wirft. Das heißt: Heutige Grafik-Hardware kann Schatten gar nicht exakt ausrechnen, weil sie sich eben immer nur ein Dreieck anguckt und das andere Dreieck nicht kennt, weil das kommt erst irgendwann später dran.
Deshalb müssen beim Rasterisierungsverfahren Schatten und Spiegelungen eigens programmiert werden. Bei einem Computerspiel hält die Software dann für möglichst viele Situationen diverse Schattenwürfe und Reflektionsmuster bereit, die tunlichst unscharf sind, damit es wenigstens einigermaßen passt:
Das sind halt nur Tricks. Die gehen irgendwann mal schief. Und ich kann notfalls dafür sorgen, dass der Spieler da, wo einem das dann auffallen würde, gar nicht hingehen kann. Da stelle ich halt eine Tonne hin oder sonst irgendwas. Dann kann er da gar nicht hingehen, und dann sieht man den Fehler, der eigentlich auftreten würde, nicht.
Beim Raytracing-Verfahren hingegen müssen Schatten und Spiegelungen nicht programmiert werden. Sie werden berechnet und zwar exakt. Entsprechend gering ist der Aufwand für die Software-Entwickler. Ein Informatik-Student an der Saarbrücker Uni hat innerhalb weniger Wochen das Spiel Quake 3 auf Raytracing übertragen. Der Professor führt es vor:
Ja, das ist jetzt die Szene, wo in einer großen Halle mehrere hundert Monster unten herumlaufen. Oben drüber fliegen mehrere Laternen, die Licht- und Schatteneffekte auf die Szene werfen. Reflektionen sind an manchen Stellen auch noch mit drin. Der Aufwand, das zu machen, ist ganz gering auf Seiten des Spieleherstellers. Man muss halt einfach nur die Monster in die Gegend stellen, das Licht anschalten. Und dann sieht man die Effekte.
Allerdings läuft das Programm in Saarbrücken nicht auf einem Einzelrechner. Vielmehr ist ein Cluster, bestehend aus mehreren PCs, dafür notwendig. Auch war Quake 3 mit Schatten- und Reflektionseffekten nur ein Projekt, um die Leistungsfähigkeit des Echtzeit-Raytracing zu demonstrieren. Einer der größten Anwender ist heute die Automobilindustrie, wo es ja sehr darauf ankommt, dass Reflektionen exakt berechnet werden. Konstrukteure müssen schließlich schon vorab wissen, was im Rückspiegel des künftigen Autos zu sehen zu sehen sein wird. Derzeit entwickeln die Saarbrücker Informatiker spezielle Prozessoren für ihren beschleunigten Raytracing-Algorithmus, die in Zukunft vielleicht zu handelsüblichen PC-Grafikarten verbaut werden, so dass virtuelle Monster dann fotorealistische Schatten werfen könnten.
Das Problem bei dem Verfahren ist, dass die Hardware sich zu jedem Zeitpunkt immer nur ein einziges Dreieck ankucken kann. Das langt, um die Dreiecke darzustellen. Aber irgendwelche erweiterten, interessanteren Varianten, die ich in der 3-D-Grafik eigentlich heute haben will, kann ich damit nicht mehr machen. Einfaches Beispiel: Schatten. Wenn ich den Schatten, der auf ein Dreieck fällt, berücksichtigen will – das ist da, wo es dunkler ist – dann brauche ich das Dreieck, auf das der Schatten drauffällt, aber ich brauche zusätzlich noch das Dreieck, das den Schatten wirft. Das heißt: Heutige Grafik-Hardware kann Schatten gar nicht exakt ausrechnen, weil sie sich eben immer nur ein Dreieck anguckt und das andere Dreieck nicht kennt, weil das kommt erst irgendwann später dran.
Deshalb müssen beim Rasterisierungsverfahren Schatten und Spiegelungen eigens programmiert werden. Bei einem Computerspiel hält die Software dann für möglichst viele Situationen diverse Schattenwürfe und Reflektionsmuster bereit, die tunlichst unscharf sind, damit es wenigstens einigermaßen passt:
Das sind halt nur Tricks. Die gehen irgendwann mal schief. Und ich kann notfalls dafür sorgen, dass der Spieler da, wo einem das dann auffallen würde, gar nicht hingehen kann. Da stelle ich halt eine Tonne hin oder sonst irgendwas. Dann kann er da gar nicht hingehen, und dann sieht man den Fehler, der eigentlich auftreten würde, nicht.
Beim Raytracing-Verfahren hingegen müssen Schatten und Spiegelungen nicht programmiert werden. Sie werden berechnet und zwar exakt. Entsprechend gering ist der Aufwand für die Software-Entwickler. Ein Informatik-Student an der Saarbrücker Uni hat innerhalb weniger Wochen das Spiel Quake 3 auf Raytracing übertragen. Der Professor führt es vor:
Ja, das ist jetzt die Szene, wo in einer großen Halle mehrere hundert Monster unten herumlaufen. Oben drüber fliegen mehrere Laternen, die Licht- und Schatteneffekte auf die Szene werfen. Reflektionen sind an manchen Stellen auch noch mit drin. Der Aufwand, das zu machen, ist ganz gering auf Seiten des Spieleherstellers. Man muss halt einfach nur die Monster in die Gegend stellen, das Licht anschalten. Und dann sieht man die Effekte.
Allerdings läuft das Programm in Saarbrücken nicht auf einem Einzelrechner. Vielmehr ist ein Cluster, bestehend aus mehreren PCs, dafür notwendig. Auch war Quake 3 mit Schatten- und Reflektionseffekten nur ein Projekt, um die Leistungsfähigkeit des Echtzeit-Raytracing zu demonstrieren. Einer der größten Anwender ist heute die Automobilindustrie, wo es ja sehr darauf ankommt, dass Reflektionen exakt berechnet werden. Konstrukteure müssen schließlich schon vorab wissen, was im Rückspiegel des künftigen Autos zu sehen zu sehen sein wird. Derzeit entwickeln die Saarbrücker Informatiker spezielle Prozessoren für ihren beschleunigten Raytracing-Algorithmus, die in Zukunft vielleicht zu handelsüblichen PC-Grafikarten verbaut werden, so dass virtuelle Monster dann fotorealistische Schatten werfen könnten.