DirectX 11的第一次诱惑
编辑视线
10月23日,微软正式发布了Windows 7操作系统。紧接着第二天,拥有游戏业内最流行、图形特效最先进的Unigine Engine(虚拟现实引擎)的Unigine公司就推出了全球首个支持DirectX 11的测试/演示程序——Heaven(天堂)。这个技术Demo的诞生,为我们揭开了Tessellation技术特性的神秘面纱,也给我们带来了难以抗拒的诱惑……
首个DX 11技术Demo新鲜出炉
作为游戏开发中最重要的图形API(应用程序接口),微软的DirectX早已超越OpenGL(Open Graphics Library,开放式图形库)成为事实上的第一标准,其不断推出的新版本、不断改进的构架、大量炫目的新技术也都第一时间被囊括其中,新版DirectX不仅仅是图形API,而且是硬件和游戏发展的风向标,每次新版本的出现都会暗示今后一段时间内图形硬件的研发方向和展示未来游戏的最高特效。
这次Windows 7操作系统也遵循了这一“自然规律”,新操作系统给我们带来了全新的3D图形API——DirectX 11。和小修小补的DirectX 10.1(Windows Vista系统自带的图形API)不同的是,新一代的DirectX 11带来的变化是革命性的。具体来说,DirectX 11拥有五大关键特性,它们分别是Tessellation(镶嵌式细分曲面技术)、Multi-Threading(多线程处理)、DirectCompute(计算着色器)、Shader Model 5.0(着色处理引擎)和Texture Compression(纹理压缩)。这些技术特性可以为用户带来更好的视觉享受。
尽管微软的DirectX 11给游戏爱好者描绘了一幅美丽的图画,但要让人们为之信服,还得用事实说话。在DirectX 11游戏尚未全面上市之际,相关的技术演示或测试Demo就显得格外珍贵了。如今,名不见经传的Unigine公司抢在3D图形性能测试软件业“霸主”FutureMark之前,推出全球首款DirectX 11测试/演示程序Heaven,让所有关注DirectX 11的游戏玩家为之欢呼雀跃。
作为首个DirectX 11技术演示程序,Unigine Heaven将Tessellation、DirectCompute、Shader Model 5.0等技术特性演绎得淋漓尽致。它提供了对原生DirectX 9/10/11、OpenGL的支持,利用各种物理计算为我们带来了出色的视觉体验,视觉效果足以用“夸张”来形容。
从Heaven这款Demo的测试情况来看,由高性能的物理计算生成的积雨云以及动态的天空效果、阴影效果、光效果都是之前没有体验过的。而对Tessellation特性的全面应用,也让用户感受到DirectX 11特效的巨大魅力。看来,在权威的3DMark测试软件推出新版本之前,Heaven将是玩家进行DirectX 11性能测试的唯一选择。


Tessellation守得云开见月明
在DirectX 11的五大关键特性中,Tessellation技术是一颗璀璨的明珠,它很可能成为今后DirectX 11游戏的主要技术特点。不过,Tessellation今日的辉煌却隐含着数代艰辛的发展。
早在2001年7月微软就在DirectX 8.1的规范中提出了一个叫做N-Patch的技术,相比之前的各种虚拟3D和位移贴图技术而言是一种非常巧妙的技术。它能够像位移贴图那样自动创造顶点,但是却不需要高度图来作参数,使模型自动的变得极为光滑。之后ATI 在自己的R200(Radeon 8500)中,就率先采用了N-Patch技术(ATI 称之为TruForm)。但在实际应用中,TruForm往往在枪支等不需要自动曲面化的模型上自动使用,结果画面就相当可笑。
正是这一问题的存在,TruForm在DirectX 9时代便销声匿迹了。虽然效果不尽理想,但这一技术通过简单高效的手段,让“低模”3D游戏看到了“变身”为高品质模型的曙光。2005年,ATI专为XBOX360设计了图形芯片Xenos,对后者所采用的N-Patch技术进行了改进,并给它起了一个新名字——Tessellation。Tessellation的改进很成功,它可以按照不同模型的要求进行曲面细分化,而且程序员们无须手动设计上百万个三角形的复杂模型,只须简单勾绘一个轮廓,剩下的就可以交给Tessellation自动镶嵌。
Xenos之后,2007年ATI在R600中集成了Programmable Tessellator(可编程镶嵌器),并在之后的产品中一直继承了下来。此时的Tessellation技术比XBOX360使用的又有了进一步的改进。在R600发布时,ATI拿出了一款CG级别实时渲染的Demo,其中被积雪所覆盖的山体就是由Tessellation生成的,其精细程度甚至超越了主角Ruby。之后,Radeon HD3000/HD4000显卡继续支持Tessellation。不过,由于一直是ATI独力支撑,而且DirectX没有集成该技术,使得它始终无法得到游戏厂商的青睐,那时甚至没有一款成品游戏支持Tessellation。不过在动画市场上Tessellation倒是大受欢迎,有很多图形公司使用它。
今天集成在DirectX 11中的Tessellation历经数代发展,已经变得更加成熟、细腻、灵活、高效、实用。所以一经推出,就得到游戏厂商积极的响应。不过,微软并不是原封不动地将ATI的Tessellation技术移植到DirectX 11之中,而是对它进行了优化,使其能与渲染流程更完美地结合在一起。
小贴士:微软对Tessellation的变革
微软在DirectX 11中为Tessellation这道新工序准备了三个部件:Tessellator(镶嵌器)、Hull Shader(外壳着色器)和Domain Shader(域着色器),比ATI的解决方案更加完善、系统化。DirectX 11的Tessellation的“妙处”是不必反复访问内存,既节约资源也有效提升了性能,进而全面提升画质、性能与游戏开发效率。


DirectX 11的未来让人期待
在Windows 7正式发布前,就已经有20多款游戏宣称要采用DirectX 11技术,其中有多款游戏已经上市发售,比如《BattleForge》在9月23日就通过添加补丁方式,宣告支持DirectX 11。不过,这款RTS(即时战略)网游目前仅在美国和欧洲开服,并且没有中文版。
业内很多人认为,DirectX 11在某种程度上可以说是DirectX10的“超集”,即它集中了多数消费者可以更直观看到的先进特效,又进一步方便了程序员的游戏开发。再加上目前广受好评的Windows 7集成了DirectX 11,所以DirectX11游戏获得广泛支持是指日可待的事情。
作为DirectX11最重要的特性,Tessellation的发展和普及也面临一些困难。虽然这是一项极佳的技术,但由于它是在AMD(ATI)的一路坚持下发展起来的,NVIDIA现有的产品并不支持这项技术,如果NVIDIA的下一代显卡支持Tessellation,那么Tessellation的发扬光大没有任何问题,但如果NVIDIA不提供对它的支持,那么Tessellation技术的普及程度肯定要打一个大大的折扣。
当然,由于它是DirectX11的内置标准,而且的确先进,同时AMD对游戏厂商的影响力也不容小觑,因此,支持Tessellation技术的游戏的数量也不会少。到目前为止,就已经有《潜行者:普里皮亚季的呼唤》、《科林麦克雷:尘埃2》(即DiRT2)、《异形大战铁血战士》、《战地:叛逆连队2》这些重量级的游戏宣布支持Tessellation技术,并很快会上市发售。
值得一提的是,在《尘埃2》中,Tessellation技术的应用甚至比Heaven Benchmark还要彻底,随风飘扬的旗帜、互动的水面(两项技术几乎都可以取代物理引擎了)、还有呐喊的观众……全面使用Tessellation技术构建,动态逼真的画面超越了以往任何一款赛车游戏!
毫无疑问,在微软和游戏厂商的大力推动下,以Tessellation为代表的DirectX 11特效技术将会得到广泛应用,它会给玩家带来更多更逼真的游戏体验。游戏迷们,让我们耐心等待吧。

相关文章链接
●关于首款DirectX 11技术演示Demo的深度体验
●关于DirectX 11技术特性的详尽分析