Question

J'essaye d'utiliser le tampon de stencil d'un FBO dans OpenGL, mais je n'arrive pas à le faire fonctionner.J'ai lié une texture depth24_stencil8 au FBO à la fois pour les cibles de profondeur et de pochoir.En guise de simple test, j'ai essayé:

/* Enable FBO */

glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_NEVER, 1, 0xff);
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);

glBegin(GL_TRIANGLE);
/* Draw some triangles */
glEnd();

glDisable(GL_STENCIL_TEST);

/* Disable FBO and render it on screen as a texture. */

Comme j'utilise GL_NEVER, rien ne doit être rendu du tout, mais je peux voir les triangles.C'est comme s'il n'y avait pas du tout de pochoir, mais je ne comprends pas pourquoi.Essayer ce code sans FBO fonctionne, donc je pense que j'utilise correctement les fonctions de pochoir.Je n'ai aucune idée de comment résoudre ce problème.Quelqu'un a-t-il déjà utilisé un pochoir avec des FBO?

Était-ce utile?

La solution

Mon problème, je n'attachais pas correctement le tampon de pochoir à mon FBO.Ce qui est étrange, c'est que mon statut fbo n'indiquait aucune erreur ou mauvaise pièce jointe, donc j'étais persuadé que c'était OK ... ce problème m'a rendu fou mais maintenant il semble fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top