Я делаю эту программу, которая должна отображать цветные квадраты. Я использую для этого VBO.
Вот как я храню данные для вершин и цветов:
четверка:
buff.put(3 floats color)
render the quad (3 floats per vertex * 4 per face * 6 per quad)
Теперь, как вы видите, моя цель - использовать чередующиеся VBO, но я не могу определить шаг и смещение.
Вот мои вызовы при рендеринге:
(Обратите внимание, что я использую сопоставленные vbos, поэтому фактической привязки данных нет):
glBindBufferARB(GL_ARRAY_BUFFER_ARB, etn.getVboHandel());
glBufferDataARB(GL_ARRAY_BUFFER_ARB, etn.getVboData().capacity() << 2, GL_STATIC_DRAW_ARB);
glColorPointer(3, GL_FLOAT, /* stride **/6 << 2, /* offset **/0);
glVertexPointer(3, GL_FLOAT, /* stride **/6 << 2, /* offset **/0);
glDrawArrays(GL_QUADS, 0, etn.getVboData().capacity());
Я не могу получить правильное смещение и шаг, поэтому при рендеринге я вижу эти странные артефакты.