3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 17552|回复: 21
打印 上一主题 下一主题

[分享] DDS纹理格式说明,转自网上,楼主整理和发布。

  [复制链接]

81

主题

1484

帖子

1389

积分

游戏狂人

Rank: 6Rank: 6

贡献度
92
金元
10205
积分
1389
精华
0
注册时间
2009-7-19
跳转到指定楼层
主题
发表于 2012-7-30 09:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yuranlihua 于 2014-12-26 16:01 编辑

由于到处转载,楼主也无法得知是谁首发,在这里不一一感谢~
上古5就是dds贴图,作用不必多说,替换和修改有好处,另外不建议dds格式直接修改。

开门见山,废话不多,直接上菜~黑色字体可省去不看
       微软提供的dds格式全称是DirectDraw Surface,它是微软提供的一种压缩纹理格式。我们可以利用一些程序轻松地将bmptga等文件转化为dds文件,也有photoshop的插件能帮助我们利用我们所熟悉的photoshop来完成转化工作.dds档还起到了压缩文件大小的作用,这在游戏制作中是很重要的,更小的纹理容量意味着显示速度的增加和显存要求的降低。在选择生成dds文件时,有多种格式可供选择.
DDS文件格式要追述到S3(Silicon & Software Systems)公司提出的一种纹理压缩格式S3TC(S3 Texture Compression), 其目的是通过对纹理的压缩, 以达到节约系统带宽并提高效能的目的. S3TC就是通过压缩方式, 利用有限的纹理缓存空间来存储更多的纹理, 因为它支持6:1的压缩比例, 所以6M的纹理可以被压缩为1M存放在材质缓存中, 从而在节约了缓存的同时也提高了显示性能. 后来的DXTC和FXT1都是与S3TC类似的技术, 它们分别是微软和3dfx开发的纹理压缩标准, FXT1能提供比S3TC更高的压缩比, 达到8:1, 同时它也在3DFX新版本的Glide中得到支持. DXTC是1999年微软从S3公司取得S3TC的授权后更名而来的, 并在DirectX6中提供了支持, 即使用户的图形硬件不能支持S3TC, DirectX API会自动解码压缩后的纹理贴图. 压缩纹理贴图可以使用高品质的离线压缩器, 不会造成加载程序时有很多延时, 而DDS文件就可以使用DXTC方式压缩或是存储未压缩的像素格式.
       下面我给大家说下关于起点引擎中DDS格式的使用:
起点引擎使用了这样3种常用的格式:DXT1DXT3DXT5注:Alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域,其中黑表示全透明,白表示不透明,灰表示半透明。简单介绍可见百科,http://baike.baidu.com/view/175060.htm
    DXT1:
高达1:8的压缩比例,然而无法表示Alpha信道信息。因此,只要无需alpha通道的纹理文件,建议都转换为DXT1。DXT1压缩格式可以提供高达8:1的压缩比例, 它可以支持1 bit 的 Alpha 通道, 每个 4x4 的块可以根据需要有或没有这个透明通道. 不需要 alpha 通道时, 每个块可以有四种颜色(其中两个是插值得到的). 需要 alpha 通道时, 只能有三种颜色, 另一个被保留用来描述是否透明, 因为只有一位 Alpha 信息, 所以只能表示透明或不透明, 因此DXT1的透明其实是一种镂空, 利用网孔达到的透明效果. 我们一般对画面质量要求不高并且不需要透明信息的图片使用这种格式.
     DXT3:
压缩比例1:4,带有4Bits的Alpha信道信息。用于Alpha通道较锐利,对比强烈的材质,比如镂空,以及部分半透材质。
     DXT5:
压缩比例14,插值Alpha信息。常用于Alpha通道比较柔和的材质,如用作镜面光屏蔽材质。比如高光掩码材质。许多3D软件包括大部分游戏都用dds格式,又称“贴图”,许多fans通过修改dds文件可以生成特殊显示效果。 nVidia提供了PhotoShop使用dds的插件,通过该插件也可以生成dds文件。
       至于 DXT2 和 DXT4 压缩格式并不常用, 与 DXT3 和 DXT5 压缩格式很相似, DXT2 与 DXT3 的区别在于 DXT2 使用带有预乘 Alpha 的压缩格式, DXT3 使用无预乘 Alpha 的压缩格式, DXT4 与 DXT5 的区别在于 DXT4 使用带有预乘插补 Alpha 的压缩格式, DXT5 使用插补Alpha 的压缩格式, 无预乘.
       也许有哥们要问,压缩后的文件容量虽然变小了,然而不可避免的有一些效果损失,如果我对效果要求很高,是不是就不应该使用dds文件呢?如果你绘制了一张256*25632位色的bmp图片,这张图片的容量将是192KB,而一张512*51232位色的bmp图片的容量就是768KB,将它转换为DXT3DXT5格式后,文件容量将是192KB,让我们来看看同样是192KB的文件,bmpdds两种格式的效果。
BMP                                    DDS
关于压缩信息见MSDN: Textures with Alpha(http://msdn2.microsoft.com/en-us/library/bb206238.aspx
注:请自寻去英伟达官网搜索下载,只提供大多人用处比较大的DDS Thumbnail Viewer的下载地址另外也可用大家熟知的ACPsee来查看,带有透明通道,速度比ps浏览速度很多~
1. Photoshop
Adobe Photoshop Normal Map and DDS Authoring Plug-ins Installer(.exe) (photoshop的DDS插件)
2.Windows Texture Viewer (DDS图片观看工具)
3.NVIDIA Texture Tools (DDS专用工具)
4.DDS Thumbnail Viewer(有了这个在WINDOWS的缩略图察看下面可以直接察看dds文件了)
http://www.nvidia.com/object/dds_thumbnail_viewer.html
5.安装Microsoft DirectX SDK 后,有一个DirectX Texture Tool可以使用,或者在图片右键的时候会有一个转换图片格式的选项。
6.同样在安装Microsoft DirectX SDK 后,在sdk\Utilities\bin\x86下有一个 texconv.exe的工具,在最新的里面还有一个texconv10.exe,可以批量转

Usage: texconv.exe <options> <files>
   -w <n>              width
   -h <n>              height
   -d <n>              depth
   -m <n>              miplevels
   -f <format>         format
   -if <filter>        image filter
   -mf <filter>        mip filter
   -c <color>          colorkey
   -srgb{i|o}          sRGB {input, output}
   -px <string>        name prefix
   -sx <string>        name suffix
   -o <directory>      output directory
   -ft <filetype>      file type
   -nologo             suppress copyright message

   <format>: R8G8B8 A8R8G8B8 X8R8G8B8 R5G6B5 X1R5G5B5 A1R5G5B5 A4R4G4B4 R3G3B2
      A8 A8R3G3B2 X4R4G4B4 A2B10G10R10 A8B8G8R8 X8B8G8R8 G16R16 A2R10G10B10
      A16B16G16R16 A8P8 P8 L8 A8L8 A4L4 V8U8 L6V5U5 X8L8V8U8 Q8W8V8U8 V16U16
      A2W10V10U10 UYVY R8G8_B8G8 YUY2 G8R8_G8B8 DXT1 DXT2 DXT3 DXT4 DXT5
      D16_LOCKABLE D32F_LOCKABLE L16 Q16W16V16U16 R16F G16R16F A16B16G16R16F
      R32F G32R32F A32B32G32R32F CxV8U8

   <filter>: NONE POINT LINEAR TRIANGLE BOX NONE_DITHER POINT_DITHER
      LINEAR_DITHER TRIANGLE_DITHER BOX_DITHER

   <filetype>: BMP DDS JPG HDR PFM PNG TGA

内容来源于网络,这里仅供大家学习,谢谢作者~



东西很老了,我自己也不玩了,对于材质我说我的经验


DXT1压缩的很厉害,虽然也有带透明通道的格式,但是绝对不要随便用,像PS保存下来的,都是无法正常显示的通道的,虽然你会见有某些DXT1格式但是带有简单透明通道的显示还行,但是像常用PS修改的话,直接保存,通道可以说会消失掉,就算通道也是黑色一片,非常简单的一块也是这样的,不信可以试试,一大块实心通道会变成一堆分散很开的黑点子,失去本来的功能。
另外DXT1压缩的效果,当你放大到100%,对于颜色相近,比较复杂的图他是边界模糊,失去水分和质感的。除去用来保存简单结构,自己电脑吃不消的贴图,其他的不建议使用。另外DXT1格式的法线贴图,是很垃圾的,将会看到很多方块,在游戏里将是近处看一堆块块,也就有了原版人物脸部鼻子有块状物的原因了。

DXT3这个压缩后大小跟DXT5一样,细节处略弱于5,但是透明通道的锐利程度明显比不上DXT5。

DXT5这个比较实用,不会失真多少,几乎可以忽略,也是最常用的。

还有种是不压缩的,炸鸡就不要去用了,这种图不仅吃空间,对于占用也大。某些材质虽然效果好些,但是大多数跟5没啥区别,这里除开法线这种需要XYZ的视觉玩意。

他们的硬盘占用大小受到保存软件、格式影响。

原本DXT1的保存为其他格式如DXT5的,只会增大资源占用,对于效果没有任何提高,这也是我特别反感垃圾材质的原因。


        

      


200641718165644703.bmp (183.4 KB, 下载次数: 17)

DDS

DDS

200641718165646552.bmp (186.84 KB, 下载次数: 13)

BMP

BMP

评分

2

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-4-4 17:09 , Processed in 0.033282 second(s), 19 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表