[Opengl] stencil buffer : comprend pas son fonctionnement
stencil buffer : comprend pas son fonctionnement [Opengl] - C++ - Programmation
MarshPosté le 17-04-2007 à 20:47:12
Bonjour,
Imaginons se code:
Code :
glDepthMask(GL_FALSE);
glColorMask(0, 0, 0, 0);
glEnable(GL_STENCIL_TEST);
glClear(GL_STENCIL_BUFFER_BIT); //met le stencil buffer à 0
glStencilFunc(GL_ALWAYS, 128, ~0); //valeur de reference = 128
glStencilOp(GL_KEEP, GL_KEEP, GL_DECR);
//rien pour l'instant ici (donc pas modification du stencil buffer)
glColorMask(1, 1, 1, 1); //réactivation de la couleur
glStencilFunc(GL_GREATER, 129, ~0);
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
//ici le code qui affiche un rectangle blanc qui rempli tout l'écran (j'ai pas mis le code pour ne pas encombré)
glDisable(GL_STENCIL_TEST);
glDepthMask(GL_TRUE);
Si j'ai bien compris : - Mon stencil buffer vaut toujours 0, je le modifie jamais. - Le rectangle blanc que je dessine ne devrait être affiché qu'au endroit où le stencil buffer vaut plus que 129. Et comme mon stencil buffer vaut 0 partout, il ne sera jamais affiché.
Pourtant quand j'exécute se bout de code, j'ai un écran tout blanc, pourquoi ?
Marsh Posté le 17-04-2007 à 20:47:12
Bonjour,
Imaginons se code:
Si j'ai bien compris :
- Mon stencil buffer vaut toujours 0, je le modifie jamais.
- Le rectangle blanc que je dessine ne devrait être affiché qu'au endroit où le stencil buffer vaut plus que 129. Et comme mon stencil buffer vaut 0 partout, il ne sera jamais affiché.
Pourtant quand j'exécute se bout de code, j'ai un écran tout blanc, pourquoi ?
Merci d'avance...
Message édité par casafa le 17-04-2007 à 22:29:57