IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Se retrouver entre les coordonnées viewport et les coordonnées Ogl


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par défaut Se retrouver entre les coordonnées viewport et les coordonnées Ogl
    Salut,
    Alors voilà je suis sur un petit projet et dans celui-ci je dois cliquer pour dessiner dans la scène existante (en 2d). Toutefois pour les besoins d'un zoom j'ai du tout mettre dans un plan reculé et utiliser dans GLperspective() et GLULookAt(). Par conséquent je suis un peu perdu dans les coordonnés et ne sait pas trop comment faire pour trouver la coordonnée dans la scène de l'endroit où j'ai cliqué (sachant que la scène se trouve à -50 en z)...

    Donc voilà je voulais savoir si il existait une petite formule ou un truc dans le genre pour s'y retrouver...

    Merci d'avance.
    PS: désolé si ce sujet existe déjà j'ai cherché pas mal mais sans trop savoir quoi utiliser comme mot clé donc je suis peu être passé à côté.

  2. #2
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Salut,

    comme dit, sujet abordé maintes et maintes fois....Allez, de bonne humeur ce matin, alors les mots que tu cherches ce sont:

    gluProject
    gluUnProject

    Bonne recherche

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par défaut
    Merci et désolé... J'aime pas surcharger les forums. Je vais jeter un coup d'oeil et si c'est bon je ferme je sujet
    bonne journée

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par défaut
    Bon bah j'ai un petit problème. Le truc c'est que mes matrices modelview... sont correctes (je les ai afficher pour vérifier) que la position sur l'écran est correct aussi mais gluUnproject renvoie toujours 0 0 0 comme coords...
    voilà le code (c'est du Java OGL mais en gros c'est la même chose) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
      public void mousePressed(MouseEvent e) {
            double x = e.getX();
            double y = e.getY();
            GLU glu=new GLU();
            Component c = e.getComponent();
            GL gl=canvas.getGL();
              y = viewport[3] - (int) y;
              glu.gluUnProject((double) x, (double) y, 0, //
                  mvmatrix, 0,
                  projmatrix, 0,
                  viewport, 0,
                  wcoord, 0);
              xPosition=wcoord[0];
              yPosition=wcoord[1];
    }
    mvmatrix, projmatrix et viewport sont mise à la bonne valeur juste après la modif des matrix grace à des glgetIntegerv...
    je les ai affiché et ça donne:
    pour projmatrix:
    1.4281480312347412/0.0/0.0/0.0/0.0/1.4281480312347412/0.0/0.0/0.0/0.0/-1.0/-1.0/0.0/0.0/0.0/0.0/
    pour viewport:
    0/0/640/640
    pour mvmatrix:
    -1.0/0.0/0.0/0.0/0.0/1.0/0.0/0.0/0.0/0.0/-1.0/0.0/320.0/-320.0/-100.0/1.0/

    je me suis basé sur ce tuto pour le faire:
    http://www.java-tips.org/other-api-t...t-in-jogl.html
    Voilà donc là je vois pas trop ce qui merde...
    Merci d'avance

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 150
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    Le forum est sophistiqué, il possède des balises [ C O D E ] et [ / C O D E ] ( sans espaces ) qui permette d'exposer le code clairement. Le bouton '#' lors de l'édition, permet une inclusion rapide et automatique des balises. Veuillez utiliser cette fonctionnalité du forum pour votre code. Merci.

    Sinon, suivant la documentation d'OpenGL, je ne comprends rien des paramètres que vous passer à glUnProject(). Mais je me demande si cela n'est pas à cause du JAVA. ( http://www.manpagez.com/man/3/gluUnProject/ )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Bonjour,

    même avis que LittleWhite: soit le prototype Java de gluUnProject est très différent de la version standard, ce qui m'étonnerait quand même pas mal, soit tu as lu de travers ou trouvé des tutoriels erronés.

    Pour la version C++, ca donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    gluUnproject(GLdouble winx, GLdouble winy, GLdouble winz, 
                 GLdouble modelMatrix[16],
                 GLdouble projMatrix[16],
                 GLint viewport[4],
                 GLdouble* objx, GLdouble* objy, GLdouble* objz)
    Bref, vérifie tes sources!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lister les disques durs USB, les clés ainsi que les appareils photos
    Par infosam76 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 25/02/2015, 23h26
  2. Réponses: 0
    Dernier message: 05/05/2008, 11h09
  3. Réponses: 2
    Dernier message: 21/02/2007, 12h54
  4. Between entre 2 dates : comment inclure les bornes
    Par vallica dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/06/2006, 14h37
  5. diffirencier entre les images couleurs et les noir et blanc
    Par passion_info dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/05/2005, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo