爱立信纹理压缩

爱立信纹理压缩(英語:Ericsson Texture Compression,缩写ETC)是一种有损纹理压缩技术,2005年初由愛立信研究院参与研发。它最初是以iPACKMAN[1]为名开发,基于早期的被称为PACKMAN的压缩方案。 [2]

ETC1

最早的ETC1压缩方案提供了24位元RGB数据的6倍压缩率。但不支持压缩含有Alpha通道的图像,尽管有方法变相实现。 [3]

ETC1采用4x4像素数据的组,将每组压缩为单个64位字(word)。4×4像素组首先分为两个4×2块——无论水平或垂直。每一半都定下一个基色——使用4/4/4 RGB;或者给其中一个5/5/5 RGB,另一个则是基于该基色的3/3/3位的偏移。每个4×2区域还有一个3位的亮度范围选择。每个像素基于基色追加偏移。

该格式是适用于移动电话等嵌入式设备的OpenGL ES图形标准扩展[4]的一部分,并已被科纳斯组织批准供浏览器上的WebGL图形标准使用。

Android 2.2版(Froyo)起含有ETC1的支持。 [5]

[3]ETC2和EAC

ETC2方案以向后兼容的方式扩展ETC1,以提供更高质量的RGB压缩[6]以及RGBA(RGB加alpha)压缩,单通道 (R11) 和双通道(RG11)数据。

以下ETC2编解码器是OpenGL ES 3.0[7]和OpenGL 4.3中的必备元素:[8]

  • GL_COMPRESSED_RGB8_ETC2 — 压缩RGB888数据,ETC1后继者。
  • GL_COMPRESSED_RGBA8_ETC2_EAC — 压缩RGBA8888数据,完全支持alpha通道。
  • GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 — 压缩是完全透明或完全不透明的像素的RGBA数据。

EAC与ETC1/ETC2的原理相同,但用于单通道或双通道数据。以下四个EAC编解码器是OpenGL ES 3.0和OpenGL 4.3的必备元素:

  • GL_COMPRESSED_R11_EAC — 单通道无符号数据
  • GL_COMPRESSED_SIGNED_R11_EAC — 单通道签名数据
  • GL_COMPRESSED_RG11_EAC — 双通道无符号数据
  • GL_COMPRESSED_SIGNED_RG11_EAC — 双通道签名数据

RGBA和RG11格式将每个4x4块以128比特编码,其余是以每个块64比特来编码。对RGBA来说,RGB通道在常规的64比特块中编码,而Alpha通道得到专用的64比特块。RG11格式的编码方式类似,每个组件有一个64位块。

名为etcpack的用于压缩和解压缩ETC1/ETC2纹理的实用程序可在GitHub上的Ericsson处以代码形式免费下载。[9]

平滑方案

平滑方案(Smooth Profile)仅用于纸张[10]。类似ETC2平面模式,但使用更多函数来提供平滑的纹理。

参见

参考资料

 

外部链接

🔥 Top keywords: Wikipedia:首页毛泽东天之驕女Special:搜索鐵拳英雄家族榮耀之繼承者篠崎泫劉偉健黃循財庆余年庆余年 (第二季)九龍城寨之圍城习近平彌助背着善宰跑斯洛伐克菲律宾DAY6妮妃雅新生 (网络剧)2024年泰國羽球公開賽飯豐萬理江黃偉哲歌手2024淚之女王劉俊謙 (香港)周殷廷Energy (組合)張鳳妮神耆小子邊佑錫耐克六四事件谌贻琴李显龙九龍寨城天文學金智媛家族榮耀