Ce que j'essaie de faire est de sortir une texture masquée sur un iPhone en utilisant OpenGL ES 1.1. Le comportement de combinaison par défaut semble fonctionner à mon avantage jusqu'à ce que je veuille réellement faire varier l'ALPHA du résultat final!OpenGL ES utilisation de glColor4f en multi-texturation
La « une » variable flottante (Alpha) n'a pas d'effet ici: (Tout le reste bien sorties, il est masqué et le dessin bien en dehors de l'alpha étant de façon incontrôlable 1,0 Opaque)
/* Setup First Texture (RGBA Texture) */
glClientActiveTexture(GL_TEXTURE0);
glActiveTexture(GL_TEXTURE0);
glColor4f(r, g, b, a);
glBindTexture(GL_TEXTURE_2D, t->tx);
glVertexPointer(2, GL_FLOAT, 0, afPos);
glTexCoordPointer(2, GL_FLOAT, 0, afUV);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
/* Setup Mask (RGBA Texture, White to Transparent Gradient) */
glClientActiveTexture(GL_TEXTURE1);
glActiveTexture(GL_TEXTURE1);
glEnable(GL_TEXTURE_2D);
glColor4f(r, g, b, a);
glBindTexture(GL_TEXTURE_2D, tMask->tx);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, afPos);
glTexCoordPointer(2, GL_FLOAT, 0, afUV);
/* Make the Mask Repeat */
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
/* Draw Both */
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
[modifier] L'ensemble la couleur n'a aucun effet, c'est comme si elle est définie sur (1, 1, 1, 1) donc ce n'est pas seulement l'alpha. [/ edit]
Pensez-y comme si vous aviez un calque masqué dans photoshop qui semble correct, maintenant tout ce que je veux faire est de définir l'opacité des calques. J'apprécie ton aide!
Bon travail, c'était tout! – Kyle