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

GLUT Discussion :

[gluProject] projection erronnée


Sujet :

GLUT

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 136
    Par défaut [gluProject] projection erronnée
    Salut à tous,

    J'utilise gluProject pour détecter des collisions entre la souris et le monde 3D. En gros, lorsque le résultat de projection est proche de la souris, je dis qu'il y a collision.

    Bizarrement, le résultat est assez aléatoire. 80% du temps ça marche pas mal, et le reste du temps, on dirait que les coordonnées résultant de gluProject sont complètement fausses. J'ai vu d'autres posts sur le web où des gens disaient aussi avoir constaté des décalages bizarres.

    1) J'ai essayé de retélécharger la librairie glut à jour (fichiers glut.lib glut32.lib et glut.h) mais bizarrement, quand j'inclus glut.h et pas glu.h, j'ai des erreurs de linkage ? Pourtant j'ai bien comme paramètres "-lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32"

    2) Beaucoup de posts parlent de l'alternative du picking avec des noms pour les objets, mais ça me paraît beaucoup trop compliqué, donc je préfèrerais en rester à gluProject, surtout si ça peut marcher !

    Est-ce que quelqu'un a déja été confronté à ces problèmes ? Merci d'avance

    PS: voici le bout de code qui fait la projection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      GLdouble X,Y,Z;
      GLint viewport[4];
      GLdouble modelview[16];
      GLdouble projection[16];
      glGetDoublev(GL_MODELVIEW_MATRIX,modelview);
      glGetDoublev( GL_PROJECTION_MATRIX, projection );
      glGetIntegerv( GL_VIEWPORT, viewport );
      int r=gluProject(world.x,world.y,world.z,modelview,projection,viewport, &X, &Y, &Z);
      if(r==GL_TRUE)return Point3D(X,Y,Z);
      else error("Projection failed");

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 136
    Par défaut
    Bon bah... c'est comme d'habitude ! Il suffit que je poste un message sur un forum pour que je trouve la réponse tout seul 5min après.


    L'erreur venait d'ailleurs, une faute de copier-coller dans un if

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

Discussions similaires

  1. Réflection - projected texture
    Par Dranor dans le forum DirectX
    Réponses: 2
    Dernier message: 29/05/2004, 13h35
  2. Projection 2D
    Par Johngame dans le forum DirectX
    Réponses: 9
    Dernier message: 08/11/2003, 12h01
  3. Clipping et projection orthogonale
    Par Luke-77 dans le forum DirectX
    Réponses: 4
    Dernier message: 01/10/2003, 20h02
  4. Project References: qu'est-ce?
    Par Glob dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 14/08/2003, 14h01

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