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

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

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

你无法用好莱坞大片中的场景去对比电脑游戏的画面,因为它们的差距确实太大。即使它们都叫做《阿凡达》,但极为明显的画面差异还是可以让你一眼就看出来谁是电脑游戏,谁是电影。电影大量应用了光线追踪等更为逼近真实的计算算法,并对每一个模型和对象做出了极尽细腻的计算。反观电脑,只是在有限的成本下取得性能和画质的平衡而已。

说到底,还是成本的问题。没错,谁也不可能要求制作成本在一万元左右的计算机画质能和几亿美元制作成本的大片相媲美。不过我们依旧需要思考,究竟是什么原因让它们的差别看起来如此之大?在“影院级渲染”呐喊了多少年之后,游戏画质还有哪些差距尚需弥补?换句话来说,电脑游戏和电影的画质差距,除了光线效果、材质细腻程度以及一些物理场景和抗锯齿、甚至还有光线追踪等算法方面大相径庭之外,在基础部分还有什么差异?3D游戏和图形处理的发展,下一步的方向是什么?

计算机的三步走—从数据到3D游戏

下面,我们先来看看游戏中的3D图像是如何生成的,然后来一步步看看目前游戏和图形的发展究竟遇到了什么瓶颈,未来应该朝什么方向去发展。对计算机而言,它必须根据程序员的需求,真正“想象(或计算)”出真实的、带有x、y、z三坐标的空间场景,才能进一步处理并根据用户的视角和需求,将图形展示在显示器上。

为了清晰了解计算机在3D处理中的方法,我们不妨仔细观察一下雕塑家的工作。一般说来,很多雕塑家会在雕塑开始之前,用支架建立起一个简单的结构,尽可能模拟终目标的形态,然后在这些支架上用各种各样的材料填充、并制作出栩栩如生的表面。在展示整个雕塑灵魂或者特别需要关注的地方,雕塑家还会用特殊的材质和手法进行雕刻,以达到终的目的。


“框线世界”构成了所有场景的基础,没有这些框线,
我们将无法看到3D立体的几何图形。图为3D Max生成的3D模型示意图。

在计算机的处理过程中,我们将第一部分,也就是雕塑家搭建的支架,叫做建模。这部分内容由CPU和GPU共同完成(CPU为主、GPU为辅)。在这个步骤,计算机会将整个3D模型完全建立起来,并根据计算能力和计算需求,使用一定数量的三角形和框线来搭建一个“框线世界”。并将这些框线内容传递给GPU的顶点处理单元。

第二步,顶点处理单元收到了由CPU传来的数据后,会根据终显示的图形需求,将图形由3D的模型转换成屏幕可以直接显示的2D图形。顶点处理单元输入原始3D模型的每一个顶点,再根据实际情况处理并输出2D画面的顶点。在这个过程中,那些被遮挡起来的、在屏幕上无法显示的场景,往往会根据Z轴也就是画面深度的数据,予以剔除或保留(如果是透明图形的话)。这个步骤被称作“平面化”。

第三步,计算机会利用各种手段,尽可能地让这个模型在场景中看起来足够真实。比如为物体加上阴影,对表面进行贴图处理,给予各种各样的光照效果等等。此阶段需要大量的像素和纹理操作,基本上全部交由GPU的像素处理引擎和纹理处理单元完成。我们称此步骤为“像素化”。

处理好的图像再经过一些后端处理(Render Back-Ends,游戏中常见的景深、动态模糊、色调映射、边缘侦测、平滑和锐化处理都是由后端处理来完成),就能转化为我们在屏幕上看到的内容。需要说明的是,我们在本文对图形处理的描述非常简单,但实际情况远比上文描述的内容更为复杂。但总的来说,上述三个步骤:建模、平面化和像素化,覆盖了计算机处理图形的大部分重要内容。

分享到:

用户评论

用户名:

密码: