我使用GL Kit繪製一個在屏幕上旋轉的立方體。我的這個效果非常好,每張臉上都繪製了相同的紋理。我想在每張臉上繪製不同的紋理。每個GLKit立方體表面上的不同紋理
這是目前我的代碼是如何繪製立方體(注意,我居然有theTextures陣列中裝載6層不同的紋理,但是當我改變紋理到目前爲止,我只畫立方體相同的各邊)。
self.effect.texture2d0.name = theTextures[i].name;
self.effect.texture2d0.enabled = true;
self.effect.texture2d0.target = GLKTextureTarget2D;
glBindBuffer(GL_ARRAY_BUFFER, _vertexBuffer);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer);
glBindVertexArrayOES(_vertexArray);
glDrawElements(GL_TRIANGLES, sizeof(Indices)/sizeof(Indices[0]), GL_UNSIGNED_BYTE, 0);
我在這裏做了很多的搜索在計算器上,看着很多教程,但無法找到一個簡單的方法來做到這一點。我假設我可以爲每個邊創建一個頂點數組,併爲每個頂點數組使用glDrawElements,但這看起來效率很低。有沒有辦法讓我做到這一點,而不必創建6個不同的頂點數組?謝謝!
你能發佈你的完整源代碼嗎?我正在嘗試做同樣的事情。 – Clay
尼克斯最後的評論。我最終選擇了下面的Texture Map解決方案。它最終變得容易得多。 – Clay