Рисуется облать но цветом не закрашенная
В чем может быть дело?
Неясно зачем выбирать более сложный путь для рисования
Так тоже можно но тогда
1) В начале добавить glDisableClientState(GL_COLOR_ARRAY); - иначе он может пытаться брать цвет тоже из массива
2)
glDrawArrays(GL_TRIANGLES,0,3);
Разве Вы рисуете всего 3 вертекса?
3) glDrawArrays удобно когда у Вас массив напр. из таких элементов
struct CVertex {
float mPosition[3];
float mNormal[3];
float mColor[4];
};
Тогда выгодно - можно подать данные без промежуточных массивов (см. описание stride для glVertexPointer)