一旦一个网格是通过定义顶点和索引创建的,它就会对其应用纹理。
一个常见的挑战是找到一种将2d纹理映射到3d对象的方法。
这里有一种叫做UV映射的技术。UV不是一个缩写,而是代表一对坐标u和v。
它们通常用两个foats表示(例如,u=0.0f, v=1.0f),其中0.0f, 0.0f表示纹理位图的左上角,1.0f, 1.0f表示右下角。
一个二维UV坐标被分配给顶点列表中的每个顶点,因此定义了纹理的哪个部分映射到3d网格的哪个区域。
解释UV映射的一个常见做法是想象一个有六个面的立方体。
通过展开这个立方体,我们得到一个由6个方块组成的物体。
立方体的每个顶点都可以通过UV坐标来丰富,使其适合立方体的平面纹理。