Tiefenpuffer

Aus DGL Wiki
(Weitergeleitet von Z-Buffer)
Wechseln zu: Navigation, Suche

Was ist der Tiefenpuffer?

Der Tiefenpuffer ist eine Tabelle oder Matrix, welche für jedes Fragment im Framebuffer einen Tiefenwert speichern kann.

Was macht der Tiefenpuffer?

Mit Hilfe des Tiefenpuffers kann bestimmt werden, ob ein Fragment eines zu zeichnenden Objektes sichtbar ist oder nicht (siehe Tiefentest). Wenn ein neues Objekt gerendert wird, wird in der Regel überprüft, ob der Tiefenwert des neuen Fragments kleiner ist als der Tiefenwert im Tiefenpuffer. Ist dies der Fall, besteht das Fragment diesen so genannten Tiefentest. Das heißt die Informationen des Fragments werden in den Framebuffer übernommen.

Wichtige Funktionen

Der Tiefentest kann durch die Befehle glEnable und glDisable und dem Parameter GL_DEPTH_TEST aktiviert bzw. deaktiviert werden.

Die Art des Tiefentests kann durch die Funktion glDepthFunc verändert werden.

Mit glDepthMask kann das Schreiben in den Tiefenpuffer deaktiviert und wieder aktiviert werden.

Der Befehl glClear mit dem Parameter GL_DEPTH_BUFFER_BIT füllt den Tiefenpuffer mit dem durch die Funktion glClearDepth zuvor bestimmten Wert.