Я пытаюсь поддержать ETC1 для моей игры на андроид, но я не знаю, что делать с альфа-каналом.
Может кто-нибудь сказать мне, с чего начать и как заставить ETC1 работать с альфой?
Обновить:
С помощью:
gl_fragColor = vec4 (tex1.rgb, tex2.a);
не работает, все еще есть черный прямоугольник вокруг моей текстуры
Вам нужно сделать шейдер с альфа-маской.
В основном вместо 1 текстуры для полной информации о цвете, включая прозрачность, есть 1 текстура для rgb (etc1) и 1 текстура для альфы (также может быть etc1).
Затем в своем фрагментном шейдере назначьте rgb из первой текстуры и альфа из 2-й.
gl_fragColor = vec4(tex1.rgb,tex2.a);
!Обратите внимание, что приведенный выше код только для объяснения подхода, синтаксис может быть неправильным.