Die Rasterisierung ist die zentrale feste Stufe der Grafik-Pipeline: Sie wandelt die von der Geometrie-Stufe gelieferten Dreiecke in Fragmente um — die Kandidaten für einzelne Bildpunkte (Pixel). Erst durch sie wird aus mathematischer 3D-Geometrie ein sichtbares Rasterbild.

Wie die Rasterisierung arbeitet

Für jedes Dreieck prüft die Rasterisierungs-Hardware, welche Pixel auf dem Bildschirm von der Dreiecksfläche überdeckt werden (Coverage- beziehungsweise Edge-Test). Für jedes überdeckte Pixel entsteht ein Fragment. Dabei werden die Attribute der drei Eckpunkte über die Fläche hinweg per baryzentrischer Interpolation weich verrechnet — so erhält jedes Fragment zum Beispiel seine eigene, korrekt abgestufte Texturkoordinate.

Die Rasterisierung ist eine Fixed-Function-Stufe: Sie ist nicht programmierbar, sondern als feste Hardware-Schaltung realisiert und über Zustandsparameter (wie die Rasterisierungs-Breite oder das Abschneide-Rechteck) konfigurierbar.

Einordnung in die Pipeline

  • Sie liegt nach dem Vertex-Shader (und optionalen Geometry-/Tessellation-Stufen) und vor dem Fragment-Shader.
  • Ein Fragment ist noch kein endgültiger Pixel: Ob es sichtbar wird, entscheidet erst der Tiefentest im Output Merger.
  • Der Z-Buffer (Tiefenpuffer) hält für jedes Pixel die bisher nächste Tiefe — Fragmente dahinter werden verworfen, ohne dass gemalt werden muss.
  • Die Leistungsgrenze der Rasterisierung heißt Fillrate: die Zahl der Pixel, die pro Sekunde gefüllt werden können. Bei sehr hohen Auflösungen wird sie zum Engpass.

Abgrenzung

Raytracing verfolgt dagegen Lichtstrahlen durch die Szene und braucht keine Rasterisierung im klassischen Sinn — es ist aber deutlich rechenintensiver. Aktuelle GPUs mischen beide Verfahren (siehe Compute-Shader für die allgemeine GPU-Berechnung).

Verwandte Grundlagen: Grafik-Pipeline, Vertex-Shader, Fragment-Shader, Shader.