MCPLive > 杂志文章 > 从曲面细分看GPU图形和游戏的发展

从曲面细分看GPU图形和游戏的发展

2010-06-02望穿秋水《微型计算机》2010年5月上

为什么看起来很假?—模型决定结果

下面我们来看看电影制作人是如何处理图像的,和传统游戏有何不同?当然,我们这里的考察仅仅针对图像处理而言,不考虑物理处理、碰撞等问题。

在电影中,建模是整个图形的根本。没有好的、逼近真实的模型,就不会有接下来足够拟真的场景出现。就像雕塑家一样,如果不能在一开始就确定雕塑的大致姿势,终结果肯定不够令人满意。因此电影制作人员在强悍性能的支撑下,可以对电影中的各种目标、物体使用尽可能精细的模型。比如树木、草叶这种平凡无奇的“配角”动用几万甚至几十万个三角形的情况都非常常见。而对那些关乎电影主题的主角人物而言,采用几十万个三角形的精细建模很常见。一些表现力夸张的场景甚至需要十亿级别的三角形才能做到精细、逼真的建模。


《阿凡达》电影带来的震撼还未远去,高达几十亿三角形的模型带来的场景依旧让人难忘。

采用更多三角形处理的好处很明显,但首先你要记住一点:电脑不会画曲线。你在屏幕中看到的所有曲线,如果将其放大,都终会成为一节一节以整数坐标为端点的线段。在这种情况下,电脑只能依靠足够小的显示单位(比如一个像素)和更多的图形(比如三角形)数量来逼近终结果。

我们假设现在要画一段曲线,如果你对精度要求不高,电脑会先在曲线上以一定的规律取出多个顶点,然后把它们用直线连接起来—取出的点越多,终绘制成的曲线就越平滑;如果目标是二维的圆,电脑会以圆心为三角形顶点,用全等等腰三角形来描述圆,同样,三角形越多,就越接近圆本身,当三角形无穷多的时候,就近似认为和目标圆相等。同理,如果目标是三维的圆球,电脑终也会将光滑的圆球表面分成无数个小三角形,小三角形数量越多,越接近目标圆球,也就越光滑。

让我们回到电影制作的建模过程中来,电影制作可以几乎肆无忌惮地使用超级计算机庞大的计算资源来用尽可能多的三角形表达图形。随之而来的代价是:这种精细无比的计算难以达到流畅的帧数。对一个可能只有三分钟的电影场景而言,计算机往往需要几天甚至一周持续不停地运算,才能得到终想要的画面。

说到这里,我们已经基本了解为什么电脑游戏不可能和电影相提并论了—就算电脑能使用诸如光线追踪等高级算法,但在第一步建模的过程中,按照目前电脑的性能根本不可能实现几十亿顶点的精细模型。当然,电影制作人员也会使用诸如曲面细分等特色技术,但无论如何,电脑的建模能力和制作电影使用的巨型计算机还是差得太远太远,这不是百分之几百的差别,而是两个甚至三个数量级的差别。

《魔兽争霸》中著名英雄娜迦女妖法斯琪的脸,只有寥寥几个三角形组成。另外,特别注意后面酒馆的屋顶,完全是用整张贴图完成,屋顶瓦楞并无任何凸起、凹陷,完全是平面。还有正在燃烟的烟囱,顶部并没有凹陷的烟道,也仅仅只是一张贴图而已。

由于建模能力不足,在目前的电脑游戏中,能够在主角的头部上使用上百个三角形已经算非常细腻的模型了。一些稍微古老的游戏如《魔兽争霸》,甚至只会在主角的脸上使用三到五个三角形。基于这样的原因,我们就不会对游戏中娜迦海妖法斯琪如同棱锥一样的脸感到诧异了。就算目前号称画质强的《Crysis》,战斗中人物依旧显得不是那么精细,总有一些地方由于三角形使用较少而显得不太和谐。其它诸如《使命召唤》、《魔兽世界》等游戏,“方脑袋”、三角眼以及“多边形胳膊”则更是家常便饭。不难看出,由于建模不足,大大影响了游戏画质的表现。

分享到:

用户评论

用户名:

密码: