====== DDS文件介绍 ======
在OrigoEngine的材质系统中,可以看到很多的dds文件。可以简单地认为这些dds文件同bmp、tga等常见的图片格式一样,记录了一张图片的信息,如果我们在photoshop中使用dds的插件,就可以在photoshop中打开这些文件。dds是DirectDraw Surface的缩写,实际上,它是DirectX纹理压缩(DirectX Texture Compression,简称DXTC)的产物。DXTC减少了纹理内存消耗的50%甚至更多,有3种DXTC的格式可供使用,它们分别是DXT1,DXT3和DXT5。
===== DXT1 =====
具体的压缩细节这里就不多叙述了,DXT1格式的压缩比最高,然而它只有1Bit Alpha,Alpha通道信息几乎完全丧失。所以一般将不带Alpha通道的图片压缩成这种格式。
===== DXT3 =====
DXT3使用了4Bit Alpha,所以可以有16个Alpha值,可很好地用于alpha通道锐利,对比强烈的半透和镂空材质。
===== DXT5 =====
DXT5使用了线形插值的4Bit Alpha,所以特别适合Alpha通道柔和的材质,比如OrigoEngine中用于高光掩码的材质。
===== 生成DXT文件 =====
使用OrigoEngine的材质编辑器可以便捷地从bmp、tga生成DXT文件。在生成Texture的过程中,有一个选项 Convert to DDS,选中即可。参见材质编辑器指南部分。此外,nVidia提供了PhotoShop使用的dds插件,通过该插件也可以生成dds文件。还有一种生成dds文件的方法是使用nVidia提供的命令行工具nvdxt.exe(OrigoEngine实际上就是调用这个工具)。
===== Mipmap =====
在进行DXTC时,可以选择同时生成Mipmap,关于Mipmap的概念,请参看相关资料或查看OrigoEngine的材质培训文档。直观来说,Mipmap会提升材质的表现效果,所以OrigoEngine的材质编辑器在生成dds文件时,会自动同时生成Mipmap。 追求图像质量质变的3Dc技术(上)
    3Dc是ATi开发的一种新的压缩技术,R420可以实现对这项技术的支持。这项技术允许 游戏开发者使用更高细节的纹理,来实现更加真实的3D效果。3Dc技术是R420上最重要的一项图像质量和性能改善技术。

高分辨率下的大纹理对于显存的占用相对严重,压缩技术将纹理压缩成图形核心所识别的一种格式,减小纹理体积,以减小性能损失。当然,这一切都要建立在压缩后基本不损失画质的前提下才算可
行。S3首次引入纹理压缩技术S3TC,而随后微软将S3TC纳入DirectX标准,并且重新命名为DXTC.

    「 3Dc技术的演示Demo对比,可以看到应用3Dc后画质的变化 」

DXTC和S3TC已经是1999年前的技术了,对于目前的游戏开发者来说,DXTC似乎已经远远的不够用。因此ATi才创建了3Dc技术,一种更新的纹理压缩功能。
    近几年随着可编程Pixel Shader技术的应用,开发人员发现纹理也随之出现了多样化,象surface normals、shininess、roughness、transparency等等这在之前都是没有的。它们会同传统的颜色信息一样存储在纹理中。对于多样化的纹理来说,旧有的DXTC常常不能进行很好的压缩处理。因此我们也需要一种新的压缩技术出现,来提升画质,和降低内存带宽的损耗。3Dc发挥的作用同当时的S3TC是类似的。
    3Dc技术被设计用于解决原有DXTC无法完成的工作,并且在新的类型纹理数据中提供最有效的压缩。DXTC主要被拥有压缩3或4通道格式数据,而3Dc则主要集中在2通道数据格式上。3Dc被用于两个日益增多的任务:一、压缩normal maps;二、将多个数据片封存入一个压缩纹理中。

    「 可以看到DXTC的压缩会严重损失画质 」

许多现在的游戏,例如FarCry.举例来说,在凹凸贴图上使用一种增强贴图方法,叫做Normal Mapping.Normal Maps是一个包含有多边形信息的特别材质。类似的bump maps,这些normal maps需要详细的多角形 模型,并且增加细节。我们所看到的那些美妙的部分是每个角度的光线设置都是非常完美的。
    首先,游戏的开发者需要设计一个非常详细的关于使用多边形的计划。然后,实际的游戏中的character会使用较少的多边形的简单方式,两种方式的差别是比较明显的,然后就是转换材质。并且合并最好的部分,这个normal map会被单一模式所应用,使它的细节看起来非常的优质。

    「 上面的例子是将15000个多边形压缩成1000个的Normal Map例子 」

让我们使用一个竞赛游戏作为例子。第一个模式非常复杂并且包括许多细节,像tread pattern一样。每秒有16个粗糙的circular shape组成。
第二个的模式的细节要好的多,但是你依然能够辨认出那些大致的circular shape.
    当使用normal maps时候 , 也有一些不利的因素。第一,增加了显示芯片的负荷。
另外一个不利因素使需要更大的数据带宽。更多细节开发者愿意将bump-mapping以及Normal Mapping合并, 以更好的分解Normal Maps.但是需要更多的存储带宽。
虽然Normal Maps可能会使用DXTC压缩, 但是这种方式通常可以造成细节是否被压缩一目了然。和S3研究的S3TC压缩方式一样,ATi现在已经开始发展其新型压缩方式3Dc,
根据ATi官方的数据,这种方式可以将压缩比率提高的4:1,并且没有任何细节上的损失。

关于dds文件和3dc技术的一点知识相关推荐

  1. 效哥带你读懂Access数据库文件恢复提取技术

    Access 是微软公司推出的基于Windows的桌面关系数据库管理系统,Access在很多地方得到广泛使用,例如小型企业,大公司的部门,喜爱编程的开发人员也专门利用它来制作处理数据的桌面系统.它也常 ...

  2. 全网寻求懂得文件伪装的技术大拿

    全网寻求懂得文件伪装的技术大拿 拿技术说话 可技术买断,可拿利润分成 欢迎叨扰

  3. gslb(global server load balance)技术的一点理解

    gslb(global server load balance)技术的一点理解 前言 对于比较大的互联网公司来说,用户可能遍及海内外,此时,为了提升用户体验,公司一般会在离用户较近的地方建立机房,来服 ...

  4. Python(10)文件操作(IO 技术)、OS模块、递归

    文章目录 文件操作(IO 技术) 文本文件和二进制文件 文件操作相关模块概述 创建文件对象 open() 基本的文件写入操作 常用编码介绍 ASCII ISO8859-1 GB2312 GBK GB1 ...

  5. 【Python基础】Python处理文件的几个常用小知识

    作者:来自读者投稿 来源:Python数据之道 Python处理文件的几个常用小知识 Python 这门语言有个很大的用途就是使用它来进行文件处理,学会处理文件和保存数据可以让你的程序使用起来更加容易 ...

  6. 计算机数据库管理基本知识,2015年计算机四级考试《数据库技术》基础知识:概念篇...

    2015年计算机四级考试<数据库技术>基础知识:概念篇 信息与数据 1. 信息.物质.能量是组成客观世界并促进社会发展的三大基本要素; 2. 信息(Information)--是客观世界事 ...

  7. 计算机信息处理技术的基础知识列举出一些易错易混淆知识点,计算机考证实训报告指导书.doc...

    计算机考证实训报告指导书 实训目的: 掌握计算机信息处理与应用的基础知识,掌握以Windows XP和Microsoft Office 2003为工作平台,应用计算机高效率.高质量地进行信息处理的基本 ...

  8. 【技术免费分享-知识图谱的构建】SpringBoot+Vue.js知识图谱中药可视化系统

    讲两句 现在基本上网上很少有知识图谱完整案例的构建,咱们开发者对于怎么构建没有一点思路,知识图谱基本就两个构建方法:方法1 neo4j图数据库: 方法2 echarts图谱插件. 我觉得方法2比较简单 ...

  9. 前端各技术领域完整知识图谱大亮相

    网上学习资源参差不齐.分散无系统,给爱学习.努力想提高的你是不是造成很多困扰呢? 与其他学习平台不同,CSDN知识库不是随机地.一股脑地向您推算大量文章,而是首先梳理各技术领域知识图谱,再以此为基础, ...

  10. 现代教育技术没有计算机基础知识教程,[现代教育技术计算机基础知识培训.ppt...

    [现代教育技术计算机基础知识培训 现代教育技术考试 试卷结构 理论热身 第一部分 教学规划 第二部分 资源准备 第三部分 教学实施 第四部分 教学评价 常见的文件格式 可执行文件格式( *.exe * ...

最新文章

  1. python pywinauto 单击鼠标_基于Python的学生信息管理系统
  2. servlet会话技术
  3. windows如何调用Linux的API,Windows和Native API中的系统调用?
  4. 字符串处理 —— 回文串相关 —— 添加/删除字符后是否为回文串
  5. html轮播图原理,30_用js实现一个轮播图效果,简单说下原理
  6. TCP/IP网络协议栈:IP协议
  7. Android中Menu的基本用法
  8. python获取视频缩略图_Python代码生成视频的缩略图的实例讲解
  9. 1078 最小生成树
  10. 计算机打印机无法打印,电脑打印机无法打印怎么办 打印机不能打印解决办法...
  11. Hyper-V固定虚拟机IP
  12. uushare.com(原uubox.net)的功能简介
  13. 被动诊断工具-快速Profinet故障排除
  14. 打造前端MAC工作站(五)让我们熟悉一下 MAC 命令行吧!
  15. Python绘制心型图案
  16. Apache安全漏洞
  17. 【懒懒的Python学习笔记二】
  18. 密码学Kerberos协议理解
  19. “云计算机”是什么?
  20. 采集服务器维护,采集服务器

热门文章

  1. Postgresql 按30分钟统计分组
  2. python re span_python—模块-re正则表达式
  3. 2021年全国职业院校技能大赛 “大数据技术与应用”—模拟赛题(四)
  4. 前端1——html笔记
  5. 解决resetFields报错 underfined
  6. java socket是什么_socket系列之什么是socket
  7. 【数据结构(青岛大学 王卓)】第2章 线性表 学习笔记(七)2.5 线性表的链式表示和实现1
  8. 李宏毅ML2021 HW3创建pseudo dataset
  9. linux持续测试ip端口延迟,Linux下使用nping测试TCP\UDP延迟
  10. 如何在win10下安装Docker