人脸列表实际存储的是什么
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
};
我知道在 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
};