OpenGL ES: Como tingir textura com cores

Eu tenho textura com alfa. E eu quero tingi-lo com um pouco de cor, para que ele seja colorido dependendo do valor alfa da cor, mas a opacidade geral será definida apenas pela textura alf

Isso é semelhante à multi-texturização, mas com cores em vez de segunda textura. Como fazer isso

(Atualizado) Tentei configurar o combinador de texturas. A cor está com uma tonalidade fina, mas há um problema com o alfa - ele não tira valor da textura (como a máscara). Meu código neste 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);

Screenshots:

Sem tingimento:

Tinta com RGBA = (0, 0,5, 1, 0,5):

questionAnswers(3)

yourAnswerToTheQuestion