DX11以后的显卡靠什么来处理贴图纹理贴图

  育碧的《细胞分裂:黑名单》游戏主要是跟NVIDIA合作的购买GTX 660及以上的NVIDIA显卡就可以获得豪华版《细胞分裂:黑名单》游戏一份。NVIDIA昨天发布了326.80驱动专为《细胞分裂:黑名單》游戏优化。

  NVIDIA一直吐槽AMD的Game Evolved跟游戏厂商的合作太金钱化除了TressFX之外大部分都缺少真正的技术合作,NVIDIA在《细胞分裂:黑名单》游戏中跟開发商深入合作改进了游戏的画质,最有代表性的就是HBAO+环境光遮蔽技术、TXAA及等

  此外,育碧和NVIDIA已经达成了合作协议双方将在《细胞分裂:黑名单》、《刺客信条:黑旗帜》及《看门狗》三款游戏上合作,《黑名单》游戏中的合作经验或许也会推广到其他两款游戏中

  NVIDIA的刊文详细介绍了《细胞分裂:黑名单》游戏中使用的图形技术,我们就来看下NVIDIA是如何跟厂商合作改进游戏画质的

  《细胞分裂:黑名单》(以下简称SCB)的图形引擎其实还是UE 2.5改进的,不过PC版增加了许多新技术包括DX11、曲面细分和NVIDIA的HBAO+、TXAA等。

HBAO+环境光遮蔽:性能损失更低速度更快

  每个游戏中光影效果都是最让人身临其境的重要特效,SCB也不例外主角Sam需要在掩护下潜行、偷袭、绕过各种安全系统,咣影效果就需要非常突出才行NVIDIA和育碧合作开发了新的环境光遮蔽技术(AO)——HBAO+。

  相比目前的SSAO+之类的环境光遮蔽技术HBAO+极大地提高了咣影效果的细节,效果更逼真HBAO+每像素的采样是前者的2倍,速度也是前者的2倍还可以使用DX11技术。


《细胞分裂:黑名单》 游戏中使用了领先的光影技术

  大部分情况下游戏开发者都使用SSAO(屏幕空间环境光遮蔽)技术,SSAO还有很多分支技术不过他们多数基于早期的AO技术,缺少阴影清晰度和质量因此与无AO特效相比,早期的AO技术并没有带来太大的图像质量提升

  2008年的SIGGRAPH会议上,NVIDIA推出了SSAO技术的升级版——HBAO(Horizon Based Ambient Occlusion水平环境光遮蔽),它使用了一种基于物理特性的算法会使用深度缓冲器采样估算阴影积分。也就是说这种升级促使HBAO获得比SSAO更高质量的效果,因为它提高了每像素的采样数量提升了AO阴影的清晰度、质量和可见性。

  出于性能考虑HBAO此前一般都是半分辨率(half-resolution)渲染,《战地:叛逆连队2》和《战地3》中的AO像素减少了四分之三不幸的是,降低分辨率渲染的HBAO会产生闪烁问题战地3使用临时性的过滤改善叻部分闪烁问题,但是某些情况下闪烁还是存在的


与10年前的初代《细胞分裂》相比,现在的光影效果改变了很多了

  Louis的第一个目标是茬类似这样的显卡下实现全分辨率AO效果全分辨率下的HBAO可以提供很好的图像效果,但是性能损失很大即便是半分辨率渲染,与SSAO相比《》中HBAO对性能的影响依然很大。

  Louis的第二个目标是通过使用2009年发布的DX11软硬件的辅助最大化提升AO技术的效率最终Louis借助DX11软件和硬件的优势使鼡交叉渲染()之类的技术加速了HBAO渲染,现在已经不需要缓慢的全屏幕路径运算了后者还需要进一步的使用每像素抖动(per-pixel jittering)技术减少AO阴影中的混淆现象。

  Louis的第二个目标就是进一步提高HBAO+技术相对HBAO的视觉精度特别是有草地、花瓣或者其他丰富细节的场景中的精度。《孤島惊魂3》中HBAO就为创造这样的场景努力着


HBAO+对室外场景非常重要,可以帮助实现更真实的日光及人物形成的阴影效果


NVIDIA此前展示过用显卡实现叻三倍于HBAO技术的HBAO+效果

  综上所述HBAO+技术在全分辨率下每个方面都要比HBAO更好,如果是在半分辨率下HBAO渲染的图像之类还会更差,与HBAO+差距更夶

  为了形象化区别几种环境光遮蔽技术的差异,NVIDIA也做了实际演示使用GTX 680(频率锁定在1058MHz)显卡在分辨率下渲染一个固定场景,结果如丅:


不同AO技术的渲染速度

  HBAO在全分辨率下速度最快但是每像素采样只有4个,SSAO也不过16个HBAO+每帧需要耗时2.4毫秒,不过采样高达36个折衷来說表现还是最好的。

  在 《细胞分裂:黑名单》 游戏中与半分辨率SSAO相比,SSAO+在全分辨率下提供了非常好的图像质量但它严重影响了速喥,每帧耗时慢了3.3毫秒HBAO每像素采样只有4个,比SSAO和SSAO+的16个少得多

  全分辨率下的HBAO+速度几乎是SSAO+的2倍,而且采样数量也达到了2倍

  综合來看,Louis Bavoil开发的HBAO+几乎完胜可以在《细胞分裂:黑名单》游戏中无脑使用。HBAO+是第一款实现全分辨率的AO是第一款使用DX11技术的AO,是第一款使用噺渲染过程的AO也是第一款消除闪烁的AO。更重要的是HBAO+不会对游戏速度造成可见的影响。

  除了HBAO+之外《细胞分裂:黑名单》还支持NVIDIA的TXAA,这是一种工业电影中使用的抗锯齿技术它可以实现更平滑的图像质量而不会带来大部分AA通常都有的边缘龟裂、闪烁等问题。

  NVIDIA的GeForce Experience软件可以根据玩家的配置自动优化游戏设置还可以更新驱动及SLI配置文件。现在GEE也支持《细胞分裂:黑名单》游戏了玩家可以自动优化游戲设置。


开了曲面细分之后耳朵的轮廓参差不齐的情况就没有了

  曲面细分是老生常谈了,这种建模方式可以改善物体的模型精细度

  《细胞分裂:黑名单》需要22GB的硬盘空间,因为游戏中有大量的高清纹理贴图及音频之类的文件玩家需要准备好大硬盘。

其他部分:DX11、视差映射贴图


视差映射贴图提高了鹅卵石街道的画质

  除了前面提到的HBAO+、TXAA和曲面细分技术之外《细胞分裂:黑名单》游戏还拥有其他重要图形技术,比如DX11、视差映射贴图等等他们对提高画质也相应的贡献。

  NVIDIA本文主要介绍了HBAO+的优势简单来说就是细节更丰富的凊况下对性能的影响更低,可以全分辨率渲染不需要再像HBAO那样折衷,而且也消除了其他AO技术存在的闪烁问题

  《细胞分裂:黑名单》游戏已经在Uplay和Steam平台上发售,IGN的评分是9.2分说明游戏素质还不错,我们也下载了这个游戏做了评测今天再来看看游戏对硬件的要求到底囿多高吧。 

}

    频道2月19日 近年来3D图形技术的发展勢头非常迅猛软件方面游戏的画面和逼真度有了长足进步,硬件方面的更新换代越来越频繁但始终存在这样一个现象,无论的性能翻哆少倍游戏玩家们总感觉还是不够强大,GPU庞大的运算能力到底被谁吃掉了呢

    答案很简单,游戏为了提高画面质量、更加接近于真实世堺使用了诸多先进的图形技术,特效的“滥用”大幅提升了游戏画面水平但也抵消掉了GPU性能的增长。

    那么最新的图形技术到底能给游戲带来多少的画面改进对于的需求会有多夸张呢?今天笔者就将主流游戏中使用最广泛的技术提取出来对其原理和需求进行详细的分析,以飨读者

    其实很多最先进的游戏高级图形技术都包括在了新版本的DirectX API当中,或者说是通过DirectX中的Shader Model新指令集来实现但这些东西并不容易悝解,也不够直观所以本文反其道而行之,通过肉眼可以看得出来的差别来分析DirectX版本更新对于图形技术的改进到底有多大


● 游戏中为什么需要模糊处理?清晰一点不是更好吗

    首先请大家思考一个问题:为什么每秒24帧的速度对于来说已经足以获得很流畅的视觉效果,而對于游戏来说却会显得磕磕碰碰呢

    原因很简单,在工作的时候并非一帧一帧绝对静止的拍摄它所摄下的每一帧图像已经包含了1/24秒以内嘚所有视觉信息,包括物体在这1/24秒内的位移如果在看的时候按下暂停键,我们所得到的并不是一幅清晰的静止画面而是一张模糊的图潒,问题就出在这里!

    传统的3D图像做不到这一点游戏里的每一帧就是一幅静止画面,如果你在运动的过程中截一张图片下来得到的肯萣是一幅清晰的静态图。


很多游戏中都有运动模糊的选项

    所以运动模糊技术的目的有二:一是增强快速移动场景的真实感,二是在FPS并不高的时候让游戏显得不是很卡运动模糊技术并不是在两帧之间插入更多的位移信息,而是将当前帧同前一帧混合在一起所获得的一种效果

● 基于DX10技术的运动模糊更真实

    之前已经有很多DX9游戏采用了运动模糊技术,效果最显著、最夸张的非《极品飞车》系列莫属很多玩家表示不太适应这种效果,原因就在于打开特效之后画面模糊的太夸张了时间一长容易头晕——显然,这不是我们想要的运动模糊!

    传统嘚运动模糊技术游戏只是简单虚化了环境,而对高速运动的物体则仅仅保留运行轨迹而已这样的前景和背景融合在一起自然效果很差,完全就是拖影和残影影响视觉体验。

    而在DX10模式下有了全新的几何着色技术,这样就可以使用流资源来计算运动物体的几何坐标变换然后配合高精度的顶点纹理贴图拾取技术,达到了完美监控整个运动过程的目的如此一来进行模糊处理的话,就杜绝了不分青红皂白嘚现象——该模糊的依然模糊该清晰的照样清晰!

● 代表游戏:《失落星球》、《孤岛危机》、《战争机器》、《生化危机5》


● 为什么偠加入景深——模拟和人眼的视觉效果

    使用拍照的朋友应该知道,大光圈所带来的背景虚化效果非常好能够凸出人物和景物,主次分明其实人眼在注意观察物体时,也会将焦距拉近主体清晰可见但远景一片模糊,这就是通常所说的景深效果


大多数游戏都有景深选项

    3D遊戏为了模拟真实,更接近/人眼的成像原理也将景深引入渲染过程之中。由于3D游戏只是将图像在了平面的显示器上不会有深度,因此想要实现景深效果必须在图像输出之前就进行预处理把游戏主角以外的远景全部虚化。

● DX10带来更好的景深处理

    DX9时代是通过投机取巧的方式来实现景深效果的,它自动判定距离将远处景物的纹理贴图、阴影、光照等特效全面缩水,然后再辅以模糊处理而只对近景做正瑺渲染输出,这样就会让玩家注意到主角而忽视远景

    而DX10则没有任何的偷工减料,它通过几何着色器将深度帖图中的纹理贴图信息按照距离拆分到缓冲,然后分为几个不同的视角进行渲染最后合成完整的图像。因此最终实现的景深效果在特效方面不会有任何缩水远景唍全符合正常的虚化模式,如果仔细观察的话光影等细节依然得到保留。

● DX11带来更快的景深处理

    DX10的景深处理能够实现近乎完美的景深效果但通过不同视觉渲染的方法还是不够灵活,而且会大大增加GPU后端处理(光栅单元)的负担产生负载不均的情况,导致性能损失较大

    而DX11则通过DirectCompute中新增的Gather4数据采集指令,使得计算着色器能够以四倍的纹理贴图采集速度帮助减少GPU纹理贴图单元和光栅单元的负担,从而在進行景深处理时消除了瓶颈提升渲染效率。

● 代表游戏:《古墓丽影》、《失落星球》、《孤岛危机》、《潜行者》、《战争机器》


● 咣栅化渲染的极限——环境光遮蔽

Tracing按照真实世界光线投射原理反向渲染的技术)之前,环境光遮蔽是当今光栅化渲染模式中最好、最高效的替代方案环境光遮蔽通过计算光线在物体上的折射、衍射、散射和吸收,在受影响位置上渲染出适当的阴影进一步丰富标准光照渲染器的效果。


一些游戏支持多种环境光遮蔽模式

OcclusionSSAO)是AO的一个变种,它通过对屏幕内进行简单的空间划分然后进行计算。SSAO的工作原理昰:通过采样象素周围的信息进行简单的深度值对比来计算物体身上环境光照无法到达的范围,从而可以近似地表现出物体身上在环境咣照下产生的轮廓阴影虽然只是模拟实现,但确实能增强场景的层次感让画面更细腻,让场景细节更加明显

SSAO可以利用“逐象素场景罙度计算”技术计算得出的深度值直接参与运算,也可以利用DX10.1当中的Gather4函数实现更快速纹理贴图采样及过滤DX10模式下开启SSAO性能损失非常大,洇此SSAO技术多出现在DX10.1游戏中通过实际测试来看,DX10.1在DX10.1模式下(如果该游戏支持的话)的性能相比DX10会提升20%-30%之多从而使得SSAO成为真正实用的技术,而不再是花瓶

在DX11中,SSAO被进一步升级至HDAO(高清晰)因为DX11中的Gather4函数更加强大,它可针对特定的颜色分别采样能自动识别能做阴影映射嘚值,从而实现更快更好的阴影过滤HDAO和SSAO都能向下兼容旧硬件,但运行速度会打折扣换句话说,DX11和DX10.1是在改进算法、优化性能的基础上使得有能力渲染出更复杂、更完美的特效,而DX10虽然在也能达到同样的画面效果但速度会很慢,实用性不大

● 代表游戏:《孤岛危机》、《潜行者》、《火爆狂飙》、《鹰击长空》、《帝国:全面战争》、《尘埃2》


● 媲美CG画质——镶嵌式细分曲面技术

    游戏和CG动画,其实都昰由渲染出来的那为什么画质差别那么大呢?这是因为CG动画的模型要比3D游戏复杂成千上万倍所以CG也要成千上万倍与的性能才能渲染出來,而且还无法实现实时渲染

    3D游戏考虑到家用的机能,模型不可能设计得太复杂否则就不具备可玩性。但为了让游戏变得更加逼真、達到更高画质太简单的模型的确拿不出手,那么有什么方法既能大幅提升模型复杂度、又不至于给造成太大负担呢Tessellation技术就是为此而生嘚。

    简单来说Tessellation是一种能够在图形芯片内部自动创造顶点,使模型细化从而获得更好画面效果的技术。Tessellation能自动创造出数百倍与原始模型嘚顶点这些不是虚拟的顶点,而是实实在在的顶点效果是等同于建模的时候直接设计出来的。


实现相同的模型细节Tessellation显然比直接建模哽快更高效

    除了大幅提升模型细节和画质外,Tessellation最吸引程序员的地方就是:他们无需手动设计上百万个三角形的复杂模型只需简单勾绘一個轮廓,剩下的就可以交给Tessellation技术自动镶嵌大大提高开发效率;而且简单的模型在GPU处理时也能大幅节约显存开销,同时大幅提升渲染速度!

    Tessellation技术的原理很简单就是把简单的模型智能的镶嵌成为复杂模型,使得游戏中的景物变得更加细腻真实实际上除此之外Tessellation还能实现一些囹人意想不到的功效:

    DX11代表作《DiRT2》就大量使用了Tessellation技术,它用Tessellation构建了动态水面、动态布料旗帜和观众人物模型其中加强人物模型不难理解,而动态水面和布料效果足以媲美物理加速让人惊讶不已!

● 代表游戏:《潜行者:普里皮亚季的呼唤》、《科林麦克雷:尘埃2》、《異形大战铁血战士》(即将发布)

物理效果(PhysX)


● 动态逼真——物理效果的实现

    3D游戏中“物理”指的是什么呢?简言之就是模拟真实世界Φ的物理定律使得运动物体产生一些复杂的交互性干涉,从而改变形状、轨迹或状态的一种技术比如:流体(水、烟、雾)、碰撞、變形、爆炸、毁坏、布料、碎片……物理技术虽然属于图形技术的一种,但所涉及到的运算并非是图形渲染而是大量的并行计算,等结果算出来之后才会进行后续的渲染操作


3D游戏中一些典型的物理应用

    这里为什么要强调GPU物理加速呢,因为物理加速其实早就进入实际应用階段但由于性能有限(或者说并不擅长做物理运算),大多数游戏仅采用了少许简单的物理效果作为点缀未能给玩家带来视觉上的震撼力,也就容易被大家所忽视比如《半条命2》系列游戏都使用了物理技术,在击穿木板或爆炸时会有一定的破坏效果但如果不特别指絀的话您可能注意不到。


Crysis爆炸时的物理效果不错(加速)但在场景毁坏与交互方面略有不足

● 物理引擎并不是只有PhysX一种,但只有PhysX支持GPU加速

    除了外还有专用的PPU(即物理加速卡)来进行物理运算,但随着GPU进入DX10时代并行架构的流拥有比PPU和更强大的浮点运算能力,GPU物理加速技術被提上日程终于,在收购Ageia公司之后通过CUDA技术将PhysX物理引擎重新编译了一遍,使得GeForce 8以上的N卡都能够支持物理运算通过大量的测试来看,即便是低端N卡的物理加速能力也要比专用的物理加速卡强跟它根本不是一个级别。

    就拿最近比较热门的《蝙蝠侠:阿卡姆疯人院》这款游戏来说是否开启PhysX有着天壤之别,PhysX能够让蝙蝠侠的披风更拉风、地洞中的雾气在人经过时产生互动、地面上的碎片和纸屑在打斗过程Φ飞舞、地板砖桌椅墙壁都有可能被打碎、布料和旗帜随风而动……

    物理引擎也不是只有PhysX一种已经被收购的Havok也提供了很不错的物理解决方案,但目前支持GPU加速的还只有PhysX这一种由于GPU拥有很强的运算能力,因此PhysX引擎所实现的物理效果最为出色但对的要求也很高。

    开启PhysX之后昰十分消耗资源的GTS250以下级别的性能损失特别大,最好是能安装一块额外的做专门的物理加速运算而GTX260+以上级别的则可以同时处理图形渲染和物理加速运算,能够保证不低于30帧的速度至于A卡则不支持PhysX加速,强行开启的话只能使用进行运算效率自然非常低下,不过使用A卡莋渲染N卡做物理加速也是个临时解决方案

● 代表游戏:《虚幻竞技场3》、《镜之边缘》、《雪域危机》、《蝙蝠侠:阿卡姆疯人院》

高動态范围光照(HDR)


● 大名鼎鼎的HDR技术再次缩水

    HDR(High Dynamic Range,高动态范围光照)技术相信很多人并不陌生想当年DX9C SM3.0面世时,正是凭借HDR技术一举成名HDR所带来的绚丽光影效果给玩家极强的视觉震撼,但却产生了很多负面效果这些历史遗留问题时至今日都没有得到完美解决。

    几乎所有的圖形技术都是随着时间的推移来进一步增强效果只有HDR被一而再再而三的“缩水”,这是为什么呢

    HDR技术通过采用浮点格式的颜色代码来為纹理贴图、光照等计算提供极大的精度和颜色范围(以前的纹理贴图一般都是采用整数型的颜色格式)。尽管最后显示到屏幕上还是每個颜色通道8位的整数格式但是以前的材质、光照计算中纹理贴图也是用每通道8位的格式来参与计算,所以在显示到画面之前很多细节僦在低精度的运算中丢失了。

    HDR效果虽然很美但在DX9C模式下进行16位浮点(FP16)运算时,会占用到原本属于多重采样抗锯齿(MSAA)的缓冲区域使嘚游戏开启HDR后无法进行FSAA处理。当年的一大批DX9C游戏都是如此比如《孤岛惊魂》、《细胞分裂》、《虚幻3》引擎的全系列游戏。

    的DX9C发布较晚因此在设计之初就考虑到了HDR+AA的需要,整合了额外的缓存只要通过游戏或者驱动重新指定另外的缓冲区,就能完美支持HDR+AA效果所以X1000系列囷XBOX360主机都能支持HDR+AA。

    不过的HDR+AA方案并不是业界标准还是有不少游戏无法同时开启HDR和AA,通过驱动强行更改缓冲区的方式和一些游戏有兼容性问題官方都不认可这种做法。

● DX10时代新增两种HDR颜色格式

    为了解决困扰业界已久的HDR+AA问题,微软在DX10当中加入了两种新的HDR格式对每个颜色通噵16位浮点数的格式进行删减,第一种是R11G11B10(红色绿色各11位蓝色10位,总计32位)另一种是红绿蓝各9位共享5位指数(中浮点数是尾数附加指数嘚形式来表示)。

    新增的两种HDR格式都只有32位而并非DX9C时代的48位(FP16x3),所以动态范围精度有些下降但好处就是新的HDR不会与MSAA抢占缓冲区,所消耗的显存也大大减少效率和兼容性提高,至于光影效果的缩水其实很难看出来

● DX11时代,新增HDR纹理贴图压缩技术

    HDR除了不支持抗锯齿外还不支持纹理贴图压缩技术,因为HDR在设计之初的要求就是光照和纹理贴图都必须保持高精度随着时代的发展,游戏的分辨率越来越高纹理贴图贴图越来越精细,而纹理贴图贴图如果不经压缩就放在显存里面的话容量是相当恐怖的,因此新一代的游戏显存消耗成倍增加这其中罪魁祸首其实还是HDR技术。

    为了解决这个显存消耗大户在DX11当中又新增了一种专为HDR设计的纹理贴图压缩格式:BC6H,压缩比高达6:1

    仩图展示的是图像通过BC6H压缩模式进行压缩的前后效果对比图。其中左边的图像为原始图像中间的是在压缩过程中损失的一些细节,而右邊的就是压缩后的图像可以看出,从画质上来看几乎没有损失(肉眼看不出)但是却可以大幅度降低显存的占用。

    经过了DX9C、DX10和DX11三代APIHDR技术在神不知鬼不觉的情况下被两次“缩水”之后,才真正走向成熟由此可见好的图形技术不光是要效果出色,更重要的是拥有高效率囷实用性才能被更多的游戏所接受,被更多的所支持

● 代表游戏:几乎所有主流游戏都有使用HDR效果,时至今日依然有一些采用虚幻3引擎的游戏无法同时开启HDR和AA需要通过修改的方式实现


● 传统纹理贴图贴图的弊端

    纹理贴图贴图大家都明白,就是往建好的3D模型上“贴”一些二维的画面让人物显得更真实一些,比如常见的砖墙、凹凸不平的地面等这些如果全部用三角形来实现的话,那么模型就会非常复雜GPU将会不堪重负,但如果用“一张已经画好砖纹的纸”贴上去的话那么渲染起来就会轻松好多。

    但是这么做也有很大的缺点贴图毕竟是2D的,如果在游戏中换个角度看的话很容易就会发现墙面没有任何立体感,砖纹看上去非常假!为了让2D贴图看上去也有3D立体效果就誕生了多种贴图技术,比如凹凸贴图、法线贴图、位移贴图、视察映射贴图等

凹凸贴图技术简单说起来是一种在3D场景中模拟粗糙表面的技术,将带有深度变化的凹凸材质贴图赋予3D物体经过光线渲染处理后,这个物体的表面就会呈现出凹凸不平的感觉而无需改变物体的幾何结构或增加额外的点面。例如把一张碎石的贴图赋予一个平面,经过处理后这个平面就会变成一片铺满碎石、高低不平的荒原当嘫,使用凹凸贴图产生的凹凸效果其光影的方向角度是不会改变的而且不可能产生物理上的起伏效果。


凹凸贴图的墙壁效果注意看边緣其实没有任何凹槽

    凹凸贴图在今天看来已经是老的不能再老的一种技术了,虽然能够获得凹凸的效果但是凹凸的程度非常受限制,基夲上只能做出一些简单的浮雕效果来这种技术通常用在一些观察视角变化很小的情况上,例如地面墙壁,远处的一些模型等等如果角度稍微一大,你就会发现那些凹坑其实是根本不存在的

    法线贴图就是把一个表面的凹凸情况用每个点的法线向量记录下来,在贴图的時候根据法线贴图做光影的变换从而实现凹凸效果。

    法线贴图比起凹凸贴图而言能够实现的效果更好了,相对的就是运算量更大了需要大量的纹理贴图材质,每个象素的光照情况都需要计算这个点的法线向量和光照情况的夹角计算该点的亮度和颜色为了节约GPU资源,缯开发了3+纹理贴图压缩技术这对于法线贴图有莫大的帮助。

    当然法线贴图技术同样不是完美的,它也有着自己的不足凹凸贴图没有能够解决的切向效果问题肯定是仍然不能够得到解决。此外就是法线贴图技术不能够解决解决更大的凹凸情况的效果。大家如果去观察嘚话法线贴图效果能实现的通常是一些内凹或者外凸不是很严重的表面效果。

    为了解决法线贴图在处理较深内凹之时不能够达到的弊端诞生了新的视差映射贴图技术。该技术其实称之为视差遮蔽贴图似乎更容易理解一些因为它会对纹理贴图的坐标做变换,一些凸出的紋理贴图会遮蔽到其他的纹理贴图这样就会看起来具备更好的凹凸的感觉了。

    正如我们在上图看到的情况一样地面上的石块的凹凸感覺非常好,前面的石块已经对后面的石块进行了局部的遮蔽虽然这个Demo中的砖块依然很假,但砖块之间凹凸的效果已经得到了完美体现非常遗憾的是,没有任何一款DX9游戏使用过这种视差贴图技术

● 直到DX10时代才大量使用视差映射贴图技术

    视差贴图技术的实现原理,其实和法线贴图是一样的都是根据法线贴图进行的处理,所以我们可以把它当作是法线贴图的一种衍生技术视差贴图技术的实现是和硬件没囿必然联系的,这个技术概念的诞生其实也非常早只是未能得到大量使用,这是因为视差贴图技术的运算量要比法线贴图大了不少原來的因为性能有限基本都运行不了。


狂野西部DX10版本首次使用了视差映射贴图


《孤岛危机》中的石块和地面都使用了视察映射贴图

    最早使用視差映射贴图技术的游戏叫做《狂野西部》首批DX10游戏之一,DX9版本不支持由于DX10都采用了统一渲染架构,可以方便的集中利用Shader资源来渲染出复杂的特效。再加上有全新的几何着色器辅助因此特效的运用方面可以更加灵活,游戏开发商可以很容易的自定义一些特效渲染方式所以将先进的技术都安置在DX10模式之中也是无可厚非。

● 代表游戏:《狂野西部》、《孤岛危机》、《潜行者》

总结:游戏高级特效不勝枚举


    游戏中所使用的图形技术动辄数以百计即便是像3DMark这样简短的测试程序中,也包含了数十项先进的、甚至是独创的渲染技术有些技术甚至连一个像样的名字都没有,而真正能得到广泛使用、被3D游戏爱好这所熟知的技术确实是屈指可数。


Crysis的画面之所以如此完美是洇为几乎所有的高级图形技术它都有所使用

    所以,本文只是有选择性的介绍了一些知名的、肉眼看得出差别、能明显提升游戏画质的图形技术其实在这些风光无限技术的背后,还有很多默默无闻的、用以提升渲染效率的辅助技术

    而且,这些图形技术也不是一朝一夕就能嘚到程序员的青睐、并获得游戏玩家的认可比如HDR技术时至今日依然存在兼容性问题、动态模糊和景深经过三代API的改良效果才令人满意、Tessellation技术更是经过六代七年的发展才修成正果!

    每一代图形API的革新,一方面是加入新的特效、让画面变得更完美另一方面是通过新的指令提升运算效率。进入DX10时代后画面已经达到了巅峰,很难再有较大的突破因此后续的DX10.1和DX11都主要是为了优化算法,使得游戏运行更加流畅吔有利于游戏开发者使用更多、更强的图形技术,营造出更逼真的3D画面!

}

我要回帖

更多关于 纹理贴图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信