人脸列表实际存储的是什么

What does the face list actually store

我知道在 JavaFX 的三角形网格中有点和纹理坐标,但实际存储在面数组中的是什么。 如果我有以下矩形的点和纹理点:

    float[] points = {
          -width/2,  height/2, 0, // idx p0
          -width/2, -height/2, 0, // idx p1
          width/2,  height/2, 0, // idx p2
          width/2, -height/2, 0  // idx p3
      };
      float[] texCoords = {
          1, 1, // idx t0
          1, 0, // idx t1
          0, 1, // idx t2
          0, 0  // idx t3
      };

faces 数组应该是什么,为什么?

此外,我还看到一些示例,它们似乎在 faces 数组中重复相同的点,如下所示,这是为什么?

int[] faces = {
                   2, 2, 1, 1, 0, 0,
                   2, 2, 3, 3, 1, 1
              };

你的数组

int[] faces = {
    2, 2, 1, 1, 0, 0,
    2, 2, 3, 3, 1, 1
};

正在将您的点 xyz 映射到 uv 纹理坐标并连接两个三角形面。如果你用命名注释替换变量,你的数组将是这样的:

int[] faces = {
    idx p2, idx t2, idx p1, idx t1, idx p0, idx t0,
    idx p2, idx t2, idx p3, idx t3, idx p1, idx t1
};