Cocos2d-x是否支持ETC2纹理?

时间:2015-07-09 00:33:29

标签: cocos2d-x

我正在构建游戏,而且我目前支持以下纹理格式:

  • ATC
  • DXT
  • PNG
  • PVR

我想添加对ETC2的支持(ETC1不会为我们工作,因为我们的大部分图片都需要alpha通道)。 Cocos2d-x是否支持ETC2纹理?

1 个答案:

答案 0 :(得分:2)

没有

但有两件事。

Cocos2d-x在CCTexture2D.h中没有ETC2定义。您需要自己添加ETC2定义。

Cocos2d-x至少在Android上使用OpenGL ES 2.0上下文。

https://github.com/cocos2d/cocos2d-x/blob/v4-develop/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxGLSurfaceView.java#L76

this.setEGLContextClientVersion(2);

因此,使用ETC2进行glCompressedTexImage2D需要这些扩展。

OES_compressed_ETC2_RGB8_texture
OES_compressed_ETC2_sRGB8_texture
OES_compressed_ETC2_punchthroughA_RGBA8_texture
OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture
OES_compressed_ETC2_RGBA8_texture
OES_compressed_ETC2_sRGB8_alpha8_texture