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 |
|---|---|
|
Func ne faisait pas partie des huit valeurs acceptées. |
|
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 |
|
| Bibliothèque |
|
| DLL |
|