我在紋理每個面具有不同紋理的立方體時遇到了問題。我可以在所有面上繪製一個紋理的立方體,但是當我嘗試使用多個紋理時,它會失敗。的方式即時通訊試圖做的是像這樣:OpenGL es 2.0 glDrawElements索引指針錯誤
//my indexing array located in a header file
#define NUM_IMAGE_OBJECT_INDEX 36
static const unsigned short cubeIndices[NUM_IMAGE_OBJECT_INDEX] =
{
0, 1, 2, 2, 3, 0, // front
4, 5, 6, 6, 7, 4, // right
8, 9,10, 10,11, 8, // top
12,13,14, 14,15,12, // left
16,17,18, 18,19,16, // bottom
20,21,22, 22,23,20 // back
};
現在
在我的渲染功能,這個目前是與一個單獨的貼圖繪製立方體
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, iconTextureID);
glDrawElements(GL_TRIANGLES, NUM_IMAGE_OBJECT_INDEX, GL_UNSIGNED_SHORT, 0);
這不起作用
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, iconTextureID);
glDrawElements(GL_TRIANGLES, NUM_IMAGE_OBJECT_INDEX, GL_UNSIGNED_SHORT, (const GLvoid*)&cubeIndices[0]);
它應該等同於相同的東西,從看一些其他的例子。最終我想這樣做是這樣的:
for(int i = 0; i < 6; i++){
iconTextureID = textureID[i];
glBindTexture(GL_TEXTURE_2D, iconTextureID);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, (const GLvoid*)&cubeIndices[i*6]); //index 0-5 use texture 1, 6-11 use texture 2, etc
}
有沒有人知道什麼可能是錯誤的這種索引? ive基本上覆制粘貼這個代碼從一個Android項目(工程),目前試圖做到這一點在iOS上。
「*香港專業教育學院基本上是複製粘貼從Android項目(工作)的代碼,目前正在努力做到這一點關於ios。*「請停止複製粘貼代碼。試着*瞭解*代碼在做什麼,*爲什麼*該代碼在該項目中是合適的。 –