【发布时间】:2015-06-26 09:35:39
【问题描述】:
我正在尝试为我的 android 游戏支持 ETC1,但我不知道如何处理 alpha 通道。
谁能告诉我从哪里开始以及如何让 ETC1 与 alpha 一起工作?
更新: 使用: gl_fragColor = vec4(tex1.rgb,tex2.a);
不起作用,我的纹理周围还有一个黑色矩形
【问题讨论】:
-
仍然没有找到解决办法
我正在尝试为我的 android 游戏支持 ETC1,但我不知道如何处理 alpha 通道。
谁能告诉我从哪里开始以及如何让 ETC1 与 alpha 一起工作?
更新: 使用: gl_fragColor = vec4(tex1.rgb,tex2.a);
不起作用,我的纹理周围还有一个黑色矩形
【问题讨论】:
你需要做一个 alphamask 着色器。
基本上,不是为包括透明度在内的全彩色信息提供 1 个纹理,而是为 rgb (etc1) 提供 1 个纹理,为 alpha 提供 1 个纹理(也可以是 etc1)。
然后在您的片段着色器中,从第一个纹理分配 rgb,从第二个纹理分配 alpha。
gl_fragColor = vec4(tex1.rgb,tex2.a);
!注意上面的代码只是为了举例说明方法,语法可能是错误的。
【讨论】: