У меня есть теоретический вопрос: вместо использования стандартной цветовой модели RGBA в буферах массива OpenGL, почему бы не просто вырезать 12 дополнительных байтов на вершину и заменить ее 1 целым числом, которое содержит цвет в шестнадцатеричном формате? Затем в шейдере вы можете преобразовать его обратно в vec4.Использование шестнадцатеричных цветов в OpenGL
Так что я имею в виду, это заменить:
glVertexAttribPointer(COL_INDEX, 4, GL_FLOAT, false, stride, offset);
к этому:
glVertexAttribPointer(COL_INDEX, 1, GL_INT, false, stride, offset);
Я попытался посмотреть везде в Интернете, и я об этом ничего не найдено. Кроме того, есть ли преимущества в производительности для сохранения этих 12 байтов? Спасибо за ваше время.
редактирование вопроса, чтобы он частично аннулировал уже данный ответ, по крайней мере, немного неудачен ... – derhass
@derhass Я не хотел этого делать? Это была ошибка с моей стороны, которую я не видел, пока ты не сказал это, поскольку я создавал вопрос из памяти. Я не хочу путать кого-либо другого, у кого может быть эта проблема. – Jadd23