Tiefenpuffer: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
 
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. 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.
 +
 
 +
Das Verhalten des Tiefenpuffers kann durch die Funktion [[glDepthFunc]] verändert werden.
 +
 
 +
Der Befehl [[glClear]] mit dem Parameter GL_DEPTH_BUFFER_BIT füllt den Tiefenpuffer mit dem durch die Funktion [[glClearDepth]] zuvor bestimmten Wert.

Version vom 5. Juli 2004, 10:03 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. 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.

Das Verhalten des Tiefenpuffers kann durch die Funktion glDepthFunc verändert werden.

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