Bonjour,
J'ai pas tout saisi sur le fonctionnemenrt de gluUnProject.
A ce que j'ai compris, si glDepthRange n'a pas été appelé (valeurs par defaut), l'appel a glUnProject avec winZ à 0 donnera les coordonnées sur le plan de clipping proche et un winZ à 1 donnera les coordonnées projetées sur le plan de clipping lointain.
Par contre cela marche si ma camera est en position 0 et que je place un objet sur le plan de clipping proche. Par contre si je veux zoomer ou dezoomer (gluLookAt ou glTranslate) et bien les coordonnées ne sont plus bonnes. Je le comprend tout à fait. Mais par contre comment puis-je faire pour récupérer les bonnes coordonées même quand je ne suis pas dans le plan de clipping proche (respectivement distant).
Si je lit la valeur du z du point où je click (avec glReadPixels) j'obtient un Z qui n'est jamais compris entre 0 et 1. Est-ce normal? Je dev en C# et je pense que la conversion byte[4] --> float est peut-être merdeuse.
Qu'en pensez vous ?
Merci ++ Fat
Partager