深入GeForce3

  高分辨率抗锯齿

  3dfx曾经把Voodoo5的很大赌注压在一种可以消除3D物体锯齿边缘的新效果上。抗锯齿可以显著改进3D图像的质量,而且它甚至不需要游戏开发商进行特殊的编程处理。但是这种技术在需要非常快速、流畅帧速率的游戏中基本上没有得到实际应用,例如第一人称射击游戏,因为它需要图形芯片在渲染每个帧的时候进行更多的工作。

  GeForce3引入了一种不会影响性能的抗锯齿新方法。在最基本的层面上,抗锯齿依赖于混合邻近像素的色彩平滑和减轻边缘锯齿。2D应用程序中最普通的例子就是Windows的字体平滑技术。但是在游戏中并不是柔化屏幕上的所有对象;抗锯齿过程需要额外的信息来更好地辨别边缘和混合需要的像素。Voodoo5芯片硬件——以及ATI的Radeon和Nvidia的GeForce2采用的软件方式——的工作是增大一个场景的规模、渲染额外的像素、然后混合邻近的像素、同时将场景缩小到正常的规模。这种处理方式的问题在于图形芯片必须为一幅高品质图像渲染四倍的像素。与之对比,GeForce3芯片借鉴了同样的多倍像素手法,但在避免额外渲染的前提下改进了图像质量。虽然GeForce2 Ultra在开启抗锯齿功能的时候性能会降低四分之一,但是GeForce3可以依然能够保持正常的每秒8亿像素填充率。出于这个原因,开启抗锯齿功能之后GeForce3在更高分辨率下、例如1024x768,流畅运行游戏不会有任何问题。

  为了平衡性能和图像质量,Nvidia在比较和混合邻近像素时采用了一个特殊的模式。这个五点模式(quincunx)是一个中间有一个点的方框,就象一个普通六面骰子五点那一面的图案。方框的四角与四个周围像素交迭,即角上的点是重叠的。当图像进行抗锯齿处理的时候,这些角点的色彩组合决定了中央点(原始像素)的色彩。处理过的图像在混合质量上不如高品质4x抗锯齿的结果,但是在高分辨率和60fps下只有极快的眼睛才能发现它们之间的分别。

  GeForce3的五点式抗锯齿对于性能确实有一些影响,但是只存在于显存带宽方面,由于芯片的光速显存架构这些影响相对可以忽略不计。虽然如此,Nvidia的五点式方法和4x抗锯齿相比占用的显存要少一半。考虑到对帧速率的影响极微,现在玩家在游戏中应该没有任何理由关闭抗锯齿功能了。

  无限的效果

  由于我们已经涉及了GeForce3面世之后对现有游戏的影响,现在就来看一看GeForce3真正的潜力所在。Nvidia在标准的转换和光源引擎旁边增加了一个高度可编程的动画和效果引擎。这个“nfiniteFX”引擎是GeForce3最精密复杂的新单元,和纯粹的转换和光源(T&L)相比它的功能更为广泛。虽然可编程性听起来更象是针对开发商而言,玩家或许不会对此关注,但无疑没有人喜欢一再看到同样的特殊效果。利用这样的开放系统,游戏设计师们可以创造出独特和充满变化的效果。

渐变器处理效果   nfiniteFX引擎分为两个部分:一个处理顶点或几何效果,另一个专注于每个像素的效果。它们都使用了称为shader(渐变器)的小程序,这些程序在不需要CPU经常发送指令的前提下可以引人注目地自由改变3D对象。顶点shader的效果尤其生动,因为它们可以控制一个物体的形状、动画或光线。Radeon在这个方向也引入了一些硬件编码的特点,例如游戏角色的关节皮肤或关键帧插补技术。GeForce3可以进行更多精密的皮肤处理,这允许利用内部骨架建造角色,而美工——或者游戏的物理引擎——可以实现骨架的运动,同时仍然以真实方式保持关节附近的纹理。面部和更复杂的关节、例如肩部的实现一直相当困难,但GeForce3最多可以处理32矩阵的互动,相比之下Radeon只能处理4个矩阵。除了骨架动画,顶点shader可以实现许多特殊效果,例如有效改变一个对象形状的程序变形。我们看到的一个出色的效果是动画角色的皮肤会在行进的时候根据身体各处的拉力自然地褶皱和伸展。同样地,shader还有可能实现子弹撞击后金属的凹痕,而且凹痕不会象基于纹理的墙壁弹坑那样消失。或者如果一个游戏发生在沙漠中,远方的物体由于热量会散发出微弱的光芒。

  出于简单的考虑,光线和雾化效果经常在每顶点的基础上实现。虽然Quake III引擎的低质量设定使得顶点光源成为了快速和低劣效果的同义词,但顶点环境光源绝对更加精确。通过改变光线在顶点的作用,设计师们现在可以创造出一些特殊的光线效果,例如玻璃等光亮物体表面的折射。这也可以用来实现部分可见的遮蔽效果,例如影片Predator(终极战士)一样。通过投射从上方水中折射的光线,shader还可以使水下环境更具动感。另外在较低地区逐渐浓厚的海拔雾化还有可能实现更真实的雾化效果。

  然而,无论这些功能多么强大,如果掌握运用的难度很大,那么利用这些技术的游戏无疑会很罕见。举个例子来说,像素shader在GeForce2 GTS中就已经出现,但是由于缺乏业界标准的支持至今还没有在游戏中露面。为了shader技术大规模地推广普及,Nvidia已经付出了大量努力。

转载自ZDNet China游戏基地

3/4

[上一页][下一页]