Bonjours à tous

J'ai développer un système de camera avec glut semblable à celui d'un RPG (comme prototype) ou la camera peut tourner au tour du personnage centrale.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//fonction au mouvement d'une sourie
 
void engineMooseMoved (int x, int y)
{
	cartesian_coordinates Add ;
 
	Add.x = x - CursorPosition.x ;
	Add.y = y - CursorPosition.y ;
 
	CursorPosition.x = x ;
	CursorPosition.y = y ;
 
	actualiseCameraRotation (Add.x, Add.y);
}
Seulement, quand le curseur arrive sur le bord de l'écrans, je ne peut plus faire pivoter ma camera.

j'ai donc modifier mon code pour que à chaque mouvements de camera, le curseur soit mit au milieu de l'écran.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
void engineMooseMoved (int x, int y)
{
	if ( x == ScreenMidle.x && y == ScreenMidle.y )
		return ;
 
	cartesian_coordinates Add ;
 
	Add.x = x - ScreenMidle.x ;
	Add.y = y - ScreenMidle.y ;
 
	actualiseCameraRotation (Add.x, Add.y);
	glutWarpPointer (ScreenMidle.x, ScreenMidle.y);
}
Seulement, les rotation de camera sont devenu sacadé. Je pense que cela est du à :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
glutWarpPointer (ScreenMidle.x, ScreenMidle.y);
Est il possible de récupéré les mouvements relatif de la sourie avec glut ou bien, auriez vous une autre solution ?

Merci de votre lecture ainsi que de vos réponses éventuel.