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',改成' ...
随机推荐
- @PostContruct注解
@PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法.
- Django项目之cookie+session
原文:https://www.cnblogs.com/sss4/p/7071334.html HTTP协议 是短连接.且状态的,所以在客户端向服务端发起请求后,服务端在响应头 加入cokie响应给浏览 ...
- Laravel 的计划任务
避免并发执行 $schedule->command('emails:send')->withoutOverlapping(); 这里需要注意,对于 call function 定义的计划任 ...
- 自己动手破解rar密码-ruby脚本实现
破解密码,上策是社工的方式,下策则是暴力破解了.这里使用暴力破解,字典文件放在txt中:通过调用winrar的相关参数进行操作.经过测试,当字典中密码为100个时,破解耗时8秒(个人配置:i5-321 ...
- 如何启用内置的Win10 OpenSSH客户端(转)
如何启用内置的Win10 OpenSSH客户端 关注Windows10,锁定Win10之家(http://www.ghost580.com/windows10/) 如何启用内置的Win10 OpenS ...
- codevs 1795 金字塔 2
codevs 1795 金字塔 2这个题比完全背包多了一个总数的限制,即一定要选(m+n)个,题中说总重量不超过n,所以至少选择m个重量为0的,然后初始化的时候,都填成重量为0的,然后再一个个地把它们 ...
- 001.Git简介与安装
一 git介绍 1.1 概述 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放 ...
- 关于XML解析中的CDATA的简单介绍
所有 XML 文档中的文本均会被解析器解析. 只有 CDATA 区段(CDATA section)中的文本会被解析器忽略. PCDATA PCDATA 指的是被解析的字符数据(Parsed Chara ...
- Orleans安装
一.Nuget包Orleans NuGet软件包从v1.5.0开始在大多数情况下,您需要使用4个关键的NuGet包: 1,Microsoft Orleans Build-time Code Gener ...
- C#简单的通用分页
通用分页技术分析 需要返回不同的类型的数据--采用泛型实现该操作 需要提供不同的方法 上一页 上一页 第一页 最后一页 跳转到指定页 Demo 代码 using System; using Syste ...