我在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:)
答案 0 :(得分:0)
奇怪?嗯,不能说我知道你的意思很奇怪,但它看起来就像你没有进行深度测试(导致那个面不应该重叠另一面)并且没有剔除面孔(你的面孔) CW)?
glEnable(GL_DEPTH_TEST);
glFrontFace(GL_CW);
glEnable(GL_CULL_FACE);