glDepthFunc: Unterschied zwischen den Versionen
DGLBot (Diskussion | Beiträge) K (GlDepthFunc wurde nach glDepthFunc verschoben) |
K (Kategorisierung) |
||
(7 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= glDepthFunc = | = glDepthFunc = | ||
− | + | ||
== 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); | ||
− | + | ||
+ | |||
+ | |||
== Parameter == | == Parameter == | ||
{| border="1" rules="all" | {| border="1" rules="all" | ||
! ''func'' | ! ''func'' | ||
− | | Legt die Tiefenvergleichsfunktion fest. Folgende symbolische Konstanten sind erlaubt: <br> '''GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL | + | | 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'''. |
|} | |} | ||
− | + | ||
+ | |||
+ | |||
== Beschreibung == | == Beschreibung == | ||
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. | ||
Zeile 19: | Zeile 23: | ||
Folgende Funktionen existieren: | Folgende Funktionen existieren: | ||
− | {| {{ | + | {| {{Prettytable_B1}} |
! GL_NEVER | ! GL_NEVER | ||
| Neue Fragmente bestehen niemals den Vergleich. | | Neue Fragmente bestehen niemals den Vergleich. | ||
Zeile 46: | Zeile 50: | ||
|} | |} | ||
− | + | ||
+ | |||
+ | |||
== Hinweise == | == Hinweise == | ||
− | Der Standartwert von ''func'' ist '''GL_LESS'''. | + | Der Standartwert von ''func'' ist '''GL_LESS'''. |
− | Nach der Initalisierung der GL ist der Tiefentest deaktiviert. | + | |
+ | 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. | ||
+ | |||
+ | |||
− | |||
== Fehlermeldungen == | == Fehlermeldungen == | ||
− | GL_INVALID_ENUM wird generiert wenn ''func'' ein ungültiger Wert übergeben wird. | + | '''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. | + | |
− | + | '''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 | + | [[glGet]] mit Token [[glGet#GL_DEPTH_FUNC|GL_DEPTH_FUNC]] |
− | [[glIsEnabled]] mit Token GL_DEPTH_TEST | + | |
− | + | [[glIsEnabled]] mit Token [[glGet#GL_DEPTH_TEST|GL_DEPTH_TEST]] | |
+ | |||
+ | |||
+ | |||
== Siehe auch == | == Siehe auch == | ||
[[Tiefenpuffer]], [[glDepthRange]], [[glEnable]] | [[Tiefenpuffer]], [[glDepthRange]], [[glEnable]] | ||
Zeile 66: | Zeile 82: | ||
[[Kategorie:GL|DepthFunc]] | [[Kategorie:GL|DepthFunc]] | ||
+ | [[Kategorie:GL1.0|DepthFunc]] | ||
+ | [[Kategorie:GL3|DepthFunc]] |
Aktuelle Version vom 18. Juni 2011, 16:05 Uhr
Inhaltsverzeichnis
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