La Texture et la couleur en GLSL?

Je ne peux pas comprendre, comment faire avec OpenGL ES 2.0, des Résultats similaires à OpenGL ES 1.1. Je veux utiliser effectivement un Sampler2D (à mon mélange de texture avec le Canal Alpha pour le Framebuffer) et également définir une Couleur. La texture doit être peints dans la couleur - comme dans OpenGL ES 1.1
Mon FragmentShader ressemble à ceci:

varying lowp vec4 colorVarying;
varying mediump vec2 texcoordVarying;
uniform sampler2D texture;

void main(){
    gl_FragColor = texture2D(texture, texcoordVarying) + colorVarying;
}

Mais la partie "+ colorVarying" détruit mon alphachannel avec du noir (parce que j'ai aussi ajouter colorVarying, si le AlphaValue est 0) et fait un étrange effet de dégradé... Comment est la texture & canal de couleur combinés en fonction fixes pipeline? Mon Remplacement pour glColor4f est:

void gl2Color4f(GLfloat r, GLfloat g, GLfloat b, GLfloat a){
    const GLfloat pointer[] = {r, g, b, a};
    glVertexAttribPointer(ATTRIB_COLOR, 2, GL_FLOAT, 0, 0, pointer);
    glEnableVertexAttribArray(ATTRIB_COLOR);
}

Et je suis en utilisant glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); si c'est en quelque sorte pertinent...

Pour la couleur 1.0, 0.0, 1.0, 1.0 voici ce que je reçois aujourd'hui:
La Texture et la couleur en GLSL?

Et je veux obtenir:

La Texture et la couleur en GLSL?

Quelques idées pour accomplir cette?
Toute aide serait appréciée.

OriginalL'auteur Constantin | 2011-02-14