Цвет последовательности текстурных экстрактов, отображаемых glDrawArrays - PullRequest
0 голосов
/ 05 ноября 2019

Я извлекаю несколько элементов из текстуры и хочу отобразить их в нескольких местах на экране, вызвав 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, а не из связанной текстуры. Нужно ли использовать другое решение?

...