Au secours opengl !!!

Signaler
Messages postés
7
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
22 juin 2005
-
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
-
Bonjour,

j'ai un gros probleme sur l'opengl !

Je dessine sur mon interface je recupere les coordonnées pixels,

puis je les normalise par rapport au centre de la fenetre.

j'ai donc deux coordonnées comprises entre -1 et 1 pour x et y.



Seulement maintenant je voudrais trouver la veritable valeur de ces points en opengl.

J'ai essaye avec des multiplications de matrices mais j'y arrive pas.



Quelqu'un pourrait il m'aider



merci d'avance!

seb

10 réponses

Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
Oula pas tres clair tout ca....

Je comprends pas vraiment ton probleme....
Tu veux retrouver les coordonnées dans l'espace de chaque pixel ??
Si c'est ca renseigne toi sur le "picking" opengl propose des fonctions expres pour ca
Messages postés
89
Date d'inscription
mercredi 25 juin 2003
Statut
Membre
Dernière intervention
14 septembre 2007

Oui la je crois que moi aussi j'ai pas trop compris ton probleme

explique un peu mieux...

Dessine sur mon interface ? sa veut dire quoi , que tu a déja des
coordonées qqpart et que tu les afiche ? ou plutot que tu clique sur
l'ecran et sa affiche des points ?

dans le premier cas, c'est juste une petite gymnastique a faire avec les formules, un changement de base en gros.

Pour le deuxieme, la solution oui comme dit dletozeun, c'est le
picking, et pour cela gamestutorial a un bon tutorial, je pense que
NeHe aussi, donc regarde



a plus
Messages postés
326
Date d'inscription
vendredi 13 août 2004
Statut
Membre
Dernière intervention
2 novembre 2007
2
Regardes dans les posts, il y en a un qui s'appelle "PB Modeleur 3D" un truc comme ca... (peut etre plusieurs), mais le gars avait le meme probleme que toi, et je l'ai aide a resoudre son probleme, il a poste son code dans le topic, ca pourra t'aider.

(fais peut etre une recherche "gluUnProject").

Et fais gaffe parce qu'il utilise Qt, ca peut changer pour toi, notamment pour les coords fenetre.

@+, KeniiyK
Messages postés
7
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
22 juin 2005

voila des explications
j'ai une interface qt
je recupere les points de la souris
je les normalises (changement de repere tout con). (centre de ma fenetre)
puis je leur attribue une profondeur (z) dans ce repere.

j'ai donc des points normalisés en 3D.
Et je veux leur valeurs dans le monde opengl.

Je pense qu'il faut utiliser l'inverse de ModelView puis l'inverse de la matrice de projection ou un truc comme ca ! mais je ne sais pas exactement comment !

(pour unproject ca va pas car g des coordonnées 3D (x, y, z)).
Messages postés
326
Date d'inscription
vendredi 13 août 2004
Statut
Membre
Dernière intervention
2 novembre 2007
2
Oui ben justement quand tu recuperes les coords souris tu peux calculer le points 3D via les matrices de modelview & projection et via la fonction gluUnProject, c'est exactement le pb qu'avait le gars du" modeleur 3D"...

A moins que je ne comprenne pas ce que tu veux, c'est ca.... sinon dis exactement ce que tu veux faire...

@+, KeniiyK
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
oui et ca s'appelle le picking!!
OpenGL fourni des fonction speciales pour ca! pas la peine de se casser la tete a inverser des matrices!
Suffit de trouver de bon tuts sur internet
Comme gamestutorial que proposait barraq
Messages postés
326
Date d'inscription
vendredi 13 août 2004
Statut
Membre
Dernière intervention
2 novembre 2007
2
Le picking c'est la selection d'objet, lui apparement il cherche a retrouve son point 3D, c'est pas tout a fait la meme chose...

Enfin bon maintenant peut etre qu'il va exactement dire ce qu'il veut faire ....

KeniiyK
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
Ah oui je l'avais pas compris dans ce sens mais de toute facon les fonctions d'opengl pour le picking peuvent donner la position dans la scene 3D d'un pixel a l'ecran
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
Oui je l'avais pas compris dans ce sens la mais ca ne fait rien les fonctions de picking d'opengl parmettent de retrouver la position dans la scene 3D d'un pixel
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
escusez moi pour les 2 messages a la suite mais je pensais je ca n'avais pas marché puisqu'il ne m'avait pas affiché mon poste....