"Menschliche Haut": Wie Algorithmen die Spielgrafik der Zukunft generieren

Interview10. Juni 2015, 10:00
99 Postings

Forscher der TU Wien über "Separable Subsurface Scattering" und neue Grafiktechnologien

Bei der Grafik von Computerspielen haben Hersteller in den vergangenen zwei Jahrzehnten enorme Fortschritte vollbracht. Nach dem Sprung Ende der 1990er-Jahre auf 3D-Modelle mittels Polygonen und Texturen widmen sich Entwickler heute zunehmend granulareren Aspekten der Darstellung. Wie müssen Licht und Schatten in Games implementiert werden, damit Landschaften plastisch aussehen? Wie kann man Oberflächen von Modellen so gestalten, damit sie Materialeigenschaften wie reale Objekte, Pflanzen und Lebewesen erhalten? Und wie schafft man, diese fast fotorealistischen Spielwelten dann selbst auf herkömmlichen Konsolen oder Spiele-PCs laufen zu lassen?

Eine dieser Technologien, die virtuelle Menschen menschlicher und Kunstpflanzen realer machen, ist Separable Subsurface Scattering - ein Algorithmus, der von einem Team in Kollaboration mit der TU-Wien entwickelt wurde. Im Interview mit dem GameStandard erklären die Forscher, wie Mathematik bei der effizienten Erstellung lebensnaher Spielgrafik hilft, welche Technologien die Games von morgen ermöglichen werden und welche Ansätze eher weniger Chancen auf Erfolg haben.

bild: separable subsurface scattering
Bild: rechts oben mit Subsurface Scattering, rechts unten ohne Subsurface Scattering
károly zsolnai

STANDARD: Videospiele sehen mit jedem Jahr realistischer aus. Wie trägt Separable Subsurface Scattering dazu bei?

Christian Freude: Neben einer hohen Anzahl an Polygonen und hochauflösenden Texturen wird das realistische Aussehen von Objekten auch maßgeblich davon bestimmt, wie genau die Interaktion des umgebenden Lichts mit den Materialoberflächen berechnet wird.

Es gibt Materialien, wie beispielsweise Haut, Wachs, Marmor oder Pflanzenblätter, bei welchen das Licht nicht komplett an der Oberfläche reflektiert wird sondern auch in das Material eindringt und im Inneren gestreut wird. Diesen Effekt bezeichnet man als Subsurface Scattering, und er bewirkt generell, dass Oberflächen "weicher" aussehen. Herkömmliche Materialmodelle, wie sie oft in Videospielen Anwendung finden, berücksichtigen jedoch diese Lichtstreuung innerhalb des Materials nicht.

Genau hier setzt unser neuer physikalisch-basierter Algorithmus an und ergänzt herkömmliche Berechnungsmethoden um diese Subsurface-Scattering-Komponente. Dies ermöglicht eine realistische Darstellung von beispielsweise menschlichen Gesichtern oder Pflanzen, welche ohne die Berücksichtigung von Subsurface Scattering wirklichkeitsfremd ("hart") aussehen würden.

STANDARD: Die realistische Beleuchtung in Videospielen benötigt für gewöhnlich viel Rechenleistung. Wie funktioniert Separable Subsurface Scattering, damit der Effekt der Lichtstreuung auch bei Games der gegenwärtigen Konsolen-/Hardware-Generation eingesetzt werden kann?

Károly Zsolnai: Unsere Lösung arbeitet im Bildraum, das bedeutet auf einem - aus der Sicht des Betrachters - bereits erzeugten Bild, und der Subsurface-Scattering-Effekt wird mittels eines Post-Processing-Schrittes hinzufügt. Da der finale Algorithmus bemerkenswert einfach ist, kann dieser sehr leicht in eine bestehende Rendering-Engine integriert werden und benötigt auf gängiger Grafikhardware eine Berechnungszeit im Bereich von tausendstel Sekunden. Zur Demonstration der einfachen Anwendung der Methode haben mein Student Christian Freude und ich unseren Algorithmus als 4k-Demo implementiert - dies bedeutet, dass der gesamte Programmcode auf einer einzigen Visitenkarte platz findet. Der Source-Code kann online kostenlos heruntergeladen werden und somit können Interessierte damit experimentieren.

STANDARD: Separable Subsurface Scattering entstand aus einer Kooperation zwischen der TU Wien, der Universität Saragossa und der Firma Activision-Blizzard. Wie kam es zu der Zusammenarbeit? In welcher Weise war das Team der TU Wien eingebunden?

Michael Wimmer: Jorge Jimenez hatte schon an der Universität Saragossa in seiner Dissertation bei Diego Gutierrez einen Algorithmus entwickelt, der menschliche Haut effizient und realistisch darstellt. Wir sind auf seine Technik aufmerksam geworden und hatten Ideen, wie man sie mit weitergehenden mathematischen Modellen verallgemeinern kann.

Eine Anfrage auf Zusammenarbeit stieß bei ihm auf Interesse und so konnten wir eine Verallgemeinerung auf viele weitere Materialen durchführen, was auch den Hauptbeitrag des Teams an der TU Wien darstellt. Da Jorge mittlerweile bei Activision arbeitet, sind unsere Ideen auch in die Entwicklungen des Spieleherstellers Activision-Blizzard eingeflossen.

STANDARD: Activision-Blizzard ist der erste bekannte Spielhersteller, der die Methode für seine Games einsetzt. Werden auch Games anderer Entwickler und Studios davon profitieren können?

Wimmer: Natürlich - die vorgestellte Methode ist wissenschaftlich publiziert, und der Source Code ist wie gesagt auf unserer Homepage verfügbar. Noch dazu ist sie sehr leicht in bestehenden Programmcode integrierbar.

bild: separable subsurface scattering
Bild: rechts oben ohne Subsurface Scattering, rechts unten mit Subsurface Scattering
bild: separable subsurface scattering

STANDARD: In den vergangenen drei Jahrzehnten haben Videospielentwickler enorme technische Fortschritte erzielt – von Pixelgrafik bis hin zu Welten mit Millionen Polygonen. Nach dem "Polygonaufrüsten" der vergangenen 15 Jahre nehmen Beleuchtung, smartere Texturen und Partikel eine immer wichtigere Rolle ein. Wenn Sie sich aktuelle Videospielentwicklungen ansehen, was denken Sie, welche Technologien werden für den nächsten großen grafischen Sprung sorgen?

Wimmer/Thomas Auzinger: Wir sehen drei wichtige Entwicklungen in nächster Zeit. Erstens: Physikalisch basiertes Rendering. In der Filmindustrie benötigen einzelne Bilder immer noch mehrere Stunden zur Berechnung, von dieser Qualität sind wir bei Videospielen noch weit weg. Wir werden hier einerseits immer intelligentere Algorithmen sehen, um weitere realistische Effekte (indirekte Schatten, Lichtbrechungseffekte die durch transparente Objekte wie Glas erzeugt werden usw.) in traditionelle Rasterisierungs-Engines einzubauen. Andererseits könnte einmal der Punkt kommen, an dem die Hardware so stark wird, dass Lichtausbreitung einfach durch Ray Tracing simuliert werden kann. Dieses Verfahren wird auch in der Filmindustrie eingesetzt, und erlaubt die Simulation aller wichtigen Beleuchtungseffekte. Das wird aber sicher noch mindestens eine, eher zwei Konsolengenerationen dauern.

Zweitens: Virtual Reality. Oculus Rift zeigt, dass Virtual Reality tatsächlich funktionieren kann, und andere Hersteller entwickeln ebenfalls gute Alternativen. So ein Head-Mounted Display deckt das gesamte Blickfeld ab, man hat daher wirklich das Gefühl, in eine Welt einzutauchen. Steht man zum Beispiel auf einem virtuellen Wolkenkratzer, hat man tatsächlich Angst, am Rand herunterzufallen. Zur Verwendung in Videospielen ist aber noch ein weiter Weg, denn selbst in den neuesten Modellen ist die Auflösung noch sehr gering.

Drittens: Auflösung. In Zukunft werden immer hochauflösendere Displays bedient werden müssen. Wir sind jetzt schon bei einem Ziel von 4K, für Stereo benötigt man aber eigentlich die doppelte Auflösung, und das mindestens in 60 Bildern pro Sekunde. Das ist aber weniger eine Entwicklung der Videospieltechnologien, sondern eine Zielvorgabe für die zugrunde liegende Hardware. Auch wirkt sich hohe Auflösung nur in bestimmten Situationen deutlich aus. Eine davon sind aber die schon genannten Head-Mounted Displays - dort ist man nämlich so nahe an den Pixeln, dass diese wirklich extrem klein sein müssen, um ein hochqualitatives Bild zu erzeugen.

STANDARD: Was halten Sie von Projekten wie "Unlimited Detail"? Ist es für Sie denkbar, dass die Videospiele von morgen auf ein komplett anderes System als das etablierte Polygon/Textur-Modell aufsetzen werden?

Auzinger/Wimmer: Das direkte Darstellen von Punktwolken - was auch die Grundlage von "Unlimited Detail" ist - ermöglicht die sofortige Verwendung von Daten, die mit Laserscannern gewonnen wurden. Dies ist besonders für die Darstellung von realen Szenarien - zum Beispiel in der Archäologie und Geovisalisierung - relevant. Wir forschen schon seit einiger Zeit intensiv in diesem Bereich, und haben auch eine vergleichbare Technologie entwickelt (potree.org, harvest4d.org).

Bei Videospielen stellt sich aber die Frage, wo die Punkte herkommen sollen. Denn ein Hauptaufwand bei der Erstellung eines Videospiels ist eben die Erstellung des Spielinhaltes, und dies passiert in der Form von geometrischen Modellen, deren Animation und Texturen. Um beliebig hohen Detailgrad zu erreichen, muss entweder beliebig lange modelliert werden (was unrealistisch ist), oder es müssen prozedurale Methoden verwendet werden. Diese lassen sich normalerweise aber auch in der Rendering Engine nachbilden, und es ist dann wesentlich effizienter, diese Daten direkt zu verwenden als sie in Punktwolken umzuwandeln. Es gibt ja auch andere Technologien wie zum Beispiel Voxel-Rendering, die sich schon viele Jahre lang nicht durchsetzen. Das Problem ist, dass so eine neue Technologie einen signifikanten Mehrwert bieten muss, um eine kostenintensive Umstellung der komplexen polygonbasierten Produktionspipelines zu rechtfertigen, und das scheint im Moment bei keiner dieser Technologien gegeben. (Zsolt Wilhelm, 10.6.2015)

Share if you care.