[Opengl] stencil buffer : comprend pas son fonctionnement

stencil buffer : comprend pas son fonctionnement [Opengl] - C++ - Programmation

Marsh Posté le 17-04-2007 à 20:47:12    

Bonjour,
 
Imaginons se code:

Code :
  1. glDepthMask(GL_FALSE);
  2. glColorMask(0, 0, 0, 0);
  3. glEnable(GL_STENCIL_TEST);
  4. glClear(GL_STENCIL_BUFFER_BIT); //met le stencil buffer à 0
  5. glStencilFunc(GL_ALWAYS, 128, ~0); //valeur de reference = 128
  6. glStencilOp(GL_KEEP, GL_KEEP, GL_DECR);
  7. //rien pour l'instant ici (donc pas modification du stencil buffer)
  8. glColorMask(1, 1, 1, 1); //réactivation de la couleur
  9. glStencilFunc(GL_GREATER, 129, ~0);
  10. glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
  11. //ici le code qui affiche un rectangle blanc qui rempli tout l'écran (j'ai pas mis le code pour ne pas encombré)
  12. glDisable(GL_STENCIL_TEST);
  13. 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
Reply

Marsh Posté le 17-04-2007 à 20:47:12   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed