|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Aycha AychaDéveloppeur informatique Inscription : octobre 2010 Messages : 326 ![]() |
Bonjour,
je suis débutante en OpenGl, je veux mettre en place un petit viewer de nuage de points. Je programme sous visual c++. j'aime réaliser un zomm sur une partie déjà sélectionnée avec la sourie, donc j'ai penser à faire un zoom puis une translation pour placer la partie sélectionnée au centre de l'écran. la première fois donne des bons résultats mais si je répète l'opération, l'affichage sera décalé Code :
Comment je peux corriger l'affichage?? Merci d'avance |
||
|
|
00
|
|
|
#2 | ||
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 9 ![]() |
Pour glutGetModifiers() il vaut mieux l'utiliser comme suit:
Code :
Ensuite je ne suis pas rentré dans le détail de ton code sur la modification de la matrice MODELVIEW, mais il y a tout de même un truc que j'ai remarqué et qui est peut-être ("PEUT-ÊTRE") à l'origine de ton problème. D'après l'extrait que je vois j'ai l'impression que tu concerves le contenu de ta matrice MODELVIEW d'une frame sur l'autre et que tu la modifies non pas en repartant de zéro (une matrice identité) mais en reprenant sa précédente valeur. Selon moi (peut-être que tout le monde ne sera pas d'accord) c'est une méthode risquée et source d'erreurs. Selon moi toujours il vaut mieux avoir des variables qui représentent le point de vue, et recréer la matrice ModelView à partir de ces variables à chaque frame, c'est à dire en débutant avec glLoadIdentity(); puis avec les appels nécessaires à glScale / glRotate / glTranslate. En plus c'est plus facile à deboguer car on peut afficher ces variables et comprendre ce qui ne va pas, tandisqu'en gardant la matrice ModelView que l'on modifie à chaque fois il sera difficile de trouver l'origine du problème. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com