得到CompressedTextureInfo对象后,即可进行压缩纹理的显示了:
CompressedTextureInfo textureInfo = etc1::ParseETC1Texture(input_data);if (!textureInfo.is_valid) {    LogE("LoadTexture: etc1 textureInfo parsed invalid.");}GLuint texture_id = 0;glGenTextures(1, &texture_id);glBindTexture(GL_TEXTURE_2D, texture_id);glCompressedTexImage2D(GL_TEXTURE_2D,                       0,                       textureInfo.internal_format,                       textureInfo.width,                       textureInfo.height,                       0,                       textureInfo.size,                       textureInfo.data);四、总结压缩纹理的加载,主要是搞清楚如何解析压缩纹理数据 。一般而言,压缩纹理加载到内存后,都有一个 Header,通过 Header 可以解析出其宽高等信息,计算出纹理图像大小 。最后调用glCompressedTexImage2D方法即可渲染 。可见压缩纹理完全没有图像的解码工作,大大提升加载速度 。
最后,介绍几款纹理压缩工具:
- etc2comp:支持生成etc2纹理
 
- etc1tool:支持生成etc1纹理,在Android SDK目录下,Android/sdk/platform-tools/etc1tool
 
- ISPCTextureCompressor:支持etc1、astc等
 
- astc-encoder:ASTC官方编码器
 
经验总结扩展阅读
- 护肤中收敛水在哪一步使用
- 如何辨认算盘木质
- 有什么表测试电瓶好坏
- 苹果手机怎么使用超级截屏(苹果手机超级截屏在哪里)
- 手把手教你玩转 Gitea|使用 Docker 安装 Gitea
- 26 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-上篇
- 如何设置两个无线路由器组网
- 京东50元购物卡怎么用
- DirectX 使用 Vortice 从零开始控制台创建 Direct2D1 窗口修改颜色
- 为什么阿里Java开发手册不推荐使用Timestamp

 
   
   
   
   
   
   
   
   
   
   
   
  