Я извлекаю несколько элементов из текстуры и хочу отобразить их в нескольких местах на экране, вызвав glDrawArrays. Я использую массив координат текстуры, и он отлично работает.
Теперь я хочу применить разные цвета для каждого извлечения из текстуры. Для этого я попытался использовать glColorPointer, но цвет всегда соответствует цвету исходной текстуры.
Я заполнил указатель цвета значениями RGB от 0 до 1. Я повторяю значение RGB для каждого края из(Я рисую квадратные формы, поэтому у меня есть 4 значения RGB для каждой формы)
glVertexPointer(2, GL_FLOAT, 0, verticesTab);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, texturesTab);
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(3, GL_FLOAT, 0, colorsTab);
glDrawArrays(GL_QUADS, 0, (GLsizei)nbOfSymbolsToDraw * 4);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
Возможно, glColorPointer работает только тогда, когда мы заполняем массив вызовами glVertex2f, а не из связанной текстуры. Нужно ли использовать другое решение?