Deferred Shading

In der Computergrafik ist Deferred Shading eine dreidimensionale Schattierungstechnik, bei der das Ergebnis eines Schattierungsalgorithmus durch Aufteilung in kleinere Teile berechnet wird, die in einen Zwischenpufferspeicher (den so genannten G-Buffer) geschrieben werden, um später kombiniert zu werden, anstatt das Shader-Ergebnis sofort in den Farb-Framebuffer zu schreiben.

Implementierungen auf moderner Hardware neigen dazu, mehrere Renderziele (MRT) zu verwenden, um redundante Vertex-Transformationen zu vermeiden. Sobald alle benötigten Puffer aufgebaut sind, werden sie in der Regel in einen Schattierungsalgorithmus (z. B. eine Beleuchtungsgleichung) eingelesen und kombiniert, um das Endergebnis zu erhalten (in der Regel als Eingangstexturen). Auf diese Weise wird die für die Schattierung einer Szene erforderliche Rechen- und Speicherbandbreite auf die sichtbaren Teile reduziert, wodurch die Komplexität der schattierten Tiefe verringert wird.

Vorteil

Der Hauptvorteil des Deferred Shading ist die Entkopplung der Szenengeometrie von der Beleuchtung. Es ist nur ein Geometriedurchlauf erforderlich, und jedes Licht wird nur für die Pixel berechnet, die es tatsächlich betrifft. Dadurch können viele Lichter in der Szene ohne nennenswerte Leistungseinbußen gerendert werden.

Nachteil

Ein wesentlicher Nachteil des Deferred Rendering ist die Schwierigkeit, Transparenz innerhalb des Algorithmus zu handhaben, obwohl dieses Problem in Z-gepufferten Szenen ein allgemeines ist und in der Regel durch Verzögerung und Sortierung des Renderings transparenter Teile der Szene gehandhabt wird.

Stand: 18.01.2022