因为ETC纹理不支持alpha通道,所以我尝试混合两个ETC纹理。你们中的任何人都知道如何将其翻译成开放的gles 1.x
varying mediump vec2 uv0;
uniform sampler2D texture;
uniform sampler2D texture_alpha;
void main()
{
vec4 color = texture2D(texture, uv0);
vec4 color_a = texture2D(texture_alpha, uv0);
vec4 final_color = vec4(color.rgb, color_a.r);
gl_FragColor = final_color;
}
这是opengles2.0中的片段着色器。因为Open GL ES 1.x不支持着色器。我真的需要你的支持。
您可以在不混合的情况下渲染第一个纹理,然后启用混合并在第一个纹理上渲染第二个纹理。这将需要对glDrawArrays()进行两次调用,其间包含以下内容以启用混合:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer()