【问题标题】:How to deal with etc1 alpha channel如何处理etc1 alpha通道
【发布时间】:2015-06-26 09:35:39
【问题描述】:

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

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

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

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

【问题讨论】:

  • 仍然没有找到解决办法

标签: android c++ alpha


【解决方案1】:

你需要做一个 alphamask 着色器。

基本上,不是为包括透明度在内的全彩色信息提供 1 个纹理,而是为 rgb (etc1) 提供 1 个纹理,为 alpha 提供 1 个纹理(也可以是 etc1)。

然后在您的片段着色器中,从第一个纹理分配 rgb,从第二个纹理分配 alpha。

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

!注意上面的代码只是为了举例说明方法,语法可能是错误的。

【讨论】:

  • 我还有黑色矩形,嗯
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 2019-08-30
  • 1970-01-01
  • 2010-10-30
相关资源
最近更新 更多