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 :

Probleme de reflection par stencil avec un Scalef


Sujet :

OpenGL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Probleme de reflection par stencil avec un Scalef
    Bonjour!
    Voici mon probleme : J'affiche une maison 3D tout mes objets dans la maison sont au format 3DS max (.3ds), dans une des pièces j'ai un mirroir ou je veux biensur afficher mes objets de la piece. Mes objets de la pieces sont affichés comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void drawChambre()
    {
    	glPushMatrix();
    	glRotatef(-90,0,1,0);
    	glRotatef(-90,1,0,0);
    	glTranslatef(55,-73,-61);
    	glScalef(32.0,32.0,32.0);
    	chambre->Draw();
    	glPopMatrix();
    }
    Voici le code de mon mirroir :
    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
    void mirroir_chambre()
    {
    	glDisable(GL_LIGHT0);
    	glDisable(GL_LIGHTING);
    	glPushMatrix();
    	glCullFace(GL_BACK);
    	glEnable(GL_CULL_FACE);
    	glRotatef(-90,0,1,0);
    	glRotatef(-90,1,0,0);
    	glTranslatef(55,-73,-61);
    	glScalef(32.0,32.0,32.0);
    	miroir_chambre->Draw();
    	glDisable(GL_CULL_FACE);
    	glPopMatrix();
    	glEnable(GL_LIGHT0);
    	glEnable(GL_LIGHTING);
    }
    Le probleme exact est lors de l'inversion des transformations pr l'effet mirroir tout se passe bien pour les rotations et la translation mais sur le scale je dois mal m'y prendre.
    Voici le code de l'effet mirroir:
    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
     
    glEnable(GL_CLIP_PLANE0);
    		GLdouble eqn[4];
    		eqn[0] = -1.0; eqn[1] = 0.0; eqn[2] = 0.0; eqn[3] = 0.0;
    		glPushMatrix();
    		{
    			glRotatef(spin_y, 1, 0, 0); 
    			glRotatef(spin_x, 0, 1, 0); 
    			glTranslatef(-t, 0, 0);  //Centr� en -t, 0, 0*/
    			glRotatef(-90,0,1,0);
    			glRotatef(-90,1,0,0);
    			glTranslatef(55,-73,-61);
    			glScalef(32.0,32.0,32.0);
    			glClipPlane(GL_CLIP_PLANE0, eqn); //On place le plan de clipping
    			//glScalef(-1, 1, 1);        //on applique la sym�trie
    			glScalef(-32.0,32.0,32.0);
          			glTranslatef(-55,73,61);
    			glRotatef(90,1,0,0);
    			glRotatef(90,0,1,0);
     
     
          			//Et on peut dessiner le reflet.
          			drawChambre();
        		}
        		glPopMatrix();
    J'ai essayé un peu tout avec le scalef mais bon rien ne marche. Je précise que chambre->Draw() dessine donc des objets diverses dont une sorte d'armoire sans les mirroirs sur les portes (dessinés eux par mirroir_chambre())

  2. #2
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    ça ne résoudra pas ton problème directement mais, faire un effet miroir avec une texture aurait été plus pratique je pense

    tu effectues le rendu de ta pièce dans une texture en mettant ta "caméra" à la place du miroir et ensuite tu effectues ton rendu en utilisant ta texture pour ton miroir
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

Discussions similaires

  1. Probleme de compilation PAR-PACKER avec module DBI
    Par vindkald dans le forum Modules
    Réponses: 3
    Dernier message: 01/04/2011, 10h45
  2. Plugin php livré par default avec Eclipse PHP ganymede (POO)
    Par lerieure dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 06/05/2009, 11h54
  3. Réponses: 3
    Dernier message: 11/12/2008, 10h26
  4. Probleme d'appel des jsp(avec balise struts) par ajax
    Par edogawa dans le forum Struts 1
    Réponses: 1
    Dernier message: 23/08/2007, 23h14
  5. Réponses: 5
    Dernier message: 17/07/2006, 18h34

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