У меня есть ряд стандартных инструкций OpenGL в этой форме:
glBegin(GL_TRIANGLES);
// ...
glNormal3fv(a); glVertex3f(a[0]*r, a[1]*r, a[2]*r);
// ...
glEnd();
Я хочу запустить их на iOS, поэтому должен конвертировать их в OpenGL ES. Поскольку OpenGL ES не поддерживает glBegin () или glEnd (), я упаковываю вызовы glVertex3f в массив вершин GLfloat, за которым следует вызов glDrawArrays ().
GLfloat vertices[] = {1,0,0, 0,1,0, ...};
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glDrawArrays(GL_TRIANGLES, 0, 3);
glDisableClientState(GL_VERTEX_ARRAY);
Однако я не уверен, как включить спецификацию нормального вектора (исходные вызовы glNormal3fv ()) в эту версию ES.
Будет ли кто-то достаточно любезен, чтобы проиллюстрировать решение?