Spielegrafik im Wandel - Teil 2.2: Beleuchtung und Realismus

9
Special Carsten Spille Als bevorzugte Quelle auf Google hinzufügen 17,55 €

Der zweite Teil unserer Serie Spielegrafik im Wandel ist hauptsächlich den Möglichkeiten gleitkommagenauer Rechenwerke und Pufferspeicher gewidmet. Außerdem werfen wir einen Blick auf die Bedeutung von Schatten. Außerdem geht es um realistische Beleuchtung, das "Problem realistischer Grafik" und wir geben einen Ausblick, was für Programmierer und Grafiker noch zu tun ist.

Der Heilige Gral der Computergrafik ist natürlich eine überzeugend realistische Darstellung von Spielszenarien. Wichtigen Komponenten der Bildgebung wie Oberflächenbeschaffenheit und Schatten haben wir uns bereits gewidmet und sind dabei auch auf die technischen Voraussetzungen aufseiten der Grafikkarten eingegangen, welche seit der Direct-X-11-Generation nur noch geringe Verbesserungen zu bieten haben. Auf der vorigen Seite erläutern wir die noch fehlenden Komponenten: geometrische Details in Form von Tessellation sowie eine glaubwürdige Beleuchtung (Global Illumination).

Direct X 11: Tessellation

Spielegrafik im Wandel: Die Shader-Revolution mit High Dynamic Rendering, Ambient Occlousion und Global Illumination (Teil 2) Quelle: PC Games Hardware Spielegrafik im Wandel: Die Shader-Revolution mit High Dynamic Rendering, Ambient Occlousion und Global Illumination (Teil 2) Microsoft rückte mit Windows Vista und den Geometry-Shadern von Direct X 10 das Polygongerüst wieder in die erste Reihe der 3D-Beschleunigung und ging diesen Weg mit der Tessellationsfunktion in Direct X 11 konsequent weiter. Dank der neuen Schritte auf dem Weg eines Pixels von mathematischen Koordinaten hin zum korrekt gefärbten Punkt auf dem Monitor war es nun erstmals möglich, auf standardisierte Art und Weise innerhalb des Grafikchips neue Geometrie als Grundlage der Bilderzeugung zu generieren. Primär war dabei allerdings nicht der erhöhte Detailgrad ausschlaggebend, sondern die mögliche Einsparung bei der Übertragungsbandbreite. Tessellation stellt also im Grunde mindestens ebenso sehr eine Geometriekompression dar, wie es ein Feature zur Qualitätsverbesserung sein kann. Das wird auch sehr deutlich, wenn man sich manche Techdemos zur Tessellation anschaut - wie unser Beispiel (Endless City von Nvidia) auf der nächsten Seite. Hier wird eine nur rudimentär mit geometrischen Details versehene Szene durch Tessellation erst wirklich ansehnlich. In nahezu allen Spielen wie Max Payne 3, Deus Ex Human Revolution oder Batman Arkham City und Metro 2033 wird Tessellation bislang lediglich dazu eingesetzt, wenig signifikante Details herauszuarbeiten. Die nachvollziehbare Begründung: Nutzer ohne DX11-Grafikkarte sollen nicht gleich Brechreiz bekommen, wenn sie der Grafik ansichtig werden.

Ändern könnte sich dieser Zustand erst mit der nächsten Konsolengeneration, die mit aller Wahrscheinlichkeit über DX11-fähige Grafikchips verfügen wird. Da Konsolenspiele in der Regel nicht abwärtskompatibel sind, muss hier also auch keine Rücksicht auf nicht ausreichende Hardware genommen werden. Einen Mittelweg geht der Unigine-Heaven-Benchmark, der markant eckige, jedoch noch halbwegs ansehnliche Grafik ohne Tessellation auf den Bildschirm bringt. Mit aktiver Dreiecksunterteilung, denn nichts anderes bedeutet das Wort Tessellation, werden kopfsteingepflasterte Wege und Treppen von flachen Rampen in fein ausgearbeitete Objekte verwandelt. Übrigens unterstützt Unigine Heaven auch die aktuelle Version von Open GL, die Tessellation (ebenso wie Compute Shader) ebenfalls anbietet.

Bildvergleich Tessellation: Tessellation soll geometrische Details ins Bild zaubern wie in der Techdemo, ohne dafür detailliertere Modelle und damit mehr Speicher zu benötigen. Doch zwischen Techdemo-Anspruch (oben) und Spiele-Realität (unten) klaffen riesige Lücken.

Direct X 11: Compute-Shader

Die neben (oder vielleicht noch vor) Tessellation wichtigste Neuerung von Direct X 11 sind die sogenannten Compute-Shader. Wie wir bereits in Teil 3 dieser Artikelreihe ausführten, sind unter Shadern sowohl die Programme als auch die sie ausführenden Rechenwerke der Grafikchips zu verstehen. Während getrennte Einheiten und Programme als Vertex- und Pixelshader den Anfang mit DX9 machten, wurden die Rechenwerke mit dem Wechsel auf Direct X 10 vereinheitlicht - im Englischen als Unified Shader bezeichnet. In der Praxis verdaut nun jeder der kleinen Mathekünstler alle Arten von Shaderprogrammen, die ihm Schnittstelle und Treiber vorsetzen.

Da nun quasi der gesamte Chip für beinahe beliebige Aufgaben eingespannt werden konnte und zugleich selbst Einsteiger-GPUs immer leistungsfähiger wurden, dauerte es nicht lange, bis erste Programmierer mit immer ausgefeilteren Algorithmen an andere Grenzen stießen: Daten mussten umständlich von jedem Shaderblock adressiert, bearbeitet, verändert und wieder gespeichert werden und Rechenoperationen mussten in zuvor aufgespannten geometrischen Gebilden stattfinden, auch wenn diese für die Darstellung nicht gebraucht wurden.

Dieses Missstands nahm sich Direct X 11 mit den Compute-Shadern an, die in ähnlicher Form auch in Open GL Einzug gehalten haben und natürlich auch in Nvidias dedizierter, mit der Geforce 8800 eingeführter Compute-Umgebung "Cuda" (Compute Unified Device Architecture) vorhanden sind - auch Physx-Berechnungen auf der GPU laufen unter Cuda. Später wurde der industrieweite und geräteübergreifende Open-CL-Standard speziell zum Zweck reiner Berechnungen geschaffen.

Dank Direct Compute, dem DX-Konstrukt für Compute Shader, können Berechnungen nun außerhalb der Grafikpipeline durchgeführt werden. Algorithmen wie eine Monte-Carlo-Methode oder auch die Schattenpixel-Verteilung bei der beliebten Umgebungsverdeckung ("Ambient Occlusion") laufen in eigenen Programmen, sogenannten Kernels. Da hier separate lokale wie globale Speicher vorgesehen sind, auf die verschiedene Shaderblöcke zugreifen können, muss nicht mehr jeder dieser Blöcke die Daten einzeln aus dem Grafikspeicher anfordern. Auch die schnelle Verfügbarkeit und der Austausch der Daten innerhalb der Shaderprogramme können viele Berechnungen extrem beschleunigen und sparen nebenbei noch Energie. Aufwendige Berechnungen werden so erst für Echtzeitanwendungen wie Spiele möglich - trotz vor Rechenkraft strotzender Grafikchips, da diese ja noch einige andere Dinge zu tun haben.

Direct X 11: Compute-Shader und Ambient Occlusion:Eine der wichtigsten Neuerungen in Direct X 11 wird zurzeit hauptsächlich zur Beschleunigung von Ambient Occlusion eingesetzt. Umgebungsverschattung berücksichtigt bei der Beleuchtung den geringeren Lichteinfall in Ecken oder Winkeln. Objekte verdunkeln ihre Umgebung und zum Teil auch sich selbst, ohne in die komplizierte Schattenberechnung des Spiels eingebunden zu sein. Der Effekt ist meist sehr subtil, wie die Screenshots aus dem Spiel Half-Life 2 belegen, das wir mit treiberforciertem Ambient Occlusion aufwerteten.

Global Illumination

Gesparte Rechenzeit lässt sich prima für das wichtigste Thema der Computergrafik nutzen: die realistische Beleuchtung. Kamen die Anfangstage noch mit uniformer, also gleichmäßiger Ausleuchtung aller Flächen zurecht, setzten nachfolgende Spiele zunächst auf Hell-Dunkel-Verläufe über einzelne Dreiecke, dann auf das sanftere Gouraud-Shading und später auf Annäherungen über Texturen, bevor dynamische Lichtquellen etwa in der id-Tech-2-Engine und den zugehörigen Spielen Einzug hielten. Doch auch diese, seit mehr als zehn Jahre zum Standard gehörende Technik berücksichtigt nicht die Wechselwirkung von Licht und beleuchteten Objekten. Eine grüne Lichtquelle erhellt zwar eine Oberfläche, färbt diese aber gleichzeitig rötlich ein. Kommen mehrere dieser Quellen zusammen, wird die Bestimmung der korrekten Pixelfarbe zu einer fast unlösbaren Mammutaufgabe für die Recheneinheiten und zu einer Vorzeigeanwendung für Methoden wie Raytracing und ähnliche Verfahren in Verbindung mit Photon-Mapping. Für Spiele wird auch heute noch auf diverse Vereinfachungen (etwa die Limitierung gleichzeitig aktiver Lichtquellen oder die künstliche Einschränkung des Beleuchtungsradius) zurückgegriffen.

Der fehlende Schliff

Spielegrafik im Wandel: Die Shader-Revolution mit High Dynamic Rendering, Ambient Occlousion und Global Illumination (Teil 2) Spielegrafik im Wandel: Die Shader-Revolution mit High Dynamic Rendering, Ambient Occlousion und Global Illumination (Teil 2) Viele Leserkommentare zu unseren Screenshotvergleichen und generell zum Verhältnis von Optik und Performance bei manchen Spielen gehen in die Richtung, dass die neuen, aber Rechenzeit verschlingenden Methoden nur noch mit Mühe wahrgenommen werden. Das Problem ist wissenschaftlich unter dem Begriff des abnehmenden Grenz­ertrags bekannt: Je näher man sich der Perfektion (bei Spielegrafik zum Beispiel der Kinoqualität oder dem Fotorealismus) annähert, desto aufwendiger werden weitere Verbesserungen. Darum sind auch die heute um ein Vielfaches leistungsfähigeren GPUs kaum in der Lage, ein um denselben Faktor "hübscheres" Bild in Spielen zu berechnen. Ein Beispiel ist Ambient Occlusion (siehe oben) - dieses aufwendige Verfahren kostet oft ein Viertel der Framerate oder mehr, wird von vielen Spielern aber kaum bemerkt und das aus einem ganz banalen Grund: Es ist realistisch. In einem wirklichkeitsgetreuen Bild fallen stimmige, "richtig" anmutende Elemente nämlich weniger auf als solche, die ebendiese Illusion sprengen. Je realistischer die Grundanmutung eines Bildes, desto eher nehmen wir es als real hin und in diesem Zusammenhang fallen uns dann auch geringe Unkorrektheiten als falsch, ja störend auf, die wir in einer klar als Computergrafik erkennbaren Darstellung akzeptieren würden - das "Uncanny Valley" lässt grüßen.

Quo vadis, Spielegrafik?

Das erklärte Ziel von Spielegrafik ist der kinoähnliche Realismus. Die Hürden zu erkennbarer und halbwegs naturgetreuer Darstellung hat die Technik in den vergangenen drei Jahrzehnten mit Bravour genommen, was bleibt, sind nur mehr kleine Schritte, die aber leider mit einem hohen Preis, sowohl was den Entwicklungsaufwand als auch die nötige Rechenleistung angeht, bezahlt werden müssen. Die Verbesserungen werden mit neuen Konsolengenerationen Sprünge aufweisen, dazwischen jedoch gering bleiben.

9
  1. Seite 1 Spielegrafik im Wandel - Teil 2.1: Technik und Schatten
  2. Seite 2 Spielegrafik im Wandel - Teil 2.2: Beleuchtung und Realismus
    • Kommentare (9)

      Zur Diskussion im Forum
      • Von GrEmLiNg Software-Overclocker(in)
        Sofern 8 GB Vram oder 12 drinne sind, sehe ich da keine probleme. Weniger sollte es aber auf gar keinen fall sein, weill Texture mods werden darfür sorgen das es so ist. Denn weniger wäre nicht gut.....
      • Von GrEmLiNg Software-Overclocker(in)
        Sofern 8 GB Vram oder 12 drinne sind, sehe ich da keine probleme. Weniger sollte es aber auf gar keinen fall sein, weill Texture mods werden darfür sorgen das es so ist. Denn weniger wäre nicht gut.....
      • Von Voigt PC-Selbstbauer(in)
        Naja mal schauen, mit den Volta Grafikkarten sollte ja dann genug Speicher vorhanden sein ^^
      • Von cPT_cAPSLOCK BIOS-Overclocker(in)
        Zitat von Voigt
        Was mich an der heutigen Computergrafik stört sind, die für mich essentielle Dinge, Polygonanzahl und Texturschärfe. Wie auch im Artikel geschrieben ist diese Beleuchtungssache eher nur subtil, kostet aber ein viertel der FPS. Aber kostet hohe Polygonanzahl und scharfe Texturen nicht relativ wenig, kann man das nicht einfach mal stark erhöhen? Und nicht Bäume und Häuser sollen detaillierter sein, wie stören viel mehr der Boden und Felsen. Schärfere Texturen sollten doch noch mehr Speicher brauchen oder nicht?
        Naja, große Texturen brauchen in der Menge einfach deutlich mehr Speicher. Vor allem hast du das Problem, dass Texturen eben zweidimensional sind und bei verdopplung der Texturgröße eben gleich mal das Vierfache an Speicher einnehmen. Somit ist der Speicher selbst bei kleinen Verbesserungen im Texturbereich einfach verdammt schnell voll, wenn eben schnell hunderte von Texturen in den Speicher kommen, auch wenn eine Textur nur 3 MiB Speicher schluckt. Auch zahlreiche Textureffekte wie Environment Mapping oder Shadow Mapping sind dabei noch nicht berücksichtigt.
        Zudem kommt hinzu, dass GPUs heute immer breiter aufgestellt sind und auch Speicher für Dinge wie allgemeine Berechnungen (Physik, Shader-Berechnungen, etc.) in der Hinterhand frei bleiben muss, um einen reibungslosen Betrieb zu ermöglichen.
        Was den Geometriegrad betrifft - das ist ja mittlerweile mit Tesellation ziemlich gut gelöst. Da wird nur das hoch aufgelöst, was man auch als solches erkennen kann - zumindest im Idealfall.
        Was mich allerdings wundert: warum nutzen Spielehersteller so wenige prozedurale Texturen? Die brauchen kaum Speicher und "zufällige Muster" wie Holzmaserungen oder Gesteinsoberflächen lassen sich damit pixelgenau und speicherschonend darstellen. Es muss doch nicht immer eine Texturtapete sein?
        gRU?; cAPS
      • Von steinschock Volt-Modder(in)
        Schöner Artikel

        Damit sollten sich jetzt alle auf Dx11 konzentrien können für neuere Spiele.
        Also los macht den Konsolen-rotz (PS4 | X720) endlich verfügbar.
      • Von valandil PC-Selbstbauer(in)
        Durch die neuen Konsolen wird hoffentlich die Texturauflösung erhöht.
        Die Lichteffekte sind seit SM3.x bereits sehr gut, auch HDR-Rendering hat viel zur Qualität beigetragen.
        Ich hoffe auf effizientere Tesselation und Ambient Occlusion Implementierung. Dafür gibt es doch die Grafikkarten mit 2GB GRAM und mehr
      Direkt zum Diskussionsende
  • Print / Abo
    Apps
    PCGH Magazin 08/2026 PC Games 08/2026 play5 08/2026 N-Zone 08/2026 Linux Magazin 08/2026 LinuxUser 08/2026 Raspberry Pi Geek 09/2026
    PC Games Hardware PC Games Linux Magazin Raspberry Pi Geek Computec Kiosk