Envoyé par
LittleWhite
Bonjour
'glutInitWindowSize()' et 'glutInitWindowPosition()' reçoivent des coordonnées en pixels. Ce sont les pixels qui corresponde à ceux de ton ecran.( En partant de haut gauche, pour la position )
Les coordonnées OpenGl, sont des coordonnées vraiment peu significative (enfin presque). Elles non pas d'unité, et leur représentation dépendent d'un tas de truc ( en fait , de deux matrices, celle de vue, et celle de projection ). La matrix de vue est construite grace à la caméra ( gluLookAt() ) et la matrice de projection est construite grace à gluPerspective.
La matrice de caméra permet si un objet est derrière, de ne pas l'afficher
Celle de projection permet de transformer les coordonnées ( comme celle que tu passe à OpenGL pour les vertex ) en pixel pouvant être allumé ou éteint. ( Soit une transformation 3D -> 2D )
Pour les pixels dont parle Glut, se sont les pixels par rapport ( relatif ) à la fenêtre ( et je crois qu'il parte d'en bas ). C'est comme si ( je dis bien comme si, une image pour simplifier ) tu ne te limitais plus qu'a la fenêtre que tu as crée.
Je crois que la hauteur des caractères est donnée par le nom de la police ( soit pour ton exemple 18 ) ( je suis pas sur ).
On peut changer la taille, mais sous glut c'est uniquement en changeant de police, et j'ai toujours trouvé cela très limité.
Pour ce que tu demande avec le cercle, le mieux est d'utiliser la fonction glUnproject() ( ou glProject() ... ) qui permettra de déterminer grace aux matrices les coordonnées