纹理压缩

编辑
本词条由“匿名用户” 建档。

纹理压缩是一种专门用于在3D计算机图形渲染系统中存储纹理贴图的图像压缩形式。与传统的图像压缩算法不同,纹理压缩算法针对随机访问进行了优化。 在他们关于纹理压缩的开创性论文中,Beers、Agrawala和Chaddha列出了四种倾向于将纹理压缩与其他图像压缩技术区分开来的特征。这些特点是: 解码速度非常希望能够直接从压缩的纹理数据进行渲染,因此,为了不影响渲染性能,解压缩必须很快。随机访问由于预测...

纹理压缩

编辑

纹理压缩是一种专门用于在 3D 计算机图形渲染系统中存储纹理贴图的图像压缩形式。 与传统的图像压缩算法不同,纹理压缩算法针对随机访问进行了优化。

权衡

编辑

在他们关于纹理压缩的开创性论文中,Beers、Agrawala 和 Chaddha 列出了四种倾向于将纹理压缩与其他图像压缩技术区分开来的特征。 这些特点是:

解码速度非常希望能够直接从压缩的纹理数据进行渲染,因此,为了不影响渲染性能,解压缩必须很快。随机访问由于预测渲染器访问纹素的顺序很困难,因此任何纹理压缩方案 必须允许快速随机访问解压缩的纹理数据。 这往往会排除许多众所周知的图像压缩方案,例如 JPEG 或游程编码。压缩率和视觉质量在渲染系统中,有损压缩比其他用例更容易接受。 一些纹理压缩库,例如 crunch,允许开发人员使用率失真优化 (RDO) 等方法灵活地权衡压缩率与视觉质量。编码速度纹理压缩更能容忍不对称编码/解码率,因为 编码过程通常在应用程序创作过程中只进行一次。

鉴于上述情况,大多数纹理压缩算法都涉及某种形式的固定速率有损矢量量化,将小的固定大小的像素块转换为小的固定大小的编码位块,有时还需要额外的预处理和后处理步骤。 块截断编码是这类算法的一个非常简单的例子。

因为它们的数据访问模式是明确定义的,所以纹理解压缩可以在渲染期间作为整个图形管道的一部分即时执行,从而减少整个图形系统的总体带宽和存储需求。 除了纹理贴图,纹理压缩也可用于编码其他类型的渲染贴图,包括凹凸贴图和表面法线贴图。 纹理压缩也可以与其他形式的地图处理一起使用,例如 MIP 地图和各向异性过滤。

纹理压缩

可用性

编辑

实用纹理压缩系统的一些示例是 S3 纹理压缩 (S3TC)、PVRTC、爱立信纹理压缩 (ETC) 和自适应可伸缩纹理压缩 (ASTC); 这些可能由现代图形处理单元中的特殊功能单元支持。

在许多视频加速卡和移动 GPU 上实现的 OpenGL 和 OpenGL ES 可以支持多种常见类型的纹理压缩 - 通常通过使用供应商扩展。

纹理压缩可用于减少运行时的内存使用,这与旨在减少下载或磁盘大小的纹理压缩相反。 纹理数据通常是移动应用程序中内存使用量的xxx来源。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/198026/

(3)
词条目录
  1. 纹理压缩
  2. 权衡
  3. 可用性

轻触这里

关闭目录

目录