Tiefenpuffer: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
 
K (Wichtige Funktionen: glDepthMask)
 
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Was ist der Tiefenpuffer? ==
 
== Was ist der Tiefenpuffer? ==
  
Der Tiefenpuffer ist eine Tabelle oder Matrix welche für jedes Pixel auf dem Bildschirm einen Tiefenwert speichern kann.
+
Der Tiefenpuffer ist eine Tabelle oder Matrix, welche für jedes [[Fragment]] im [[Framebuffer]] einen Tiefenwert speichern kann.
  
 
== Was macht der Tiefenpuffer? ==
 
== Was macht der Tiefenpuffer? ==
  
Der Tiefenpuffer bestimmt ob ein [[Primitive | Polygone]](die Pixel des Polygons) sichtbar sind oder nicht. Wenn ein neues Primitiv gerendert wird, wird überprüft ob der Tiefenwert des neuen Primitivs kleiner ist als der gespeicherte Tiefenwert (näher zur Kamera). Wenn dem so ist, wird das Pixel in den [[Doppelpufferung | Backbuffer]] gezeichnet und der Tiefenwert des Pixels in den Tiefenpuffer eingetragen.
+
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 [[glEnable|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.

Aktuelle Version vom 27. November 2013, 23:59 Uhr

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.