为什么ASTC纹理格式在运行时不可用?

问题描述 投票:0回答:1

问题是我无法使用

Texture2D
图形格式创建
RGBA_ASTC6X6_UNorm

据我了解,ASTC是一种特殊的压缩方式,可以被GPU使用。在我的应用程序中,我可以观察到,ASTC 纹理比我从 PNG 文件加载的纹理占用的内存少得多。我想也用 ASTC 压缩这些加载的纹理。但看起来在运行时是不可能的。

我对 ASTC 的理解正确吗?

为什么在运行时无法进行压缩?它有一些特殊的硬件限制吗?哪些限制?为什么我在不同设备上构建时从未遇到这些限制?

unity-game-engine graphics image-compression
1个回答
0
投票

您的理解是正确的,但您所有的 ASTC 都拼写错误。

通过调用Texture2D.Compress可以在运行时进行图像压缩,而该方法是通过图形API实现的,因此仅限于特定格式。

对于那些不支持的格式,没有硬件限制,但需要提供相应的压缩代码,这会使运行时间非常大。

© www.soinside.com 2019 - 2024. All rights reserved.