我正在尝试将纹理映射到M3G(移动3d api J2me)中的立方体,但是它会重复而不是拉伸到立方体的整个面上。我在立方体的每个面上得到两个重复的纹理,但我想要每个面部映射一个纹理。
以下是相关代码:
private static final byte[] VERTEX_POSITIONS = {
-1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, // front
1, -1, 0, -1, -1, 0, 1, 1, 0, -1, 1, 0, // back
1, -1, 1, 1, -1, 0, 1, 1, 1, 1, 1, 0, // right
-1, -1, 0, -1, -1, 1, -1, 1, 0, -1, 1, 1, // left
-1, 1, 1, 1, 1, 1, -1, 1, 0, 1, 1, 0, // top
-1, -1, 0, 1, -1, 0, -1, -1, 1, 1, -1, 1 // bottom
};
private static final int[] TRIANGLE_INDICES = {
0, 1, 2, 3, // front
4, 5, 6, 7, // back
8, 9, 10, 11, // right
12, 13, 14, 15, // left
16, 17, 18, 19, // top
20, 21, 22, 23, // bottom
};
private static int[] TRIANGLE_LENGTHS = {
4, 4, 4, 4, 4, 4
};
private static final byte[] VERTEX_TEXTURE_COORDINATES = {
0, 1, 1, 1, 0, 0, 1, 0, // front
0, 1, 1, 1, 0, 0, 1, 0, // back
0, 1, 1, 1, 0, 0, 1, 0, // right
0, 1, 1, 1, 0, 0, 1, 0, // left
0, 1, 1, 1, 0, 0, 1, 0, // top
0, 1, 1, 1, 0, 0, 1, 0, // bottom
};