Bonjour à tous,
j'essaye de gérer ma caméra dans un environnement 3D.
On part d'une vue de "haut" ( vers les z négatif ).
Ce que j'arrive à faire pour le moment c'est :
- zoomer/dézoomer
- regarder à gauche/droite
- regarde en bas/haut.
Et ce grâce à ce code :
Maintenant ce que je voudrais c'est bouger ma caméra pour qu'elle regarde un peu en oblique vers le bas, un peu comme dans les jeux de stratégies.
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 void modul_cam(){ gluLookAt(0.0,0.0,60.0, 0.0,0.0,0.0, 0.0,1.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(50.0-cam_z ,1.0,0.1,100.0); glTranslatef(0.0-cam_x,0.0-cam_y ,0.0 ); glRotatef(-IDC.cam_rot_(),0.0,0.0,1.0); glMatrixMode(GL_MODELVIEW); }
Je modifie mon code de cette façon :
Quand je fais ça, le changement dans glutLookAt n'est pas effectué.
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
17 void modul_cam(){ if( IDC.vue_de_haut_() ) gluLookAt(0.0,0.0,60.0, 0.0,0.0,0.0, 0.0,1.0,0.0); if( !IDC.vue_de_haut_() ) gluLookAt(-30.0,0.0,60.0, 0.0,0.0,0.0, 0.0,1.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(50.0-cam_z ,1.0,0.1,100.0); glTranslatef(0.0-cam_x,0.0-cam_y ,0.0 ); glRotatef(-IDC.cam_rot_(),0.0,0.0,1.0); glMatrixMode(GL_MODELVIEW); }
Quelqu'un aurait une idée svp ?
Partager