建立一个3D环境,到目前为止,我已经完全纹理化立方体和彩色立方体。我想要做的是在其中一个彩色立方体面上添加纹理
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, &colourCubeVertexFaces[0]);
glColor4ub(colourCubeFaceColors[colorIndex], colourCubeFaceColors[colorIndex+1], colourCubeFaceColors[colorIndex+2], colourCubeFaceColors[colorIndex+3]);glColor4ub(colourCubeFaceColors[colorIndex], colourCubeFaceColors[colorIndex+1], colourCubeFaceColors[colorIndex+2], colourCubeFaceColors[colorIndex+3]);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, &colourCubeVertexFaces[6]);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, &colourCubeVertexFaces[12]);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, &colourCubeVertexFaces[18]);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, &colourCubeVertexFaces[24]);
我认为这就像打开(和关闭)一样简单
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
然后绑定纹理
glBindTexture(GL_TEXTURE_2D, ([[coordsArray objectAtIndex:4] floatValue]));
然后绘制
glTexCoordPointer(2, GL_FLOAT, 0, texturedCubeCoord);
但它似乎放慢了很多而没有显示任何东西。我的其他完全纹理的立方体很好。
答案 0 :(得分:1)
你需要glEnable(GL_TEXTURE_2D)