glStencilFunc

Aus DGL Wiki
Wechseln zu: Navigation, Suche

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