OpenGL ES: Cómo teñir la textura con el color

Tengo textura con alfa. Y quiero teñirlo con un poco de color, por lo que se coloreará según el valor alfa del color, pero la opacidad general se definirá solo por la textura alfa.

Esto es similar a la textura múltiple pero con color en lugar de una segunda textura. ¿Cómo hacerlo

(Actualizado) He intentado configurar el combinador de texturas. El color está teñido bien, pero hay un problema con el alfa: no toma valor de la textura (como la máscara). Mi código en este momento:

glActiveTexture (GL_TEXTURE0); // do we need stage #1?
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE);
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, (GLfloat*) &tintColor_);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC2_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_ONE_MINUS_SRC_ALPHA);
// this doesn't work for alpha:
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_ALPHA, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA);

Capturas de pantalla:

Sin tintes:

Tinte con RGBA = (0, 0.5, 1, 0.5):

Respuestas a la pregunta(6)

Su respuesta a la pregunta