如何处理etc1阿尔法通道

How to deal with etc1 alpha channel

本文关键字:etc1 阿尔法 通道 处理 何处理      更新时间:2023-10-16

我正试图为我的android游戏支持ETC1,但我不知道如何处理alpha通道。

有人能告诉我从哪里开始以及如何让ETC1与alpha一起工作吗?

更新:使用:gl_fragColor=vec4(tex1.rgb,tex2.a);

不起作用,在我的纹理周围仍然有一个黑色矩形

您需要创建一个Alpha遮罩着色器。

基本上,对于包括透明度的全色信息,不是具有1个纹理,而是具有1个rgb纹理(etc1)和1个alpha纹理(也可以是etc1)。

然后在片段着色器中,从第一个纹理指定rgb,从第二个纹理指定alpha。

 gl_fragColor = vec4(tex1.rgb,tex2.a);

请注意,上面的代码只是为了简化该方法,语法可能是错误的。