2013-05-17 115 views
0

我在使用Android上的OpenGL ES 2对纹理进行复制时遇到了大问题。我想为立方体的每一面使用相同的纹理。现在我只画两面,但表现得很怪异。因为我不是以英语为母语的人,而且我很难叙述它,所以我录制了一段视频,在那里你可以看到发生了什么。 http://www.youtube.com/watch?v=mYLzu28p4bs&feature=youtu.beOPENGL ES 2立方体纹理

private float[] vertices = { 
     -0.5f, 0.5f, -0.5f, //0 
     -0.5f, -0.5f, -0.5f, //1 
     0.5f, -0.5f, -0.5f, //2 
     0.5f, 0.5f, -0.5f, //3    
     0.5f, -0.5f, 0.5f, //4 
     0.5f, 0.5f, 0.5f, //5 
     -0.5f, -0.5f, 0.5f, //6 
     -0.5f, 0.5f, 0.5f //7 
    }; 
private float texture[] = {   
     0.0f, 1.0f, 
     0.0f, 0.0f, 
     1.0f, 0.0f,   
     1.0f, 1.0f,   
     2.0f, 0.0f, 
     2.0f, 1.0f   
}; 
private final short order[] = {   
         0, 1, 2, 0, 2, 3, 
         3, 2, 4, 3, 4, 5 

       /*  5, 4, 6, 5, 6, 7, 
         7, 6, 1, 7, 1, 0, 
         0, 3, 5, 0, 5, 7, 
         1, 2, 4, 1, 4, 6*/  
         }; 

我会非常感激,找不到解决办法:/感谢名单:)

回答

0

奇怪?好吧,不能说我知道你的意思是怪异的,但它看起来像你没有进行深度测试(当它不应该是这样的情况下,导致该表面与另一个表面重叠)并且不是剔除面孔(你的脸部是CW)?

glEnable(GL_DEPTH_TEST); 
glFrontFace(GL_CW); 
glEnable(GL_CULL_FACE);