Я использую GL Kit для рисования куба, который вращается на экране. У меня это работает очень хорошо с одной и той же текстурой, нарисованной на каждой грани. Я хотел бы нарисовать разные текстуры на каждом лице.
В настоящее время мой код рисует куб именно так (обратите внимание, что на самом деле у меня есть 6 разных текстур, загруженных в массив theTextures, но пока я рисую только все стороны куба одинаково, когда меняю текстуры).
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);
Я сделал много поисков здесь, в stackOverflow, и просмотрел множество руководств, но не могу найти простой способ сделать это. Я предполагаю, что могу создать массив вершин для каждой из сторон и использовать glDrawElements для каждого массива вершин, но это кажется очень неэффективным. Есть ли способ сделать это без создания 6 разных массивов вершин? Спасибо!