Цвета должны быть указаны для каждой вершины, но поскольку у каждого лица свой цвет, вы не сможете разделить вершины между гранями.Вместо того, чтобы рисовать куб (8 вершин, 8 цветов, 12 треугольников), нарисуйте 6 квадов, которые, как оказалось, имеют совпадающие позиции вершин (24 вершины, 24 цвета, 12 треугольников)
Правка: квадратов всего 2треугольники, которые разделяют некоторые вершины.Например, квад, покрывающий единичный квадрат (в 2D), может иметь массив вершин и индексный треугольник, например:
// bottom left, top left, bottom right, top right order
float[] verts = new float[]{ 0, 0, 0, 1, 1, 0, 1, 1 };
// anti-clockwise vertex order
int[] tris = new int[]{ 0, 2, 1, 2, 3, 1 };