在3d视频游戏中,Gouraud着色和纹理映射是什么?

一个简单的三角形多边形。三角形的每一点都是一个顶点。"width=
一个简单的三角形多边形。三角形的每一点都是一个顶点。

大多数为电脑游戏创造的3d物体都是由多边形.多边形是由线定义的面积。要得到一个多边形,你必须至少有三条线。

这些线条连接了计算机创建的三维“空间”中的一系列坐标。这两条线的连接点称为a顶点.每个顶点都有XYZ坐标。

广告

  • X确定虚拟空间中相对于左或右的位置
  • Y确定相对于虚拟空间的顶部或底部的位置
  • Z决定了在虚拟空间中相对于前面或后面的位置

一旦每个多边形都有一组顶点来定义它的形状,它就需要一些信息来告诉它应该是什么样子。有四种常见的方法可以做到这一点:

  • 平的阴影
  • 高洛德着色
  • 冯氏阴影
  • 纹理映射

阴影只是将单一的颜色赋值给一个多边形。它非常简单和快速,但使对象看起来非常人工。高洛德阴影更复杂。颜色被分配到每个顶点,然后它们被混合在多边形的表面。由于每个顶点通常与至少三个不同的多边形相关联,这使得对象看起来自然而不是面状。看看这个例子:

同样的物体与平面和高洛德阴影应用。"width=
同样的物体与平面和高洛德阴影应用。

你会注意到高洛德阴影球看起来比平阴影球平滑得多。但仔细看看这两个球的轮廓。从这里你可以看出两个球拥有相同数量的多边形!

一个更复杂的阴影版本,冯氏,很少在游戏中使用。Gouraud着色通过平均顶点之间的颜色来插值,Phong着色平均每个顶点像素基于相邻像素的颜色。

确定多边形外观的另一种常见技术是使用纹理映射.可以把纹理映射想象成包装礼物。你正在包装的盒子的每一面都是一个空白多边形。你可以给盒子上漆,但要使它和包装纸上的所有图案一致是很困难的。然而,如果你拿起包装纸,用它紧紧地盖住盒子,你只需要一点努力就完全改变了盒子。

纹理映射以同样的方式工作。映射需要使用另一个映像。这另一张图片基本上是像皮肤一样覆盖在物体上。大多数视频游戏控制台和计算机图形适配器包含一个特殊的芯片和专用内存它存储用于纹理映射的特殊图像,并将它们应用于每个多边形。这使得像《古墓丽影》这样的游戏拥有非常详细的3d环境,玩家可以实时与之互动。

以下是一些有趣的链接:

广告

游戏

广告

加载……