casafa | 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 ?
Merci d'avance... Message édité par casafa le 17-04-2007 à 22:29:57
|