压缩纹理使用求助

我这边自己加了对etc2的支持问题
我的处理是glTexImage2D判断类型然后改用为glCompressedTexImage2D
但是到了glTexSubImage2D就不管用了。
用了glCompressedTexSubImage2D就报错GL_INVALID_OPERATION
希望引擎组能帮帮忙!感谢!

这是线上项目,请问有任何压缩纹理的格式可以使用吗?
iPhone6都会爆内存,除了动态加载还有办法降低内存占用没?

最后,诚心建议1.x到2.x这种大改动,有哪些特性不支持了最好能列一个表,相信引擎组也看到一些项目从1.x升级到2.x然后又退回1.x了吧

1赞

最好的处理办法就是使用压缩纹理。另外手动对于动态加载的资源进行管理,及时release不用的资源,免得占用内容。
你现在都是2.0.2的版本了,升级到2.1应该难度不大,可以尝试一下。

之前包括1.x的版本也是没有支持PVR压缩纹理的,只是一些用户通过借鉴2dx那边的做法,通过一些hack的手段达到的。同步时引擎提供的特性。hack的手段这么多,引擎升级不可能还提示某些hack的手段不能使用……

我的那种问题怎么解决啊,哪里导致操作无效啊,看网上说的要先提交glCompressedTexImage2D也进行过了!
大大能知道是哪的问题么????

了解了,因为项目中rotation使用的相当多,包括动画中也是,所以看到2.1说改为angle了,所以没有考虑升级。
最后再问一下,2.0.x的后续版本中有计划加入压缩纹理的支持吗?etc2的支持在计划中吗?

if(internalformat==GL_COMPRESSED_RGB8_ETC2||internalformat==GL_COMPRESSED_RGBA8_ETC2_EAC){
//JSB_GL_CHECK(glCompressedTexImage2D((GLenum)arg0 , (GLint)arg1 , (GLenum)arg2 , (GLsizei)arg3 , (GLsizei)arg4 , (GLint)arg5 , (GLsizei)count , (GLvoid*)arg6 ));
JSB_GL_CHECK(glCompressedTexImage2D((GLenum)target , (GLint)level , (GLenum)internalformat , (GLsizei)width , (GLsizei)height , (GLint)border , (GLsizei)count , (GLvoid*)pixels ));
}
else{
JSB_GL_CHECK(glTexImage2D((GLenum)target , (GLint)level , (GLint)internalformat , (GLsizei)width , (GLsizei)height , (GLint)border , (GLenum)format , (GLenum)type , (GLvoid*)pixels));
}

你这个估计也是做成类似改动,判断相应纹理吧!
我就卡在glCompressedTexSubImage2D 问题当中

native连hack的压缩纹理都不能使用,还是得停在1.X的节奏吗