glStencilFunc fonction)

La fonction glStencilFunc définit la fonction et la valeur de référence pour le test des stencils.

Syntaxe

void WINAPI glStencilFunc(
   GLenum func,
   GLint  ref,
   GLuint mask
);

Paramètres

func

Fonction de test. Les huit jetons suivants sont valides.

Valeur Signification
GL _ jamais
Échoue toujours.
GL _ moins
Passe si ( & masque de référence) < (masque de stencil & ).
_LEQUAL GL
Passe si ( & masque de référence) = (masque de stencil & ).
GL _ supérieur
Passe si ( & masque de référence) > (masque de stencil & ).
_GEQUAL GL
Passe si ( & masque de référence) = (masque de stencil & ).
GL _ égal
Passe si ( & masque de référence) = (masque de stencil & ).
_NOTEQUAL GL
Passe si ( & masque de référence) ? (gabarit & masque).
_toujours GL
Passe toujours.

ref

Valeur de référence pour le test de stencil. Le paramètre ref est ancré à la plage [ 0, 2 n 1 ] , où n est le nombre de bitplanes dans la mémoire tampon du stencil.

mask

Masque qui est et Ed avec la valeur de référence et la valeur de stencil stockée lorsque le test est terminé.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .

Name Signification
_enum GL non valide _
Func ne faisait pas partie des huit valeurs acceptées.
_opération non valide du GL _
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd.

Remarques

Le stencil, tel que la mise en mémoire tampon z, permet d’activer et de désactiver le dessin par pixel. Vous dessinez dans les plans de stencil à l’aide de primitives de dessin OpenGL, puis vous affichez la géométrie et les images à l’aide des plans de gabarit pour masquer des parties de l’écran. Le stencil est généralement utilisé dans les algorithmes de rendu multipasses pour obtenir des effets spéciaux, tels que les décalques, le mode plan et le rendu de géométrie solide constructive.

Le test de stencil élimine conditionnellement un pixel en fonction du résultat d’une comparaison entre la valeur de référence et la valeur dans la mémoire tampon de stencil. Le test est activé par glEnable et glDisable avec l’argument de test de stencil du GL _ _ . Les actions effectuées en fonction du résultat du test de stencil sont spécifiées avec glStencilOp.

Le paramètre Func est une constante symbolique qui détermine la fonction de comparaison de stencil. Il accepte l’une des huit valeurs indiquées ci-dessus. Le paramètre ref est une valeur de référence entière qui est utilisée dans la comparaison de stencil. Elle est ancrée dans la plage [ 0, 2 n 1 ] , où n est le nombre de bitplanes dans la mémoire tampon du stencil. Le paramètre Mask est au niveau du bit and Ed avec la valeur de référence et la valeur de stencil stockée, avec les valeurs et Ed qui participent à la comparaison.

Si le stencil représente la valeur stockée dans l’emplacement de la mémoire tampon de stencil correspondante, la liste précédente montre l’effet de chaque fonction de comparaison qui peut être spécifiée par Func. Uniquement si la comparaison réussit est le pixel passé à l’étape suivante du processus de pixellisation (voir glStencilOp). Tous les tests considèrent les valeurs de stencil comme des entiers non signés dans la plage [ 0, 2 n 1 ] , où n est le nombre de bitplanes dans la mémoire tampon de stencil.

Au départ, le test stencil est désactivé. S’il n’existe pas de mémoire tampon de stencil, aucune modification de stencil ne peut se produire et c’est comme si le test de stencil passe toujours.

Les fonctions suivantes récupèrent les informations relatives à glStencilFunc:

glGet avec argument GL de _ stencil _ Func

glGet avec argument valeur de stencil du gabarit de GL _ _ _

glGet avec argument de _ référence de stencil de GL _

glGet avec arguments de stencil de la comptabilité GL _ _

glIsEnabled avec l’argument _ test de stencil du GL _

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel - [Applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server - [Applications de bureau uniquement]
En-tête
GL. h
Bibliothèque
Opengl32. lib
DLL
Opengl32.dll

Voir aussi

glAlphaFunc

glBegin

glBlendFunc

glDepthFunc

glEnable

glEnd

glIsEnabled

glLogicOp

glStencilOp