我無法弄清楚,如何獲得與OpenGL ES 2.0相似的OpenGL ES 1.1結果。我想實際使用Sampler2D(將我的紋理與Alpha通道融合到Framebuffer)並設置Color。質地應在顏色畫 - 在OpenGL ES像1.1 我FragmentShader看起來是這樣的:GLSL中的紋理和顏色?
varying lowp vec4 colorVarying;
varying mediump vec2 texcoordVarying;
uniform sampler2D texture;
void main(){
gl_FragColor = texture2D(texture, texcoordVarying) + colorVarying;
}
但部分「+ colorVarying」破壞了我的alpha通道,黑色(因爲我也加colorVarying,如果AlphaValue是0),並使一個奇怪的漸變效果...紋理&色彩通道結合在固定的功能管道?我對glColor4f更換:
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);
}
而且我使用glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);如果這是某種相關...
對於彩色1.0,0.0,1.0,1.0這裏是我現在得到:
而且我想:
一些想法來完成這個? 任何幫助,將不勝感激。
謝謝!這對我來說非常有效。 – Constantin 2011-02-15 10:22:16