0

我在 Android 上使用 OpenGL ES 2 将纹理应用到立方体时遇到了很大的问题。我想为立方体的每一面使用相同的纹理。现在我只画了两个面,但它的行为很奇怪。因为我不是以英语为母语的人,而且我很难描述它,所以我录制了一个视频,您可以在其中看到正在发生的事情。http://www.youtube.com/watch?v=mYLzu28p4bs&feature=youtu.be

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*/       
                       }; 

我将非常感激,找不到解决方案:/thanx :)

4

1 回答 1

0

诡异的?好吧,我不能说我知道你说的怪异是什么意思,但看起来你没有进行深度测试(导致那张脸在不应该重叠的时候与另一张脸重叠)并且没有剔除脸(你的脸是连续波)?

glEnable(GL_DEPTH_TEST);
glFrontFace(GL_CW);
glEnable(GL_CULL_FACE);
于 2013-05-19T06:54:57.493 回答