Z-Puffer
← OpenSceneGraph | ● | Z-Buffer Fighting →
Speichern der normalisierten (nicht homogenisierten) Tiefe z für alle projizierten Punkte (bzw. Fragmente) im Z-Puffer:
Frame-Buffer | Z-Buffer |
- Alle Fragmente auf einem Sichtstrahls haben dieselbe Position auf dem Bildschirm
- Wenn die aktuelle Tiefe z eines Fragments kleiner als die des entsprechenden Wertes im Puffer ist, dann
- ist der Punkt sichtbar (d.h. nicht verdeckt)
- wird der Bildpunkt gezeichnet (d.h. Farbwerte werden überschrieben)
- und der Tiefenwert im Z-Puffer aktualisiert.
- Ansonsten wird der Bildpunkt
- nicht gezeichnet
- und der Z-Puffer nicht aktualisiert
- weil das Fragment verdeckt ist.
- Wenn die aktuelle Tiefe z eines Fragments kleiner als die des entsprechenden Wertes im Puffer ist, dann
Das Ergebnis des Z-Puffer Algorithmus ist unabhängig von der Reihenfolge der Dreiecke, d.h. es ist egal, in welcher Reihenfolge die Dreiecke gezeichnet werden.
Im Gegensatz zum sog. Painters-Algorithm, bei dem die Objekte tiefengestaffelt von hinten nach vorne gemalt werden. Hier ist die Reihenfolge nicht unabhängig von der Betrachterposition.
Siehe The Algorithmic Joy of Painting
← OpenSceneGraph | ● | Z-Buffer Fighting →