2009-02-10 87 views
1

我正在选择将用作所有内部纹理的存储格式的图像格式。 该格式将用作源格式,用于生成不同平台和配置的压缩纹理,因此需要覆盖所有可能的纹理类型(2D,立方体,卷积,不同数量的mip贴图,浮点像素格式等)并且完全无损。 此外,格式必须能够保留一些元数据。未压缩纹理的最佳图像格式?

目前为此使用自定义格式,但由于可在大多数图像编辑器中查看,常用格式将更容易与艺术家合作。

我曾想过使用DDS,但这种格式不支持元数据,据我所见。

所有建议赞赏!

回答

5

符合你的要求,你应该留在你的自制格式。除了支持体积和立体纹理的DDS之外,我不知道任何图像格式。不幸的是DDS不支持元数据。

您可以找到最接近的东西是TIFF。它不直接支持立方体贴图或体积贴图,但它支持任意数量的子图像。这样你可以重新使用子图像作为切片或立方体。

TIFF对自定义元数据也有很好的支持。 libtiff图像阅读/书写库工作得很好。如果你来自面向对象方面,它看起来有点过时,但它完成了工作。

尼尔斯

2

当各种游戏的资源里面偷看我发现他们大多数商店的纹理(我不知道他们是否会压缩与否)在TGA

+0

原因是TGA是少数支持alpha通道的格式之一 – 2009-02-25 11:14:31

0

TIFF可能会是它支持任意元数据和多帧的格式,你最亲密的赌注,但我认为你最好保持资产(在这种情况下,图像),从如何分开他们在您的引擎中被转换和使用。

以32位PNG格式保存图像,并将类型和元信息放入XML中。这使您的数据可以被人看到,可读和可编辑。模糊的自定义格式适用于引擎,而不是人。

1

坚持与你的艺术家合作。

  • 如果你是一个Windows/Mac的商店和使用 Photoshop中坚持使用.PSD
  • 如果你是一个UNIX店和使用GIMP 棍子.xcf

这些格式将存储层以及你艺术家需要和习惯的所有东西。 由于您的艺术家将创建大量资产,尽可能简化他们的生活,即使它意味着要编写一些额外的代码,也可以使用 。

如果原生格式(psd/xcf)不支持它,则将元数据(无论它可能)放在“沿着”图像的某处。

对于像立方体贴图这样的东西,mipmap(如果不是由转换器生成的话)坚持命名指导或关于如何将它们放入一个文件的指导。

根据你用什么工具来创建体积的东西,只需坚持使用该工具原生格式。

在编写自定义格式的目标通常是一个好主意, 在混乱艺术家结果编写自定义格式...

1

我与DDS的经验是,它是要工作记录不完整,难以格式并且提供了几个优点。为每个图像类存储一个主文件通常比较简单,该文件引用了构成它的源图像(即6个面用于立方体贴图,1个用于卷纹理的任意数量的切片)以及任何其他有用的元数据。将元数据保存在单独的文件(或数据库)中始终是一个好主意,因为当您不需要搜索,填充浏览器等时不需要加载大量图像时,这也是有意义的。从您的“元格式”(多维数据集,音量......)将源图像格式(tiff,tga,jpeg,dds ...)分离出来,因为您可能会发现需要使用有损压缩来支持HDR格式,或者非常大的源卷数据。

0

作为替代解决方案,也许花一些时间为您的文件格式编写一个Free Image Editor的插件?我以前从来没有这样做过,所以我不知道所涉及的工作,但是有一大堆示例代码供您使用。