DirectX - dds图片格式(DDSURFACEDESC2)
DDS是DirectDraw Surface的缩写,它是DirectX纹理压缩(DirectX Texture Compression,简称DXTC)的产物。
DXTC减少了纹理内存消耗的50%甚至更多,有3种DXTC的格式可供使用,分别是DXT1,DXT3和DXT5。
DXT1 压缩比例:1:8
压缩比最高,它只有1Bit Alpha,Alpha通道信息几乎完全丧失。一般将不带Alpha通道的图片压缩成这种格式。如WorldWind用的卫星图片
DXT3 压缩比例:1:4
使用了4Bit Alpha,可以有16个Alpha值,可很好地用于alpha通道锐利、对比强烈的半透和镂空材质。
DXT5 压缩比例:1:4
使用了线形插值的4Bit Alpha,特别适合Alpha通道柔和的材质,比如高光掩码材质。
许多3D软件包括大部分游戏都用dds格式,又称“贴图”,许多fans通过修改dds文件可以生成特殊显示效果。
nVidia提供了PhotoShop使用dds的插件,通过该插件也可以生成dds文件。
还有一种生成dds文件的方法是使用nVidia提供的命令行工具nvdxt.exe
DDS 支持各种输出格式,具体情况取决于分配给红、绿和蓝 (RGB) 通道、可选 alpha 通道(透明度)和可能未使用位数的像素数量。这也是一组压缩格式。
A8 R8 G8 B8—每像素 32 位: 对于 RGB 和 alpha 通道,每像素 8 位。
A1 R5 G5 B5—每像素 16 位: 对于 RGB ǖ溃肯袼?5 位,alpha 通道,每像素 1 位。
A4 R4 G4 B4—每像素 16 位: 对于 RGB 和 alpha 通道,每像素 4 位。
R8 G8 B8—每像素 24 位: 对于 RGB 通道,每像素 8 位;无 alpha。
R5 G6 B5—每像素 16 位: 对于 R 和 B 通道,每像素 5 位,对于 G 通道,每像素 6 位;无 alpha。
A2 R10 G10 B10—每像素 32 位: 对于 RGB 通道,每像素 10 位;alpha 通道,每像素 2 位。
X8 R8 G8 B8—每像素 32 位: 对于 RGB 通道,每像素 8 位;8 位未使用;无 alpha。
X1 R5 G5 B5—每像素 16 位: 对于 RGB 通道,每像素 5 位;1 位未使用;无 alpha。
R3 G3 B2—每像素 8 位: 对于 R 和 G 通道,每像素 3 位,对于 B 通道,每像素 2 位;无 alpha。
A8 R3 G3 B2—每像素 16 位: 对于 R 和 G 通道,每像素 3 位,对于 B 通道,每像素 2 位;对于 alpha 通道,每像素 8 位。
X4 R4 G4 B4—每像素 16 位: 对于 RGB 通道和 4 个未使用位,每像素 4 位。
A16 B16 G16 R16—每像素 64 位: 对于 RGB 和 alpha 通道,每像素 16 位。
DXT1—带有 1 位 alpha 的压缩格式。
DXT2—带有 4 位预乘 alpha 的压缩格式。
DXT3—带有 4 位 alpha 的压缩格式,无预乘。
DXT4—带有插补预乘 Alpha 的压缩格式。
DXT5—带有插补 Alpha 的压缩格式,但是无预乘。
生成 Mipmap—启用该选项之后,将生成该图像的 mipmap。默认设置为禁用状态。
Mipmap 是一组较低细节的位图。第一个是原始图像大小的一半,下一个是该图像的一半,依次类推,直到单个像素。(可以将它们的排列方式视为四棱锥。)当未以完全大小显示纹理时,它们既可用于优化显示时间,也可以减少锯齿。例如,如果原始 DDS 图像是 512 x 512 像素,但是其显示的区域只是 100 像素的方形,则显示设备将在 128 x 128 mipmap 和 64 x 64 mipmap 之间插补。
JPEG:(文件扩展名为 .jpg 或 .jpeg ) 应用最广泛的图片格式之一,它采用一种特殊的有损压缩算法,将不易被人眼察觉的图像颜色删除,从而达到较大的压缩比(可达到2:1甚至40:1),所以“身材娇小,容貌姣好”,特别适用于网络环境。
PNG:与JPEG格式类似,网页中有很多图片都是这种格式,压缩比高于GIF,支持图像透明,可以利用Alpha通道调节图像的透明度。
BMP:Windows系统下的标准位图格式,使用很普遍。其结构简单,未经过压缩,一般图像文件会比较大。它最大的好处就是能被大多数软件“接受”,可称为通用格式。
GIF:分为静态GIF和动画GIF两种,支持透明背景图像,适用于多种操作系统,“体型”很小,网上很多小动画都是GIF格式。其实GIF是将多幅图像保存为一个图像文件,从而形成动画,所以归根到底GIF仍然是图片文件格式。
其他相关格式:
PSD:图像处理软件Photoshop的专用图像格式,图像文件一般较大,包含图层等众多信息。
PCX:ZSOFT公司在开发图像处理软件Paintbrush时开发的一种格式,存储格式从1位到24位。它是经过压缩的格式,占用磁盘空间较少,并具有压缩及全彩色的优点。
DXF:三维模型设计软件AutoCAD的专用格式,文件小,所绘制的图形尺寸、角度等数据十分准确,是建筑设计的首选。
CDR:著名的图形设计软件——CorelDRAW的专用格式,属于矢量图像,最大的优点“体重”很轻,便于再处理。
typedef struct _DDSURFACEDESC2 {
DirectX - dds图片格式(DDSURFACEDESC2)的更多相关文章
- 使用nvDXT.exe把图片转换成dds图片【转】
从nvidia官网下载工具包DDS Utilities [https://developer.nvidia.com/legacy-texture-tools] 转换图片格式需要的工具是 nvdxt.e ...
- PPM图片格式及其C读写代码
PPM图像格式介绍 PPM图像格式是由Jef Poskanzer 大叔,在我出生那一年,也就是1991年所创造的,碰巧的是PPM也是天蝎座. PPM(Portable Pixmap Format)还有 ...
- 【VC++技术杂谈007】使用GDI+进行图片格式转换
本文主要介绍如何使用GDI+对图片进行格式转换,可以转换的图片格式为bmp.jpg.png. 1.加载GDI+库 GDI+是GDI图形库的一个增强版本,提供了一系列Visual C++ API.为了使 ...
- JS验证图片格式和大小并预览
用于上传图片的js验证: <%@ page language="java" contentType="text/html; charset=UTF-8"p ...
- PNG和Gif及JPEG图片格式比较
Gif格式特点 透明性Gif是一种布尔透明类型,既它可以是全透明,也可以是全不透明,但是它并没有半透明(alpha 透明). 动画Gif这种格式支持动画. 无损耗性Gif是一种无损耗的图像格式,这也意 ...
- JavaScript校验图片格式及大小
<!DOCTYPE html> <html> <head> <title>JavaScript校验图片格式及大小</title> <s ...
- 前端工程师技能之photoshop巧用系列第四篇——图片格式
× 目录 [1]图片格式 [2]保存设置 前面的话 对于前端来说,图片格式是需要重要掌握的知识.本文是photoshop巧用系列第四篇——图片格式 图片格式 目前在前端的开发中常用的图片格式有jpg. ...
- 利用PhotoShop将Font-Awesome转为图片格式
介绍如何将Font-Awesome等字体图标转换为图片格式,使用PHOTPSHOP很简单. 网上找了很多,都比较麻烦.别问为什么要这么做,因为你还没遇到需要的时候. 下载Font-Awesome字体库 ...
- 【faster-rcnn】训练自己的数据——修改图片格式、类别
修改图片格式 matlab代码 其实内部一些代码是用了rbg的fast-rcnn代码的. \datasets\VOCdevkit2007\VOCcode\VOCinit.m里面,查找'jpg',改成' ...
随机推荐
- SSH(Struts、Spring、Hibernate)三大框架整合
1. 新建数据库ssh_db -> 新建表user_tb(id为主键,自动递增) 2. 导入jar包(struts.hibernate 和 spring) 3. 注册页面reg.jsp,将表单的 ...
- java 缺憾:异常的丢失
一.java的异常实现也是又缺陷的,异常作为程序出错的标志决不能被忽略,但它还是可能被轻易地忽略.下了可以看到前一个异常还没处理就抛出下一个异常,没有catch捕获异常,它被finally抛出下一个异 ...
- 删除MySQL binlog日志的方法
对于比较繁忙的OLTP(在线事务处理)系统,由于每天生成日志量大,这些日志如果长时间不清除,将会对磁盘空间带来很大的浪费.因此,定期删除日志是DBA维护MySQL数据库的一个重要工作内容.下面跟大家分 ...
- Intellij IDEA15: 带着参数 运行
package main.scala /** * Created by silentwolf on 2016/5/24. */ object FileIO { def main(args: Array ...
- 用ProFTPD构建FTP服务器
配置 ProFTPD 然后,通过修改相应配置文件配置ProFTPD. [root@sample ~]# vi /etc/proftpd.conf ← 修改ProFTPD的配置文件 ServerType ...
- weex官方demo weex-hackernews代码解读(上)
一.介绍 weex 是阿里出品的一个类似RN的框架,可以使用前端技术来开发移动应用,实现一份代码支持H5,IOS和Android.最新版本的weex已默认将vue.js作为前端框架,而weex-hac ...
- 【AtCoder】ARC085
C - HSI 题解 \(E = 1900 * (N - M) + 100 * M + \frac{1}{2^{M}} E\) \(E = 2^{M}(1900 * (N - M) + 100 * M ...
- Matlab保存uint16格式文件的相关注意事项
在matlab中,我们常使用imshow()函数来显示图像,而此时的图像矩阵可能经过了某种运算.在matlab中,为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型.如果 ...
- 医学图像之DICOM格式解析
最近导师给安排了新任务,由于刚进入实验室,对于医学图像这一块还一知半解,所以就想分享一下有关医学常见影像的学习(尤其是dicom后缀的图像文件),欢迎大家一起交流. 目录 1.医学影像学的介绍 2.D ...
- python、Java、大数据和Android的薪资如何?
莫名其妙,从去年年底开始,Python这个东西在中国,突然一下子就火起来了,直至现在,他的热度更是超越了java,成为软件工程师最为关注的话题.Python之所以能火起来,很大一方面是因为大数据.人工 ...