Il n'y a rien de tel dans OpenGL ES comme gluLookAt, en supposant qu'il s'agisse d'iPhone et d'OpenGL ES. Comment cela est-il mis en œuvre? Gardez à l'esprit que la position de la caméra est (0,0,0) et que votre carré est également sur ce plan z. Si vous appelez glLoadIdentity(), glTranslatef (0.0f, 0.0f, 0.0f) n'apportera aucune modification.
Vous pourriez peut-être envisager de déplacer la plus grande partie de la configuration dans une méthode d'installation. ie: appels GlEnable et configuration de la caméra. Assurez-vous que le glMatrixMode est utilisé pour fonctionner sur la matrice Projection ou ModelView. installation pourrait être:
- (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
}
Dans drawView assurez-vous que vos sommets sont en face de la caméra, en appliquant une traduction sur eux. Ayez également des couleurs pour vos sommets.
- (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
}
La référence OpenGL ES peut également être utile: http://www.khronos.org/opengles/sdk/1.1/docs/man/
Comment savoir où traduire? –
C'est une bonne question :) Dans le post, -eyex/-eyey/-eyez sont utilisés où eyeX/Y/Z est le point où la caméra est. – schnaader
Encore rien. Je vais poster mon code ci-dessous, peut-être vous pouvez jeter un oeil .. –