将纹理映射到在java中覆盖整个表面的立方体?

时间:2011-12-03 12:57:26

标签: java java-me 3d textures

我正在尝试将纹理映射到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
 };

0 个答案:

没有答案