Bonjour, pouvez vous m'aider à comprendre la différence entre gluPerspective et gluOrtho2D ?
D'un coté (A), j'arrive à display un png sur mon carré avec :
mais d'une autre façon (B), je peux afficher autant de carrés que je veux (non texturés malheureusement) avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ... gluPerspective (45.0, (GLfloat)w/(GLfloat)h, 0.1, 100.0f); ...
Pour info, voici ma fonction reshape :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ... GLfloat aspect = (GLfloat)w / (GLfloat)h; gluOrtho2D(-1.0 * aspect, 1.0 * aspect, -1.0, 1.0); if (w >= h) { gluOrtho2D(-1.0 * aspect, 1.0 * aspect, -1.0, 1.0); } else { gluOrtho2D(-1.0, 1.0, -1.0 / aspect, 1.0 / aspect); } ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 void reshape (int w, int h) { if (h == 0) h = 1; /* To prevent divide by 0 */ glViewport (0, 0, (GLsizei)w, (GLsizei)h); /* GLsizei for non-negative integer # Set the viewport to cover the new window */ glMatrixMode (GL_PROJECTION); glLoadIdentity (); /* Réinitialise la matrice */ A ou B glMatrixMode (GL_MODELVIEW); /* Je met la matrice MODEL_VIEW en utilisation courante. */ glLoadIdentity (); /* Je reinitialise la matrice */ glutPostRedisplay (); /* Post re-paint request to activate display() */ }
Partager