iOS9 Opengl ES texture 渲染问题?

升级到iOS9之后,发现游戏的动画引擎部分渲染出了问题。在渲染一个texture的时候,没有像素的地方直接变成黑色,正常情况下应该是透明的。

如图:

clipboard.png

在模拟器上一切都是正常,只有在真机上才会出现这样的问题,有人知道是为什么吗?

阅读 3.8k
1 个回答

找到原因了。
iOS9之前包里面PNG图片都有进行alpha预乘处理,在iOS9中貌似就没有预乘了。
而cocos2dx默认png都是有进行alpha预乘的,导致的结果就是用处理alpha预乘过的PNG的方法来处理实际没有aplha预乘的图片。

解决办法:

  1. 不使用PNG,使用pvr.ccz之类的不包含alpha预乘逻辑的图片格式来代替。

  2. 手动标示没有进行alpha预乘。

iOS9实在是太坑爹了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题