Bornibus
Messages postés3Date d'inscriptionsamedi 15 janvier 2005StatutMembreDernière intervention27 février 2005
-
26 févr. 2005 à 18:44
Bornibus
Messages postés3Date d'inscriptionsamedi 15 janvier 2005StatutMembreDernière intervention27 février 2005
-
27 févr. 2005 à 16:47
Bonjour,
Actuellement sur un (petit) jeu
de stratégie qui se déroule sur un damier (imaginez-vous un jeu
d'échec), je désirerai changer l'axe de rotation de la caméra :
Je voudrais que ma caméra puisse tourner autour du damier (donc l'axe de
rotation serait le centre du damier). Pour le moment, ma caméra
tourne autour du coin inférieur gauche du damier.
Voici ci-dessous la fonction appelée par le callback gluDisplayFunc :
, ----
void affichageDamier()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
// positionnement de la caméra
gluLookAt(opg->posX,opg->posY,opg->posZ,opg->ciblX,opg->ciblY,opg->ciblZ,0,0,1);
glRotatef(-angley, 0.0, 0.0, 1.0); // PROBLEME DE CENTRE DE GRAVITE MAL PLACE !!!
// affichage du damier et de ses occupants
opg->affichage(deroulement->surfaceDeJeu,deroulement,mouvement);
glutPostRedisplay();
glutSwapBuffers();
}
Bornibus
Messages postés3Date d'inscriptionsamedi 15 janvier 2005StatutMembreDernière intervention27 février 2005 27 févr. 2005 à 16:47
J'étais en effet parti sur ce principe mais j'avais vu dans un programme qu'il partait sur la notion de rotatef . Enfin, bon bref, je suis donc revenu à la bonne vieille trigonométrie.
Petite précision sur la solution, je pense que celle ci-dessous était plus convenable :