fonction glStencilFunc
La fonction glStencilFunc définit la fonction et la valeur de référence pour le test de gabarit.
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_NEVER
Échoue toujours. - GL_LESS
Passe si (masque de référence&)< (masquede gabarit&). - GL_LEQUAL
Passe if (ref&mask) = (stencil&mask). - GL_GREATER
Passe si (masque de référence&)> (masquede gabarit&). - GL_GEQUAL
Passe if (ref&mask) = (stencil&mask). - GL_EQUAL
Passe if (ref&mask) = (stencil&mask). - GL_NOTEQUAL
Passe si (masquede référence&) ? (gabarit&) masque). - GL_ALWAYS
Passe toujours. -
ref
-
Valeur de référence pour le test de gabarit. Le paramètre ref est limité à la plage [0, 2n 1], où n est le nombre de plans de bits dans la mémoire tampon de gabarit.
-
mask
-
Masque ETavec la valeur de référence et la valeur de gabarit stockée lorsque le test est effectué.
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 .
Nom | Signification |
---|---|
|
func n’était pas l’une des huit valeurs acceptées. |
|
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd. |
Notes
Le pochoir, comme la mise en mémoire tampon z, active et désactive le dessin par pixel. Vous dessinez dans les plans de gabarit à l’aide de primitives de dessin OpenGL, puis affichez la géométrie et les images, en utilisant les plans de gabarit pour masquer des parties de l’écran. La sténonciation est généralement utilisée dans les algorithmes de rendu multipass pour obtenir des effets spéciaux, tels que des décalques, des plan et un rendu constructif de la géométrie pleine.
Le test de gabarit élimine de manière conditionnelle un pixel basé sur le résultat d’une comparaison entre la valeur de référence et la valeur dans la mémoire tampon de gabarit. Le test est activé par glEnable et glDisable avec argument GL_STENCIL_TEST. Les actions effectuées en fonction du résultat du test de gabarit sont spécifiées avec glStencilOp.
Le paramètre func est une constante symbolique qui détermine la fonction de comparaison de gabarits. Il accepte l’une des huit valeurs indiquées ci-dessus. Le paramètre ref est une valeur de référence entière utilisée dans la comparaison de gabarits. Il est limité à la plage [0, 2n 1], où n est le nombre de plans de bits dans la mémoire tampon de gabarit. Le paramètre mask est ANDau niveau du bit avec la valeur de référence et la valeur de gabarit stockée, les valeurs ANDed participant à la comparaison.
Si stencil représente la valeur stockée dans l’emplacement de mémoire tampon de gabarit correspondant, la liste précédente montre l’effet de chaque fonction de comparaison qui peut être spécifiée par func. C’est seulement si la comparaison réussit que le pixel est passé à l’étape suivante du processus de rastérisation (voir glStencilOp). Tous les tests traitent les valeurs de gabarit comme des entiers non signés dans la plage [0, 2n 1], où n est le nombre de plans de bits dans la mémoire tampon de gabarit.
Initialement, le test de gabarit est désactivé. S’il n’existe aucune mémoire tampon de gabarit, aucune modification de gabarit ne peut se produire et c’est comme si le test de gabarit réussit toujours.
Les fonctions suivantes récupèrent des informations relatives à glStencilFunc :
glGet avec argument GL_STENCIL_FUNC
glGet avec argument GL_STENCIL_VALUE_MASK
glGet avec argument GL_STENCIL_REF
glGet avec argument GL_STENCIL_BITS
glIsEnabled avec argument GL_STENCIL_TEST
Spécifications
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 |
|