Можно ли использовать метод glDrawElements, когда у вас есть, скажем, 2 массива (один для нормалей и один для вершин) и использовать индексный буфер, чередующийся между вершинами и нормалями).
ПРИМЕР: рендеринг aКуб
// 8 of vertex coords
GLfloat vertices[] = {...};
// 6 of normal vectors
GLfloat normals[] = {...};
// 48 of indices (even are vertex-indices, odd are normal-indices)
GLubyte indices[] = {0,0,1,0,2,0,3,0,
0,1,3,1,4,1,5,1,
0,2,5,2,6,2,1,2,
1,3,6,3,7,3,2,3,
7,4,4,4,3,4,2,4,
4,5,7,5,6,5,5,5};
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glNormalPointer(3, GL_FLOAT, 0, normals);
glDrawElements(GL_QUADS,...);//?see Question