Au secours opengl !!!

seb_nachos Messages postés 7 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 22 juin 2005 - 12 avril 2005 à 15:57
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 - 18 avril 2005 à 22:27
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

dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
12 avril 2005 à 17:53
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
0
barraq Messages postés 89 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 14 septembre 2007
13 avril 2005 à 09:56
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
0
KeniiyK Messages postés 326 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 2 novembre 2007 2
13 avril 2005 à 18:45
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
0
seb_nachos Messages postés 7 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 22 juin 2005
13 avril 2005 à 22:19
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)).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KeniiyK Messages postés 326 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 2 novembre 2007 2
13 avril 2005 à 23:26
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
0
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
14 avril 2005 à 21:10
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
0
KeniiyK Messages postés 326 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 2 novembre 2007 2
15 avril 2005 à 19:09
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
0
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
18 avril 2005 à 22:23
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
0
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
18 avril 2005 à 22:25
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
0
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
18 avril 2005 à 22:27
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....
0
Rejoignez-nous