为什么需要纹理压缩?
demi 在 周一, 03/09/2020 - 15:05 提交
在软件开发,特别是三维应用中,纹理随处可见,但受限于网络环境和硬件能力,纹理也是一大瓶颈。而且在一般的三维应用中,纹理所占大小基本都会在1/2以上,模型中往往超过2/3。或许你会说,纹理不就是一张图吗,有那么重要吗?
在软件开发,特别是三维应用中,纹理随处可见,但受限于网络环境和硬件能力,纹理也是一大瓶颈。而且在一般的三维应用中,纹理所占大小基本都会在1/2以上,模型中往往超过2/3。或许你会说,纹理不就是一张图吗,有那么重要吗?
Unity支持多种图像格式作为导入纹理的源文件(JPG,PNG,PSD,TGA),Unity会将它们转换成自己支持的Texture2D格式,在Texture2D的选项设置中,针对不同平台和实际需求,选择合适的压缩格式,尽量减少图片纹理的占用内存。
目前的渲染管线中,对于3D物体表面的细节,主要还是靠纹理贴图来表现,分辨率越高,精度越高的纹理,在细节表现上自然越强,但是同时会导致内存开销增大,以及带宽等问题。
本文介绍了一种新的有损纹理压缩技术,适用于低成本,低带宽设备以及更强大的渲染系统。 它使用基于使用高频但低精度调制信号混合两个(或更多)“低频”信号的表示。低频信号的连续性有助于避免块伪影。 根据矢量量化方案的需要,通过使用固定速率编码和消除间接数据访问,可以降低解压缩成本。
纹理压缩是开发人员的一个重要工具,相比非压缩格式,它有许多优点,所以只要可行就可以使用。本文档包含了为什么使用纹理压缩的简要说明以及PowerVR纹理压缩(PVRTC)的介绍。PVRTC有两个版本,分别是PVRTC1和PVRTC2。
PowerVR GPU采用 PVR3C三重压缩技术来解决这个问题,这三重压缩解决方案包括纹理压缩(涉及PVRTC和ASTC)、几何压缩(PVRGC)和本文的主题图像压缩(PVRIC)。