glDepthFunc: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Hinweise)
K (Kategorisierung)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
 
= glDepthFunc =
 
= glDepthFunc =
<br>
+
 
 
== Name ==
 
== Name ==
Die Funktion glDepthFunc legt fest, wann ein [[Fragment]] den [[Tiefentest]] im [[Tiefenpuffer]] besteht.
+
Die Funktion '''glDepthFunc''' legt fest, wann ein [[Fragment]] den [[Tiefentest]] im [[Tiefenpuffer]] besteht.
  
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
 
  '''procedure''' glDepthFunc(''func'': TGLenum);
 
  '''procedure''' glDepthFunc(''func'': TGLenum);
<br>
+
 
 +
 
 +
 
 
== Parameter ==
 
== Parameter ==
 
{| border="1" rules="all"
 
{| border="1" rules="all"
Zeile 12: Zeile 14:
 
| Legt die Tiefenvergleichsfunktion fest. Folgende symbolische Konstanten sind erlaubt: <br> '''GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL''' und '''GL_ALWAYS'''. Voreingestellt ist '''GL_LESS'''.
 
| Legt die Tiefenvergleichsfunktion fest. Folgende symbolische Konstanten sind erlaubt: <br> '''GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL''' und '''GL_ALWAYS'''. Voreingestellt ist '''GL_LESS'''.
 
|}
 
|}
<br>
+
 
 +
 
  
 
== Beschreibung ==
 
== Beschreibung ==
Zeile 51: Zeile 54:
  
 
== Hinweise ==
 
== Hinweise ==
Der Standartwert von ''func'' ist '''GL_LESS'''.<br>
+
Der Standartwert von ''func'' ist '''GL_LESS'''.
 +
 
 
Nach der Initalisierung der GL ist der Tiefentest deaktiviert. Den Tiefentest kann man mit [[glEnable#GL_DEPTH_TEST|glEnable('''GL_DEPTH_TEST''')]] aktivieren.
 
Nach der Initalisierung der GL ist der Tiefentest deaktiviert. Den Tiefentest kann man mit [[glEnable#GL_DEPTH_TEST|glEnable('''GL_DEPTH_TEST''')]] aktivieren.
  
'''GL_LEQUAL''' kann bei [[Z-Fighting]] Problemen helfen.
+
'''GL_LEQUAL''' kann bei [[Z-Fighting]]-Problemen helfen.
 +
 
 +
 
  
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
GL_INVALID_ENUM wird generiert wenn ''func'' ein ungültiger Wert übergeben wird.<br>
+
'''GL_INVALID_ENUM''' wird generiert, wenn ''func'' ein ungültiger Wert übergeben wird.
GL_INVALID_OPERATION wird generiert wenn '''glDepthFunc''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.  
+
 
<br>
+
'''GL_INVALID_OPERATION''' wird generiert, wenn '''glDepthFunc''' innerhalb eines [[glBegin]]-[[glEnd]]-Blocks aufgerufen wird.
 +
 
 +
 
 +
 
 
==  Zugehörige Wertrückgaben ==
 
==  Zugehörige Wertrückgaben ==
[[glGet]] mit Token GL_DEPTH_FUNC<br>
+
[[glGet]] mit Token [[glGet#GL_DEPTH_FUNC|GL_DEPTH_FUNC]]
[[glIsEnabled]] mit Token GL_DEPTH_TEST
+
 
<br>
+
[[glIsEnabled]] mit Token [[glGet#GL_DEPTH_TEST|GL_DEPTH_TEST]]
 +
 
 +
 
 +
 
 
== Siehe auch ==
 
== Siehe auch ==
 
[[Tiefenpuffer]], [[glDepthRange]], [[glEnable]]
 
[[Tiefenpuffer]], [[glDepthRange]], [[glEnable]]
Zeile 70: Zeile 82:
  
 
[[Kategorie:GL|DepthFunc]]
 
[[Kategorie:GL|DepthFunc]]
  [[Kategorie:GL1.0]]
+
  [[Kategorie:GL1.0|DepthFunc]]
 +
[[Kategorie:GL3|DepthFunc]]

Aktuelle Version vom 18. Juni 2011, 16:05 Uhr

glDepthFunc

Name

Die Funktion glDepthFunc legt fest, wann ein Fragment den Tiefentest im Tiefenpuffer besteht.

Delphi-Spezifikation

procedure glDepthFunc(func: TGLenum);


Parameter

func Legt die Tiefenvergleichsfunktion fest. Folgende symbolische Konstanten sind erlaubt:
GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL und GL_ALWAYS. Voreingestellt ist GL_LESS.


Beschreibung

Die Funktion glDepthFunc legt fest, wann ein Fragment den Tiefentest im Tiefenpuffer besteht.

Der Parameter func legt die Tiefenvergleichsfunktion fest. Die Tiefenvergleichsfunktion ist eine Bedingung, die erfüllt sein muss, damit das entsprechende Pixel/Fragment gezeichnet wird.

Folgende Funktionen existieren:

GL_NEVER Neue Fragmente bestehen niemals den Vergleich.
GL_LESS Neue Fragmente bestehen den Vergleich, wenn sie einen geringeren Tiefenwert haben.
GL_EQUAL Neue Fragmente bestehen den Vergleich, wenn sie einen gleichgroßen Tiefenwert haben.
GL_LEQUAL Neue Fragmente bestehen den Vergleich, wenn sie einen kleineren oder gleichgroßen Tiefenwert haben.
GL_GREATER Neue Fragmente bestehen den Vergleich, wenn sie einen größeren Tiefenwert haben.
GL_NOTEQUAL Neue Fragmente bestehen den Vergleich, wenn sie einen anderen Tiefenwert haben.
GL_GEQUAL Neue Fragmente bestehen den Vergleich, wenn sie einen größeren oder gleichgroßen Tiefenwert haben.
GL_ALWAYS Neue Fragmente bestehen immer den Test.



Hinweise

Der Standartwert von func ist GL_LESS.

Nach der Initalisierung der GL ist der Tiefentest deaktiviert. Den Tiefentest kann man mit glEnable(GL_DEPTH_TEST) aktivieren.

GL_LEQUAL kann bei Z-Fighting-Problemen helfen.


Fehlermeldungen

GL_INVALID_ENUM wird generiert, wenn func ein ungültiger Wert übergeben wird.

GL_INVALID_OPERATION wird generiert, wenn glDepthFunc innerhalb eines glBegin-glEnd-Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGet mit Token GL_DEPTH_FUNC

glIsEnabled mit Token GL_DEPTH_TEST


Siehe auch

Tiefenpuffer, glDepthRange, glEnable

Hintergrundwissen: Tiefentest