现在的位置: 首页 > 综合 > 正文

最新3D图像处理技术(出处:CHIP新电脑)

2013年10月25日 ⁄ 综合 ⁄ 共 5355字 ⁄ 字号 评论关闭

顶级的图像处理芯片支持哪些最新的3D图像处理效果?这些3D图像效果能带给我们什么样的视觉冲击?何时我们可以在游戏上见到这些3D图像效果?购买最新的显卡能给我们带来什么?

3D图像处理无疑是现代电脑技术中发展最快的领域,3D图像处理技术的进步让我们离在电脑上实时生成具有电影画面质量的3D游戏场景的目标越来越近。过去那些要高端3D图形处理工作站花费好几个小时才能完成的场景画面,目前在主流个人电脑上已经可以实时生成。

下面,让我们通过于今年4月中旬推出的NVIDIA新一代图像处理器GeForce 6800和游戏Unreal的最新图像处理引擎,来了解一些最新的3D图像处理技术。此外,我们还将用由GeForce 6800所生成的场景图片来展示最新3D图像处理技术所带来的实际效果。

CineFX 3.0引擎

CineFX 3.0是应用于GeForce 6800的新一代图像处理引擎,CineFX 3.0为我们带来了位移贴图、次表面散射、柔和阴影和全局照明等先进的图像处理技术。

位移贴图

“带纹理的顶点处理”能给程序员的工作带来更大的便利,它的应用可以为场景中的每个景物以及动态角色带来更高的深度感和真实性。通过使用纹理调入指令,纹理信息可以实时地映射到顶点上,这就是CineFX 3.0的位移贴图(displacement mapping)技术,位移贴图的应用可以避免图像的表面显得过份光滑。


左下角小图为没有使用位移贴图技术的模型,上部大图为应用了位移贴图技术后的模型。通过比较可以看出:位移贴图技术的应用使恐龙头部模型有了更高的真实度。

在视觉效果上,位移贴图技术让电脑所生成的3D场景与电影中的真实场景更加接近。通过3D场景中各种光线在每个顶点上的协同作用,场景中的细微变化都能产生出可以被辨别的视觉效果。之前,在应付图像显得表面过份光滑的问题上,程序员要么不得不使用复杂的像素着色器技术,要么干脆在3D场景中保留那些不真实的光滑的表面,而位移贴图技术让上述图像处理问题的解决变得更方便而且效果更好。

顶点参数设置

CineFX 3.0让程序员在3D场景构建中,可以为各类顶点设置灵活的参数(诸如动画和位移参数),这让同一类效果可以被高效地应用到多个角色或者对象中。例如,在架建含有一支军队的场景时,CineFX 3.0技术的应用可以让军队中的每个士兵都以一个不同的动作在战场上跑动。在这个例子中,不同的运动参数可以单独地应用到每个士兵上,使得每个士兵的动作都看起来不一样。

更多的视觉效果

CineFX 3.0还具有其他一些新功能,这些新功能使得程序员们能够创造出与以往不同的场景效果。这些新功能包括了:

次表面散射(Subsurface scattering):这项技术的应用可以让光照的效果随着深度的不同而变化,其结果是让人物的皮肤和物体的表面呈现出深度感。

柔和阴影(Soft shadows):这项技术可以使场景中由光线和物体所构成的阴影的边缘线看起来比较柔和,避免了在场景中出现刺眼阴影,从而更精确地表现出真实的场景。

环境和地面阴影(Environmental and ground shadows):这项技术能让阴影效果准确地应用到诸如草或者其他植物等复杂的表面上,而且这种阴影效果的应用不会大幅度地影响场景画面生成的速度。应用环境和地面阴影技术,还可以产生阴影随着视角的变化而准确移动的效果。

全局照明(Global illumination):预渲染和实时渲染之间最重要的一个区别在于光照效果的不同。在电影场景架建中,为了要产生尽可能逼真的图像效果,渲染工具通常需要花费数小时来确定场景中光线在物体之间反射的情况,而这在游戏中是不现实的。由于CineFX 3.0支持几乎无程序长度限制的像素着色器、基于浮点格式的滤波以及基于浮点格式的颜色混合,因此CineFX 3.0技术可以实时地生成更多复杂的场景效果,这就有可能在实时的应用程序中生成更接近照片质量的场景效果。

新架构图像处理器

GeForce 6800图像处理芯片应用了超标量架构,超标量架构让图像处理器可以在一个运行周期内处理更多的操作指令。NVIDIA EXR(扩展高动态范围技术)是GeForce 6800所拥有的另一项新技术,NVIDIA EXR技术让动态场景的再现变得更流畅,纹理细节的表现更精细。

超标量架构

GeForce 6800引入了全新架构的着色器——超标量架构着色器,这种新着色器在每个时钟周期内能够完成的操作指令数是其上一代产品所能完成数量的两倍。在新架构的着色器中,每条像素流水线拥有两个着色处理单元,因此在图像处理器的一个运行周期内,像素运算处理的性能提升了两倍。这种性能的提升让许多复杂的图像效果在实际应用中变得可行。

NVIDIA EXR技术

NVIDIA EXR是一项扩展高动态范围的图像处理技术,高动态范围的渲染能够生成效果更逼真的场景,例如,在高强度的太阳光线下,场景中阴影部分色彩细节的真实还原。

过去,高动态范围渲染的应用受到了很多的限制,如电脑的帧缓存只能以线性的方式来保存不同的色彩强度,标准的帧缓存只能用255个数值来表示色彩范围等。为了克服上述限制,研发人员应用了各种不同的解决方案来创建涉及高动态范围渲染的画面,这些方法包括:在像素着色器程序中进行转换运算、动态光照、高精度纹理的滤波等,但这些方法都存在必须占用图像处理器大量的运算资源和兼容性低等缺点。

GeForce 6800使用NVIDIA EXR技术来实现高动态范围场景渲染的需求。在动态范围场景的渲染中,NVIDIA EXR是通过为着色渲染、混合渲染以及滤波操作等过程提供更高精度的数据来实现高动态范围渲染的,这避免了对图像处理器运算资源的大量占用和兼容性方面所出现的问题,保证了高动态范围渲染能够高效地执行。

UltraShadow II加速阴影计算

GeForce 6800引入了UltraShadow II技术,UltraShadow II让游戏开发人员可以创造出更复杂的光照效果。


左图:游戏Doom III中的场景。中图:这些线是在没有应用UltraShadow II技术的情况下,进行阴影和光照计算后产生物体轮廓的阴影投射线。右图:应用了UltraShadow II技术后,同样的场景只需要用到较少的轮廓投射线。

加速阴影计算

精确的阴影是重现逼真场景的关键。在游戏场景中,多光源与大量角色之间的交互作用必须通过多步骤(multi-pass)的程序编制来实现。要生成游戏中每一帧的场景,就必须对每个光源和每个角色进行分析和运算,这就要占用图像处理器大量的运算资源。通过NVIDIA的UltraShadow II技术,编程人员无须编写特殊的程序,就能在阴影处理过程——阴影锥(shadow volume)中获得四倍于上一代产品的运算性能。

UltraShadow II还通过消除那些涉及非光线变化区域的无效运算来实现更高速的阴影计算。结合UltraShadow II技术,编程人员能够定义场景中的界线区(通常称之为“深度界线”),这个界线区能够把计算限制在那些受光源影响的区域内,从而大大减少对图像处理器运算资源的浪费。通过把光源计算限制在那些只受光线变化影响的区域,场景中阴影效果生成的整体速度就能够获得显著提升。

从下图我们可以看到:UltraShadow II技术的应用有效地减少了需要被运算的阴影区域的数量。UltraShadow II可以让图像处理器忽略那些不显示于最终画面的阴影像素,切切实实地实现性能提升。通过UltraShadow II技术和NVIDIA新版本智能取样(3.0)技术的相互配合,还可以实现在阴影的边缘抗锯齿效果,防止在阴影边缘出现斑块或者锯齿。


顶尖的游戏开发者善于利用复杂光源和阴影来营造逼真的场景。

追求真实的效果

本页和第35页的几组图片(“Clear Sailing”,“Nahu”和“Timbury”)展示了由GeForce 6800所生成的游戏场景,通过这些图片,我们可以形象地了解GeForce 6800的新图像处理技术在实际应用中的表现。

Nahu图片分析

游戏的主角Nahu(大海的女儿)正从深海游向水面。图片展示的是:3D图像处理过程中,在对由Nahu的长头发和她的皮肤所产生的柔和的阴影进行渲染时,GeForce 6800图像处理器所能展现的图像效果。

图片分析:1. 浓密的头发是由一种叫“深度阴影” 的图像处理技术实时生成的。头发的上部由于光照而发亮,头发的下部则处于黑暗状态。2. Nahu的皮肤被从水面透过的光线所照亮。在她游动时,她的身体和头发产生了柔和的阴影。3. 通过应用顶级的“渲染至纹理”图像处理技术,从水面透过的柔和的光线,以及Nahu身体所产生的阴影都可以很好地表现出来。4. Nahu的高清晰度的皮肤由高表现度的着色技术来生成,而这种高表现度的着色技术也可用于生成皮肤所产生的柔和的阴影。相关的着色技术让人物图像表现出更明显的凹凸、彩虹以及发光效果。5. 在最后一步的图像处理中,还应用了一束柔和的光线,这束光线让她的头发和皮肤在屏幕上表现出闪闪发光的效果。

Timbury图片分析

游戏的主角Timbury是一位为了研究昆虫而不惜冒险的生物学家。图片展示的是:GeForce 6800不仅具有强大的顶点和像素着色处理性能,而且其本身所具有的浮点运算精度让它可以轻而易举地处理32位或16位的浮点数据。

图片分析:1. 光照效果通过NVIDIA EXR技术中的16位浮点运算来实现,这让所生成的场景有了前一代显卡所不可能生成的光照效果。Timbury是被周围环境的光线所照亮,而不是由人造的、具有方向性的或聚光灯的光线所照亮。2. 场景由可以控制场景清晰度的16位浮点渲染器所渲染生成,这种16位浮点渲染器还可用来计算Timbury的眼睛对周围环境的响应。这样,照射到Timbury眼睛上的光线的强度就能够根据周围环境光线强度的大小而改变。再通过场景的后期处理,让最终场景中明亮区域的表现更为真实。3. Timbury的面部特征透过厚厚的眼镜镜片很夸张地表现出其发现新种类昆虫时的激动情绪。4. 根据玩家视角的不同,Timbury的动态表现由更精细的表面展现出来。

Clear Sailing图片分析

游戏中的双桅帆船试图从英国皇家海军的阻击中逃脱出来。图片展示的是:GeForce 6800的强大的顶点着色和碎片着色处理性能。

图片分析:1. 海洋场景由逐个顶点和逐个像素的波浪效果运算处理所生成。2. 船在海面所产生的阴影由逐个像素运算处理技术所生成。3. 海浪所产生的泡沫由顶点着色处理器所生成,这种泡沫由海浪的大小所控制,具有动态的表现效果。4. 飞溅的浪花是根据船的航行特征由一种模拟颗粒的运算来生成的。5. 船被周围的光线所照亮,彩色贴图、凹凸贴图和实时阴影贴图被应用于场景架建。

Unreal的图像引擎

游戏Unreal的图像处理引擎常常被当做游戏3D图像处理技术发展的代表,它很好地展示了3D图像处理技术在游戏中的应用。在今年的全球游戏开发者大会(Game Developers Conference 2004)上,Epic公司介绍了其最新版的Unreal游戏的3D图像处理引擎——Unreal Engine 3.0(UE3)的研发情况。

下面,让我们来看看UE3所应用的新图像处理技术。

“逐个像素”光照和光照效果

逐个像素光照模式的应用意味着对屏幕上所显示的每个像素点都必须进行独立的运算处理,这让游戏的画面看起来非常自然,游戏场景的光照效果显得非常平滑。这项技术的应用不仅使游戏的画面看起来更优美,而且还可以让游戏的画面总是处于动态变化之中,这样游戏场景中人物的阴影就更加真实了。当游戏场景中的人物移动时,此技术还能够生成阴影模糊的效果。

UE3中还应用了一种叫“HDR光照”的技术,当游戏场景中的光线达到一定强度时,“HDR光照”可以在物体上生成真实的光反射和光斑点的效果,这是一种非常精细的效果,它可以大大地提高游戏场景画面的真实性。

细节表现

游戏DOOM 3和Half-Life中的人物在图像细节表现上有很高的水准,UE3则让玩家可以自己创作与上述两个游戏中的人物具有相同图像细节表现的角色。在演示中,Epic先为某个角色创建一个复杂的模型(由600万个多边形构成),然后再为同一角色创建一个应用于游戏的简单模型(由6500个多边形构成)。通过UE3工具,人们可以根据复杂模型来对简单模型的细节(如皱纹和凹凸等)进行推算和再现,其最终结果是:游戏中角色的生成速度非常之快,角色的图像表现效果也非常真实。

新技术在游戏中的实现

我们总是用现有的游戏来测试新推出的图像处理器的性能,但值得注意的是:这种方法存在着很大的局限性。即使是最先进的3D游戏,在图像处理上所应用的大部分技术也只能基于这个游戏开发初期时所存在的图像处理技术。由于游戏开发过程的长周期性,因此当一种全新架构的图像处理器推出后,我们通常必须要等二至三年,才能够在市场上找到能够发挥相关产品全部功能的游戏。

虽然我们暂时还不能从现有的游戏中感受到最新图像处理器的全部精彩,但至少它能让现有的游戏跑得更快,也能够让现有游戏中的3D特效表现得更淋漓尽致,也许这就是游戏玩家升级显卡的动力所在。

抱歉!评论已关闭.