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',改成' ...
随机推荐
- VELT-0.1.5开发:使用kgdb调试Linux内核【转】
转自:http://demo.netfoucs.com/lights_joy/article/details/44106589 VELT的全称是Visual EmbedLinuxTools,它是一个与 ...
- (maven项目)使用java -jar命令遇到的小问题|xx.jar中没有主清单或Error:Invalid or corrupt jarfile xx.jar
xx.jar中没有主清单或Error:Invalid or corrupt jarfile xx.jar 遇到这个问题,是因为你的jar包没有设置主类的入口. 即在META-INF文件夹的MANIFE ...
- sh-copy-id命令报错:-bash: ssh-copy-id: command not found
参考网址:http://www.bubuko.com/infodetail-1662159.html yum -y install openssh-clients
- appium无ID、name定位处理【转】
1.关于没有name,没有ID的元素的定位---通用篇解题思路:因为没有name,id:其实剩下的选择已不多,要么xpath,要么className.xpath木有好印象(稳定性不高,加之1.0x后需 ...
- PHP回调函数及匿名函数概念与用法详解
1.回调函数 PHP的回调函数其实和C.Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数: 回调函数执行完毕之后,再回到主线程处理接下来的流程 而在ph ...
- spring-dao.xml 模板
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Video.js 简单的使用介绍
vedio.js 是一款视频播放插件,它会自动检测浏览器对 HTML5 的支持情况,如果不支持 HTML5 则自动使用 Flash 播放器.下面来介绍下它的使用: 引用video-js.cs样式文件和 ...
- Ubuntu服务器上相关软件或应用时常打不开的问题
于接触linux系统时间不就,所以在操作上难免会出现失误,以下两个问题就是近期经常出现的问题,具体如下: 1.ubuntu服务器上的浏览器时常打不开. 2.安装的pycharm和系统自带的pychar ...
- 013 jquery中关于表格行的增删问题
1.程序 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...
- 005.基于docker部署etcd集群部署
一 环境准备 ntp配置:略 #建议配置ntp服务,保证时间一致性 etcd版本:v3.3.9 防火墙及SELinux:关闭防火墙和SELinux 名称 地址 主机名 备注 etcd1 172.24. ...