作者:Joshua Ellis
在Imagination,我们一直在努力帮助客户充分利用他们的图形管线,在此,我们自豪地宣布PVRTexTool现在支持Basis Universal超级压缩纹理以及KTX™ 2.0和Basis纹理容器!
对于那些不熟悉这些格式或不了解其重要性的读者,本文将简要介绍常见的纹理发布问题,以及KTX和基本通用如何解决这些问题。
纹理分布
各种目标平台的纹理分布都可能是一个挑战。文件类型,如PNG、JPEG、SVG等,对于某些用例来说是非常好的,并且受到一系列应用程序的广泛支持,但它们并没有被GPU优化为直接使用。因此,当开发人员打包纹理数据供其应用程序使用时,它需要采用GPU易于使用的压缩格式,如Imagination自己的PVRTC格式。
其他供应商支持各种不同的压缩GPU格式,因此需要为每个目标平台的每个纹理打包对应的唯一文件。
![PVRTexTool现支持KTX™2.0和 Basis Universal超级压缩](http://imgtec.eetrend.com/files/2022-03/wen_zhang_/100558415-245510-pipeline-1.png)
KTX是由Khronos Group设计的,用于将PVRTC等GPU纹理与参数一起存储,使其更容易加载到OpenGL和Vulkan等API中。这使开发人员能够专注于将数据打包成一种受广泛支持的开箱即用的分发格式。
KTX规范的设计考虑到了简单性,使其更易于在工具或管线中实现。有很多工具,比如PVRTexTool,可以自动将源文件打包到KTX文件中,使KTX格式成为一种重要的易于分发的应用程序资源。
![PVRTexTool现支持KTX™2.0和 Basis Universal超级压缩](http://imgtec.eetrend.com/files/2022-03/wen_zhang_/100558415-245511-pipeline-ktx.png)
纹理大小
随着KTX解决了分发的易用性问题,我们仍然需要解决另一个主要问题:文件大小。由于每个平台每个纹理都需要唯一文件,因此纹理存储、分发和加载成本要求可能会激增。无论何时,当你将纹理(或任何文件)从A发送到B时,你都会占用一定的设备带宽,无论是网络设备、CPU/GPU总线,还是在内存和存储设备之间传输。当带宽达到最大容量时,它通常会成为限制软件性能的瓶颈。这就是为什么减少文件大小至关重要的原因,因为我们的数据越小,我们就越能在给定的时间范围内在硬件管线上传输更多的纹理。
网络应用程序和实时服务(如在线游戏或基于web的3D模型渲染器)尤其关注这一点。这类应用程序通常会对自定义用户纹理或实时纹理更改等内容使用数据流。我们还看到,业内对于数字内容创作平台中的协作功能不断增加,这些平台要求客户之间进行紧密同步,因此这个问题比以往任何时候都更为普遍。
为了在一定程度上缓解这个问题,我们可以将纹理编码为硬件无关的超级压缩格式,比如BasisUniversal,而不是为每个目标平台管理和分发纹理。这种相对较新的格式是由Binomial公司(一家图像/纹理压缩公司)开发的,这样它就可以直接在CPU上转换成适当的格式。这项技术不需要完全解压,使转码过程尽可能高效,并保留使用该格式进行实时图形操作的能力。这将纹理格式数量从GPU目标数量简化为一个,这是一个巨大改进。
![PVRTexTool现支持KTX™2.0和 Basis Universal超级压缩](http://imgtec.eetrend.com/files/2022-03/wen_zhang_/100558415-245512-pipeline-ktx2-1.png)
KTX™2.0
现在的问题是:“有没有办法从这两种优化中受益?”——答案是肯定的!KTX™ 2.0格式(或Khronos Texture 2.0)是原始KTX容器的演变,现在支持Basis Universal超级压缩,结合了这两种标准的优点。最终成为一个可广泛分发的容器,支持(几乎)任何设备上的小文件尺寸和快速解压缩。这在纹理分布方面是一个巨大飞跃,并得到了最大开放图形标准联盟:Khronos集团的支持。这就是为什么我们在PVRTexTool中引入了对Basis Universal超级压缩KTX™ 2.0的支持和基本容器!
进一步阅读
要了解更多关于这些技术的信息,请查看Binomial公司对于Basis Universal的GitHub页面和Khronos KTX™ 2.0页面。您可以在我们的综合指南中了解更多的纹理优化技术。
Basis Universal的GitHub页面
https://github.com/BinomialLLC/basis_universal
Khronos KTX™ 2.0页面
https://www.khronos.org/ktx/
要利用PVRTexTool对这些技术的支持,请查看我们最新的21.1 tools&SDK版本,并获取我们的新安装程序:
21.1 tools&SDK版本
https://developer.imaginationtech.com/blog/powervr-sdk-and-tools-21-2-no...
安装程序下载
https://developer.imaginationtech.com/downloads/
英文链接:https://developer.imaginationtech.com/blog/pvrtextool-now-supports-ktx2-...
声明:本文为原创文章,转载需注明作者、出处及原文链接。