Partager via


Transformation des coordonnées

La bibliothèque GLU (OpenGL Utility Library) 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 d’affichage de perspective standard à l’aide de gluPerspective ou un volume de vue centré sur un point d’œil 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 sélection en créant une matrice qui limite le dessin à une petite région de la fenêtre d’affichage. Si vous restituez la scène en mode sélection une fois cette matrice appliquée, tous les objets qui seront 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 « Exécution de la sélection et des commentaires » Exécution de la sélection et des commentaires.

Pour déterminer où dans la fenêtre un objet est dessiné, utilisez gluProject, qui convertit les coordonnées d’objet spécifiées 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 réussit, 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 réussit, la valeur de retour est GL_TRUE. Si la fonction échoue, la valeur de retour est GL_FALSE.