2013-05-17 168 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);