В OpenGL ES нет такой вещи, как gluLookAt, если предположить, что это касается iPhone и OpenGL ES. Как это реализовано?
Имейте в виду, что положение камеры (0,0,0) и ваш квадрат также находится на этой плоскости z.
Если вы вызовете glLoadIdentity (), glTranslatef (0.0f, 0.0f, 0.0f) не внесет никаких изменений.
Возможно, вы могли бы рассмотреть возможность перемещения большей части установочной части в методе настройки.
То есть: GlEnable звонки и настройка камеры.
Убедитесь, что glMatrixMode используется для работы с проекцией или матрицей просмотра модели.
Настройка может быть:
- (void) setupView {
glViewport(0, 0, backingWidth, backingHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
// think about the box where all the vertices are.
glFrustum(-8.0f, 8.0f, -12.0f, 12.0f, -8.0f, 20.0f);
// .. all sort of glEnable
}
В drawView убедитесь, что ваши вершины находятся перед камерой, применив к ним некоторый перевод. Также есть цвета для вас вершин.
- (void) drawView {
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0, 0, 5.0f); // move in front
glVertexPointer(3, GL_FLOAT, 0, squareVertices);
// maybe you want to attach colors to your vertices
const GLubyte squareColors[] = {
255, 255, 0, 255,
0, 255, 255, 255,
0, 0, 0, 0,
255, 0, 255, 255,
};
glColorPointer(4, GL_UNSIGNED_BYTE, 0, squareColors);
glEnableClientState(GL_COLOR_ARRAY);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
// .. some other loadidentity and translate and vertex pointer setup and draw
}
Ссылка на OpenGL ES также может быть полезна:
http://www.khronos.org/opengles/sdk/1.1/docs/man/