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 :

petit problème premier plan, arrière plan


Sujet :

OpenGL

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut petit problème premier plan, arrière plan
    bonjour

    j'ai un petit truc à demander, ça doit pas être trop dur puisque je suis un débutant...
    voilà, en fait je voudrais afficher ce truc :
    je voudrais qu'il y ait sur le premier plan, un objet que l'on puisse contrôler, et sur l'arrière plan par exemple, un cube qui soit constamment en mouvement, indépendemment de celui de l'objet sur le premier plan.
    Pour l'instant ce que j'ai, c'est l'objet qu'on contrôle, et puis l'arrière plan. Le problème, c'est que je sais pas trop comment les assembler...

    C'est possible ou pas ?

    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    lut,
    d'apre ke j'ai compris tu voudrais faire bouger ton objet du premier plan dans differentes directions et apres un plan fixe sur le 2eme objet (en mouvement ou po) o 2eme plan.

    regarde du coté de glPushMatrix() et glPopMatrix()

    @+

  3. #3
    Membre actif
    Inscrit en
    Avril 2004
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 238
    Points : 265
    Points
    265
    Par défaut
    Oui c'est assez simple, il suffit que tu affecte tes futurs rotations, translations... qu'au dessin de ton premier element (celui qui est au premier plan).

    Pour faire ça soit tu utilises les fonctions :
    Citation Envoyé par Chacal_ito
    regarde du coté de glPushMatrix() et glPopMatrix()
    qui te permettent de revenir au niveau initial apres avoir effectué des rotations...

    Soit tu le fait manuellement, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    glRotated(xRot,1,0,0);
    //dessin objet premier plan
    glRotated(-xRot,1,0,0);
    //dessin objet second plan
    Comme ça seul ton objet du premier plan est affecté par les "mouvements".

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Pour dissocier les mouvements d'un objet par rapport à un autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    glRotated(xRot,1,0,0); 
    //dessin objet premier plan 
    glRotated(-xRot,1,0,0); 
    //dessin objet second plan
    c bien mais assez limité. Si tu combine une rotation, une translation et une homothétie, ca commence à devenir assez lourd. Si par la suite, tu veux dessiner une dizaine d'objet tous indépendant, ca devient complétement illisible.

    glpushMatrix() et glPopMatrix() sont quand meme mieux adapté.
    En gros, tu entoure les tranformations et le dessin d'un objet par ces deux commandes pour qu'il n'interfère pas avec les autres. Ex:

    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
    17
     
    glPushMatrix();
    glRotate(...)
    glTranslate(...)
    glScale(...)
    glBegin()
    // TU DESSINE TON PREMIER OBJET
    glEnd()
    glpopMatrix();
     
    glPushMatrix();
     
    // TON DEUXIèME
     
    glpopMatrix();
     
    //ETC...
    Avec ces fonctions, tes objets sont indépendants. Tu peux même imbriquer les glPushMatrix et glPopMatrix pour créer par exemple des objets articulés (ex: robot, voiture, etc...)

    [/quote]

  5. #5
    Membre actif
    Inscrit en
    Avril 2004
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 238
    Points : 265
    Points
    265
    Par défaut
    Je suis d'accord avec toi, mais c'était pour visualiser ce que faisait popMatrix et pushMatrix. C'est plus comprehensible si on donne un petit exemple fait manuellement

    C'est sur qu'il vaut mieux utiliser (qu'il FAUT meme utiliser) popMatrix et pushMatrix, mais je voulais expliquer ce que ça faisait.

Discussions similaires

  1. Problème avec l'arrière plan d'un JComboBox
    Par amine1980 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/02/2011, 00h19
  2. Problème de gestion premier plan / arrière plan
    Par vladvad dans le forum DirectX
    Réponses: 2
    Dernier message: 12/11/2008, 01h03
  3. Problème couleur d'arrière plan des frames sous Firefox
    Par darkazuria dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/05/2008, 11h54
  4. Problème de fenêtre modal qui ne stoppe pas le code en arrière plan
    Par Sebcaen dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 25/09/2006, 13h43
  5. [JMenu][Canvas] Pti problème de JMenu à l'arrière plan !
    Par sozie9372 dans le forum Composants
    Réponses: 4
    Dernier message: 16/12/2005, 11h20

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