Я создаю приложение, использующее VBO для визуализации некоторых объектов со сложной структурой цвета. Я заметил, что VBO определяет цвет элемента, равный индексу последней вершины в буфере элемента. Например, когда я использую массив точек, как это
double pointBuf[]={ -0.1d, 0.1d, 0,
0.1d, 0.1d, 0,
0.1d, -0.1d, 0};
массив цветов:
double colorBuf[] = { 0d, 1d, 0d,
0d, 1d, 0d,
1d, 0d, 0d};
и массив элементов:
int elementBuf[] = {0, 1, 2};
чтобы нарисовать треугольник, он будет красным (поскольку последний элемент в elementBuf равен 2, в colorBuf он соответствует красному).
На самом деле это может привести к дополнительному использованию памяти для правильной раскраски.
Есть ли другой возможный способ связать цвета с элементами?