Transformation des coordonnées

La bibliothèque d’utilitaires OpenGL (GLU) fournit plusieurs fonctions de transformation de matrice couramment utilisées. Vous pouvez configurer une région d’affichage orthographique à deux dimensions avec gluOrtho2D, un volume de vue de perspective standard à l’aide de gluPerspectiveou un volume de vue centré sur un Eyepoint spécifié avec gluLookAt. Chacune de ces fonctions crée la matrice souhaitée et l’applique à la matrice actuelle à l’aide de glMultMatrix.

La fonction gluPickMatrix simplifie la sélection d’une matrice de prélèvement en créant une matrice qui restreint le dessin à une petite zone de la fenêtre d’affichage. Si vous rerendez la scène en mode de sélection après l’application de cette matrice, tous les objets qui seraient dessinés près du curseur seront sélectionnés et les informations les concernant seront stockées dans la mémoire tampon de sélection. Pour plus d’informations sur le mode de sélection, consultez « sélection de la sélection et des commentaires » exécution de la sélection et des commentaires.

Pour déterminer l’emplacement dans la fenêtre où un objet est dessiné, utilisez gluProject, qui convertit les coordonnées de l’objet spécifié objX, objy et objz en coordonnées de fenêtre à l’aide de modelMatrix, projMatrix et Viewport. Le résultat est stocké dans Winx, winy et WINZ. Si la fonction est réussie, la valeur de retour est GL _ true. Si la fonction échoue, la valeur de retour est GL _ false.

La fonction gluUnProject effectue la conversion inverse : elle transforme les coordonnées de fenêtre spécifiées Winx, winy et WINZ en coordonnées d’objet à l’aide de modelMatrix, projMatrix et Viewport. Le résultat est stocké dans objX, objy et objz. Si la fonction est réussie, la valeur de retour est GL _ true. Si la fonction échoue, la valeur de retour est GL _ false.