Avec le tampon stencil dans opengl-es pour Android, j'essaie simplement de masquer le dessin d'une partie de l'écran. Je pense que je l'ai mis en place correctement, mais il ne masque pas les parties non-pochoir. Voici une extraction de code pour ce que je fais.Obtention du tampon Stencil OpenGL-ES Fonctionnement
gl.glEnable(GL10.GL_STENCIL_TEST);
gl.glClearStencil(0);
gl.glClear(GL10.GL_STENCIL_BUFFER_BIT);
gl.glColorMask(false, false, false, false);
gl.glDepthMask(false);
gl.glStencilFunc(GL10.GL_ALWAYS, 1, 1);
gl.glStencilOp(GL10.GL_REPLACE, GL10.GL_REPLACE, GL10.GL_REPLACE);
drawMask(); //I have confirmed this draws to the correct location by allowing colour to show. Trust that this draws the mask to the correct location.
gl.glColorMask(true, true, true, true);
gl.glDepthMask(true);
gl.glStencilFunc(GL10.GL_EQUAL, 1, 1);
gl.glStencilOp(GL10.GL_KEEP, GL10.GL_KEEP, GL10.GL_KEEP);
drawItems(); //Draw everything. Only items inside the masked area should be drawn. But everything is drawn with this code...
gl.glDisable(GL10.GL_STENCIL_TEST);
Quelqu'un at-il quelque chose de mal à cela? Qu'est-ce qu'il fait essentiellement est de dessiner une boîte pour dire, la moitié de l'écran (cela fonctionne si j'avais la couleur activée) qui définit le tampon stencil à 1 pour cette zone. Et à la fin, je dessine sur tout l'écran. Je veux que ça ne dessine que dans la moitié supérieure, mais ça attire tout.
Merci d'avance.
Votre configuration de contexte [ont des bits de mémoire tampon pochoir] (http://www.mail-archive.com/[email protected]/msg21180.html)? – genpfault
Ce n'est pas le cas. Merci, je pensais que c'était une fonctionnalité opengl nécessaire. On dirait que ce n'est pas le cas. – Moncader