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 :

Déplacer le near et far de la matrice de projection


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Par défaut Déplacer le near et far de la matrice de projection
    Bonjour a tous,

    Je suis nouveau sur le forum et j'ai une quetion pour les spécialiste OpenGL.

    Le problème :

    Je développe un add in qui utilise des données OpenGL de l'application principale et je souhaite déplacer le near et le far de la projection afin que les données que s'insére dans la scène soient visibles.

    Pour ce faire j'initialise la matrice de projection et je redéfinie les plans near et far en gardant l'angle et l'aspect utilisé par l'application puis j'active la matrice modelview et je désine mes données.

    Le problème c'est que je ne désine pas là ou il faut, il semblerait que je dois également mettre à jour la matrice modelview ???

    Quelqu'un a-t-il une idée ?

    D'avance merci pour votre aide.

  2. #2
    Membre expérimenté Avatar de Sixissor
    Étudiant
    Inscrit en
    Février 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 206
    Par défaut
    Salut.

    Le problème c'est que je ne désine pas là ou il faut, il semblerait que je dois également mettre à jour la matrice modelview ???
    Bien sûr, c'est le plus important. Au pire, si tu as mal reglé les plans de clipping, c'est pas si grave: une partie de l'objet sera clipé (utilise un plan de clipping adapté à ta scène).
    Mais par contre si tu as mal réglé ta matrice modelview (object + eye space), il y a de grandes chances que tu vois ton objet n'importe comment, ou même pas du tout.

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Par défaut
    Bonjour et merci pour votre réactivité,

    Je suis dans le context suivant la matrice modelview et de projection sont déjà définies par l'application principale et j'insère mae données dans ce contexte. Donc je désine sans me soucier de la représentation qu'ils prendront dans la vue 3D. Et justement mes données ne sont pas visible car les plans de clipping near far en empêchent la visibilité. Alors l'idée est de modifier ces données avec gluPerspective en ne modifiant que les plans mais voilà la représentation n'est plus la même !!!

    Soit, je fais rien les données sont au bon endroit, je modifie les plans j'obtiens n'importe quoi ?

  4. #4
    Membre expérimenté Avatar de Sixissor
    Étudiant
    Inscrit en
    Février 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 206
    Par défaut
    Citation Envoyé par Charles.Anthony
    Je suis dans le context suivant la matrice modelview et de projection sont déjà définies par l'application principale et j'insère mae données dans ce contexte.
    Citation Envoyé par Charles.Anthony
    Alors l'idée est de modifier ces données avec gluPerspective en ne modifiant que les plans mais voilà la représentation n'est plus la même !!!

    Soit, je fais rien les données sont au bon endroit, je modifie les plans j'obtiens n'importe quoi ?
    Il faut savoir que les fonctions d'utilisation de la matrice de perspective et de la matrice donnant un point de vue de l'objet (modelview) vont toujours par pair. Jamais l'une sans l'autre.

    Ainsi, au lieu de faire redéfinir seulement la matrice de projection, tu dois aussi redéfinir la matrice de vue ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective( FOV, RATIO, nearClipping, farClipping );
     
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    gluLookAt(  pointDeVueX, pointDeVueY, pointDeVueZ,
                pointRegardéX, pointRegardéY, pointRegardéZ,
                0, 1, 0 );
     
    //Dessin de la scène
    Ce n'est pas possible d'avoir l'un sans l'autre, ça va toujours ensemble, sinon il manque des données pour visualiser ta scène.

    J'espère que ça résoudra le problème.

    ++

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Par défaut remerciement
    Merci à Sixissor pour son aide, le problème est partiellement résolu, il ne reste que des ajustages de Z buffer.

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

Discussions similaires

  1. comment créer une matrice de projection
    Par info_sara dans le forum OpenGL
    Réponses: 6
    Dernier message: 03/07/2010, 00h25
  2. Réponses: 10
    Dernier message: 21/06/2010, 01h15
  3. Calcul de matrices de projection par resectioning
    Par amwus dans le forum OpenCV
    Réponses: 0
    Dernier message: 09/02/2010, 15h18
  4. [Maths] Calcul de la matrice de projection
    Par HanLee dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 03/07/2007, 01h52
  5. matrice de projection?
    Par aziz jim dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 04/03/2007, 12h49

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