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 :

[debutant] image 2d de fond dans scene 3d


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 [debutant] image 2d de fond dans scene 3d
    Bonjour

    Comme je souhaite mettre une video en fond d'ecran lui superposer un model 3d, il faudrait que je puisse afficher ma texture video sur un quad en projection ortho, puis mon model en projection perspective...

    Mon code simplifié ressemble à ca (et ne fonctionne pas)

    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
    18
    19
    20
    21
    fonction_callback_affichage ()  //glut oblige
    {
    glMatrixMode (GL_PROJECTION);
    glLoadIdentity ();
    gluOrtho2D (/*les dimension de mon fond d'ecran*/);
     
    glMatrixMode (GL_MODELVIEW);
    glLoadIdentity ();
     
    /*dessin de Mon quad texture*/
     
    glMatrixMode (GL_PROJECTION);
    glLoadIdentity ();
    gluPerspective (/*les parametre camera*/);
     
    glMatrixMode (GL_MODELVIEW);
    glLoadIdentity ();
     
    /*dessin du model*/
     
    }

    ... ou comment afficher une image de fond fixe dans une scene 3d

    Please Heeeelp


    [Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]
    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 qui ne marche pas ? l'affichage ortho ou bien tu ne voit pas ton model ?

    si tu ne voit pas le model c'est parce que tu ne desactive pas le Ztest lors de l'affichage du quad de fond...
    * 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
    je fais bien un glDisable (GL_DEPTH); avant mon quad

    et un glEnable (GL_DEPTH); avant mon model

    et je n vois que mon modele !!!

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    void RenderScene()
    {
    	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     
    	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity ();	
    	gluOrtho2D(-8.0, 8.0, -5.0, 5.0);
     
    	glDisable (GL_DEPTH);
     
    	glMatrixMode(GL_MODELVIEW);   
    	glLoadIdentity ();
     
     
    		glTranslatef (0.0, 0.0, -5.0);
     
           glEnable(GL_TEXTURE_2D);
           glBindTexture(GL_TEXTURE_2D, texture.ID);
           glColor3f(1.0f, 1.0f, 1.0f);
     
           glBegin (GL_QUADS);
    		glTexCoord2f(.0,.0);
    		glVertex3f (-2, -1, -2.0);
    		glTexCoord2f(.0,1.0);
    		glVertex3f (-2, 1, -2.0);
    		glTexCoord2f(1.0,1.0);
    		glVertex3f (2, 1, -2.0);
    		glTexCoord2f(1.0,.0);
    		glVertex3f (2, -1, -2.0);
           glEnd (); 
     
    	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity ();	
    	gluPerspective(45, 1.0, 1.0, 20.0);
     
    	glMatrixMode(GL_MODELVIEW);   
     
     
    	glEnable (GL_DEPTH);
     
        glRotatef(xRotation, 1.0f, 0.0f, 0.0f);
        glRotatef(yRotation, 0.0f, 1.0f, 0.0f);
     
        glDisable(GL_TEXTURE_2D);
        glColor3f(.0f, .0f, .0f);
     
        glutSolidTeapot(1.0f);
     
        glFlush();
        glutSwapBuffers();
    }
    [/code]
    Avant de poser une question, lire la Avant de répondre, lire la question

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/09/2006, 17h33
  2. Etirer une image de fond dans une cellule
    Par dreamanoir dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/07/2005, 14h39
  3. Réponses: 4
    Dernier message: 03/05/2005, 09h03
  4. Image GIF a fond transparent dans un formulaire ?
    Par Coquelicot dans le forum IHM
    Réponses: 4
    Dernier message: 25/10/2004, 12h08
  5. [FLASH 5]un bouton dans une image pour revenir sur une scene
    Par patato valdes dans le forum Flash
    Réponses: 7
    Dernier message: 28/04/2004, 20h21

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