glDepthFunc: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) (=Funktionsweise=) |
K (Kategorisierung) |
||
(15 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | = | + | = glDepthFunc = |
− | == | + | == Name == |
− | + | Die Funktion '''glDepthFunc''' legt fest, wann ein [[Fragment]] den [[Tiefentest]] im [[Tiefenpuffer]] besteht. | |
− | == | + | == Delphi-Spezifikation == |
− | + | '''procedure''' glDepthFunc(''func'': TGLenum); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '''GL_NEVER''' | + | == Parameter == |
− | + | {| border="1" rules="all" | |
+ | ! ''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''' 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: | |
− | Neue Fragmente bestehen den Vergleich, wenn sie einen anderen | + | {| {{Prettytable_B1}} |
+ | ! 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. | ||
+ | |- | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | ===Siehe auch | + | |
− | [[Tiefenpuffer]], [[Tiefentest]] | + | == 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|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 [[glGet#GL_DEPTH_FUNC|GL_DEPTH_FUNC]] | ||
+ | |||
+ | [[glIsEnabled]] mit Token [[glGet#GL_DEPTH_TEST|GL_DEPTH_TEST]] | ||
+ | |||
+ | |||
+ | |||
+ | == Siehe auch == | ||
+ | [[Tiefenpuffer]], [[glDepthRange]], [[glEnable]] | ||
+ | |||
+ | Hintergrundwissen: [[Tiefentest]] | ||
+ | |||
+ | [[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