Vorbemerkung / Rendering-Pipeline

Bei der Rendering-Pipeline bzw. Grafik-Pipeline handelt es sich um eine Beschreibung der einzelnen Verarbeitungsschritte und Zwischenergebnisse vom 3d-Objekt bis hin zum fertigen Bild. Die Beschreibung einer Szene im dreidimensionalen Raum wird einer zweidimensionalen Projektion auf einer Bildoberfläche zugeordnet. Dabei werden einzelne Arbeitsschritte zeitlich nacheinander abgearbeitet. Viele dieser Prozesse kann die Grafikhardware erledigen. Aufwendige Berechnungen wie Raytracing und Radiosity müssen im Softwarerenderer berechnet werden. Bei einer interaktiven 3d-Grafik bzw. Echtzeitgrafik wie z.B. div. 3d-Computerspiele bzw. auch die Darstellung im 3d-Fenster in einem 3d-Programm werden die Arbeitsschritte in der Grafikhardware berechnet. Die Rendering-Pipeline beschreibt allgemeine Verarbeitungsschritte für Hardware- und Softwarerendering.
Die Abläufe in der Rendering-Pipeline können in zwei verschiedene Prozesse eingeteilt werden.

  • Geometrischer Prozess: Der geometrische Prozess umfasst Operationen wie das Transformieren von 3d-Daten auf eine 2d-Ebene.
  • Algorithmische Prozesse: Algorithmische Rendering-Prozesse schließen Vorgänge wie Schattierung und Textur-Mapping ein und sind deutlich kostenintensiver als die geometrischen Operationen. Viele dieser Operationen können derzeit nicht durch die Grafikkarte berechnet werden.

(a) Hypershade: In Editoren wie der Hypershade in Maya oder der Material Editor in 3ds max werden Oberflächeneigenschaften definiert.
Bitmap-Texturen, Prozedurale Texturen, Projektionsarten, sogenannte Utilities und Materialeigenschaften werden in diesen Editoren miteinander verknüpft. Dargestellt ist das Material bzw. Shading Network der Tischoberfläche: Drei Texturen, eine Holztextur, eine Textur mit Kaffeerändern und eine Prozedurale Textur (Störungstextur für zufällige Verunreinigungen) werden mit einem Blinn-Material verknüpft. Über zwei Projektionswerkzeuge gehen die Informationen in die Kanäle des Materials. Die Tischtextur geht in den Farbkanal, die anderen zwei Texturen gehen in den Diffuse-Kanal.

(b) Interaktive 3d-Grafik: Drahtgitterdarstellung

(d) Interaktiv 3d-Grafik: Schattierte Darstellung.
Schattierungen, Spiegelnde Schattierungen wie bei der Tasse und Texturinformationen können dargestellt. Üblicherweise wird in einem 3d-Fenster in einer 3d-Software aus Performancegründen meist nur 1 Kanal dargestellt. Durch spezielle Hardware Shader und Grafikkarten können auch mehrere Kanäle eines Materials dargestellt werden. Rechenintensive Berechnungen wie Spiegelungen, Schatten und Spezialeffekte können nicht dargestellt werden.

(c) Rendering: Ein durch die Software berechnetes Pixel- oder Vectorrendering mit Spezialeffekten wie Schatten, Globale Beleuchtung, Spiegelungen und Lichtbrechungen. Die Dauer der Berechnung der Bilddatei hängt von den Rendereinstellungen ab.

Die Prozesse der Rendering-Pipeline

Die Rendering-Pipeline kann nach folgenden Gesichtspunkten unterteilt und beschrieben werden:
(a) nach den verwendeten Verfahren wie Transformation,Projektion, Clipping,....
(b) anhand der auftretenden Koordinatensysteme

3d- bzw. 2d Objekte werden in einem eigenen Objekt-Koordinatensystem, auch lokales Koordinatensystem genannt, durch Transformation (Translation, Rotation oder Skalierung) in der Szene platziert. Im ersten Schritt werden diese Objekte in ein Weltkoordinatensystem transformiert. Mathematisch werden die Transformationen durch Matrixmultiplikationen der Transformationsmatrizen mit den die Objekte definierenden Punkten durchgeführt. Das Ergebnis ist eine Beschreibung der Szene im Welt-Koordinatensystem oder globalen Koordinatensystem.

Koordinatenräume in der Rendering-Pipeline

In der nächsten Stufe wird die Platzierung der virtuellen Kamera im Welt-Koordinatensystem durchgeführt. Die Beschreibung einer Szene im Ansichtskoordinatensystem ist die Betrachtungsweise der Szene aus Sicht der Kamera. Entscheidungen wie perspektivische bzw. parallele Projektion werden in diesem Schritt getroffen. Mathematisch handelt es sich um ähnliche Berechnungen wie bei der Transformation von 3d-Objekten.

Projektion

Nach der Positionierung und Ausrichtung der Kamera wird das entsprechende Sichtvolumen festgelegt. Die Definition der Projektionsart hat hier erheblichen Einfuss. Wird eine Parallelprojektion verwendet, wird keine perspektivische Verzerrung berechnet. Die Objekte werden auf das dreidimensionale Sichtvolumen zugeschnitten. Die resultierenden Koordinaten werden als Clipping-Koordinaten bezeichnet.
In der Stufe D wird der Übergang von dreidimensionalen auf zweidimensionale Koordinaten vollzogen. Es entstehen Koordinaten in der Projektions- oder Bildebene, im Bild-Koordinatensystem. In dieser Stufe findet auch das Clipping und Culling statt.

Clipping und Culling

In der Stufe E erfolgt die Rasterung der projizierten Punkte in das zweidimensionale Geräte-Koordinatensystem, die Schattierung und die Bestimmung der Sichtbarkeit mit dem Bildraumverfahren des z-Buffers. Es entsteht ein zweidimensionales Pixelbild im Gerätekoordinatensystem des Ausgabegerätes.Die Bestimmung der Intensität bzw. die Farbe eines Pixels wird mittels Beleuchtungsmodellen und Schattierungstechniken ermittelt. Die Berechnung der Beleuchtung erfolg je nach Beleuchtungsmodell in unterschiedlichen Stufen.

Beleuchtung und Schattierung

Ergänzende und vertiefende Module