Поскольку текстуры ETC не поддерживают альфа-канал, я попытался объединить две текстуры ETC. Любой из вас знает, как перевести это в open gl es 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;
}
это фрагментарный шейдер в opengles 2.0. поскольку Open GL ES 1.x не поддерживает шейдер. я действительно нуждаюсь в вашей поддержке здесь.
Вы можете сделать это, создав первую текстуру без смешивания, затем включите смешение и визуализируйте вторую текстуру поверх первой. Для этого потребуется два вызова glDrawArrays() с этим между ними для включения смешивания:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer()