首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DXT2 2/3和DXT2 4/5纹理格式有什么区别?

DXT2 2/3和DXT2 4/5纹理格式有什么区别?
EN

Stack Overflow用户
提问于 2012-11-14 07:21:49
回答 1查看 1.1K关注 0票数 4

我阅读了一些关于DXTn和BCn纹理压缩的文章,并学习了如何对这些格式进行编码。但是我仍然不知道DXT2和DXT3格式之间或者DXT4和DXT5格式之间有什么区别,我猜这些格式的区别是相同的。

在D3D SDK的文档中,它说:

DXT2和DXT3的区别在于,在DXT2格式中,假定颜色数据被预先乘以了alpha。在DXT3格式中,假定颜色不乘以alpha。这两种格式是需要的,因为在大多数情况下,在使用纹理时,仅仅检查数据并不足以确定颜色值是否乘以alpha。因为在运行时需要这些信息,所以使用两个FOURCC代码来区分这些情况。然而,用于这两种格式的数据和插值方法是相同的。

这是否意味着:如果我们有一个带有alpha 0的RGB 127, 127 ,127像素,那么在DXT2中,它实际上会存储RGB 0, 0,0,因为127被乘以alpha 0?

如果它是正确的,我们可以从实际游戏的发展中受益吗?在我看来,这完全没有必要。

此外,BC2和BC3格式发生了什么?如我所知,DXT2 2/3映射到BC2,DXT2 4/5映射到BC3,因此这种区别不再存在。它被废除了吗?为什么?

任何帮助都将是感激的,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-15 14:52:20

据我所知,DXT2 &3和DXT4 &5-GPU以同样的方式解码它们并没有物理上的区别。根据文档中的引用,我怀疑唯一的原因是给开发人员一个提示,说明纹理是否被预乘,从而知道使用什么样的框架缓冲区混合模式,即。(1,1-SrcAlpha) vs (SrcAlpha,1-SrcAlpha)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13374549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档