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 :

Recuperer des coordonnees apres projection...


Sujet :

OpenGL

  1. #1
    Membre habitué Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Points : 193
    Points
    193
    Par défaut Recuperer des coordonnees apres projection...
    Bonjour

    G un quad en filaire, je lui applique un projection perspective et je voudrais ensuite le mapper mon arriere plan. Pour Cela, il faudrait que je puisse recuperer au moins les coordonnées de celui ci apres la projection (à moins qu'openGl puisse directement le mappé APRES PROJECTION, c'est a dire en considerant la nouvelle forme 2D obtnue), mais je ne sais pas comment m'y prendre.

    Avant de poser une question, lire la Avant de répondre, lire la question

  2. #2
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    qu'est ce que tu veut faire exactement ?

    - tu veut afficher un arriere plan derriere ton quad ? => passage en mode ortho, dessin sur toute la surface de l'ecran sans Zbuffer puis apres tu dessine ton quads.

    - tu veut projeter la texture de ton arriere plan sur ton quad ? => texture projetée avec generation automatiques de texture (ou encore plus moderne : tu fait tout dans un vertex programme...)
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  3. #3
    Membre habitué Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Points : 193
    Points
    193
    Par défaut
    J'applique deja une image en fond => mode ortho, quad texture qui prend toute la fenêtre... mais je ne vois pas de difference quand je desactive ou non le z-buffer avec glDisable (GL_DEPTH_TEST);

    Je veux effectivement maintenant mapper un patch (egalement un quad) projeté avec la tecture correspondante en arrière plan. Donc par exemple, si mon patch est rectangulaire, je le projette, cela peut me donner un trapeze, je souhaite alors texturer mon rectangle avec l'arrière plan contenu dans la projection (un trapèze). Je compte effectivement utiliser les coordonées de texture, mais pour cela il me faut les coordonnées de mon rectangle projeté, c'est à dire celles du trapèze; C'est ce que je ne sais pas faire
    Avant de poser une question, lire la Avant de répondre, lire la question

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 108
    Points : 128
    Points
    128
    Par défaut
    Tu peux regarder du coté de gluUnproject. Cela devrait surement t'aider.

  5. #5
    Membre habitué Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Points : 193
    Points
    193
    Par défaut
    Tout a fait ce qu'il me faut (gluProject en fait )

    Mais quand je m'en sert les matrices que j'extrait ne sont pas bonnes. L'exemple si dessous devrait me retourner la matrice identite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    double projection [16];
     
    glMatrixMode (GL_PROJECTION);
    glLoadIdentity ();
     
    	glGetDoublev (GL_PROJECTION, projection);
     
    	for (int i=0; i<16; i++)
    	{
    		fprintf (stderr, " %d ", projection [i]);
    		fprintf (stderr, "\n");
    	}
    Elle ne me retourne qu'une enorme valeure inexploitable
    Avant de poser une question, lire la Avant de répondre, lire la question

  6. #6
    Membre habitué Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Points : 193
    Points
    193
    Par défaut
    il faut mettre GL_PROJECTION_MATRIX et non GL_PROJECTION

    et on lit des floats %f et non des entiers %d

    Merci à tous
    Avant de poser une question, lire la Avant de répondre, lire la question

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

Discussions similaires

  1. [Débutant] Recuperer les coordonnees apres une "edge detection"
    Par sebintokyo dans le forum Images
    Réponses: 4
    Dernier message: 05/06/2009, 14h58
  2. Recuperation des coordonnees de rotation d'une camera
    Par glamdrig dans le forum OpenSceneGraph
    Réponses: 10
    Dernier message: 18/05/2009, 15h16
  3. Recherche d'un texte dans une feuille et recuperation des coordonnees
    Par Youpititi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/11/2008, 08h48
  4. recuperation de coordonnees apres glMultMatrixf
    Par tonio96 dans le forum OpenGL
    Réponses: 1
    Dernier message: 03/11/2008, 16h24
  5. Réponses: 3
    Dernier message: 10/10/2007, 12h43

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