glStencilFunc: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K () |
Flash (Diskussion | Beiträge) K (→Beschreibung) |
||
Zeile 31: | Zeile 31: | ||
== Beschreibung == | == Beschreibung == | ||
− | + | <b><i>Stenciling, like z-buffering, enables and disables drawing...<br> | |
− | ... | + | ...<br> |
− | ... | + | ...<br> |
− | ... where n is the number of bitplanes in the stencil buffer. | + | ... where n is the number of bitplanes in the stencil buffer.<i><b> |
=== Parameter für ''func'' === | === Parameter für ''func'' === | ||
Zeile 62: | Zeile 62: | ||
<br> | <br> | ||
+ | |||
== Hinweise == | == Hinweise == | ||
Nach der Initialisierung ist der Stenciltest deaktiviert.<br> | Nach der Initialisierung ist der Stenciltest deaktiviert.<br> |
Version vom 1. September 2004, 00:07 Uhr
Inhaltsverzeichnis
glStencilFunc
Name
glStencilFunc - setzt die Funktion und Referenzwerte für den Schablonentest. (Stenciltest)
Delphi-Spezifikation
procedure glStencilFunc(func: TGLenum; ref: TGLint; mask: TGLuint);
Parameter
func | Bestimmt die Funktion für den Stenciltest. Acht symbolische Namen werden akzeptiert: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, und GL_ALWAYS |
ref | Gibt den Referenzwert für den Stenciltest an. ref ist auf das Intervall[0, 2^n-1] beschränkt, wobei n die Anzahl der Bitplanes im Schablonenpuffer angibt. |
mask | Spezifiziert eine Maske die mit den Referenzwert und dem gespeicherten Wert UND-Verknüpft wird, nachdem der Test durchgeführt wurde. |
Beschreibung
Stenciling, like z-buffering, enables and disables drawing...
...
...
... where n is the number of bitplanes in the stencil buffer.<i><b>
Parameter für func
GL_NEVER
- Test wird niemals bestanden.
GL_LESS
- Test wird bestanden wenn ( ref & mask) < ( stencil & mask).
GL_LEQUAL
- Test wird bestanden wenn ( ref & mask) <= ( stencil & mask).
GL_GREATER
- Test wird bestanden wenn ( ref & mask) > ( stencil & mask).
GL_GEQUAL
- Test wird bestanden wenn ( ref & mask) >= ( stencil & mask).
GL_EQUAL
- Test wird bestanden wenn ( ref & mask) = ( stencil & mask).
GL_NOTEQUAL
- Test wird bestanden wenn ( ref & mask) <> ( stencil & mask).
GL_ALWAYS
- Test wird immer bestanden.
Hinweise
Nach der Initialisierung ist der Stenciltest deaktiviert.
Wenn es keinen Stencilbuffer gibt, werden keine Modifikationen bezüglich des Buffers durchgeführt und der Stenciltest wird immer bestanden.
Falls beim PixelFormat dem Stecil Puffer nicht genügend Bits zugeordnet werden, kann es zu erheblichen Geschwindigkeits-Einbußen kommen.
Fehlermeldungen
GL_INVALID_ENUM wird generiert wenn func ein ungültiger(keiner der 8 genannten) Wert übergeben wird.
GL_INVALID_OPERATION wird generiert wenn glStencilFunc innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGet mit Token GL_STENCIL_FUNC
glGet mit Token GL_STENCIL_VALUE_MASK
glGet mit Token GL_STENCIL_REF
glGet mit Token GL_STENCIL_BITS
glIsEnabled mit Token GL_STENCIL_TEST
Siehe auch
glAlphaFunc, glBlendFunc, glDepthFunc, glEnable, glIsEnabled, glLogicOp, glStencilOp