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 :

stencil


Sujet :

OpenGL

  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 117
    Par défaut stencil
    salut
    je viens de me lancer dans le stencil pour faire des reflets
    voila le code :
    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
     
    glEnable(GL_STENCIL_TEST);			
    glDisable(GL_DEPTH_TEST);		
    glColorMask(0,0,0,0);					
    glStencilFunc(GL_ALWAYS,1,1);			
    glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);					
    Dessiner_sol ();
     
    glEnable(GL_DEPTH_TEST);				
    glColorMask(1,1,1,1);				
    glStencilFunc(GL_EQUAL,1,1);				
    glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);		
     
    glEnable(GL_CLIP_PLANE0);			
    glClipPlane(GL_CLIP_PLANE0, eqr);			
    glPushMatrix();							
    glScalef(1.0f, -1.0f, 1.0f);		
    glTranslatef(pos.x,hauteur,pos.z);	
    Dessiner_objet ();
     
    glPopMatrix();				
    glDisable(GL_CLIP_PLANE0);				
    glDisable(GL_STENCIL_TEST);					
     
    Dessiner_sol ();
     
    glPushMatrix ();
    	glTranslated (pos.x,hauteur,pos.z);
    	Dessiner_objet ();
    glPopMatrix ();
    sa marche mais il y a un pb
    lorsque l'on passe en dessous de plan qui reflechi avec la camera on voit apparaitre le reflet de la sphere.
    comment je pourrais eviter cela ?
    en fait il faudrait que sa ne reflechisse que d'un côté ( vers le haut )

    j'espère mettre fait comprendre parce que c'est pas super simple à expliquer.

    @+

  2. #2
    Membre expérimenté Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Par défaut
    mets un plan de clipping pour afficher la sphere

  3. #3
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 117
    Par défaut
    ben j'en ais déjà mis un !!
    ou alors j'ai mal compris ?

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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    tu a bien activé le stencil buffer (avec un truc du genre glutInit(GLUT_STENCIL_BUFFER) si tu est sous glut) ?
    * 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

  5. #5
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 117
    Par défaut
    je l'est pas fais mais je ne suis pas sous glut

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

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par défaut
    Tu détectes que tu es en dessous du plan ou alors tu utilise un plan de clipping (voir glClipPlane) comme l'a dit Bob.Killer
    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.

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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    Citation Envoyé par Mat 74
    je l'est pas fais mais je ne suis pas sous glut
    ben voila ou est le probleme... pas de stencil buffer = pas de stencil test
    * 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

  8. #8
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 117
    Par défaut
    c'est pas sa le plan de clipping

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    glEnable(GL_CLIP_PLANE0);           <=
    glClipPlane(GL_CLIP_PLANE0, eqr); <=         
    glPushMatrix();                      
    glScalef(1.0f, -1.0f, 1.0f);       
    glTranslatef(pos.x,hauteur,pos.z);    
    Dessiner_objet (); 
    glPopMatrix();             
    glDisable(GL_CLIP_PLANE0);           <=

Discussions similaires

  1. stencil buffer
    Par graphicsxp dans le forum OpenGL
    Réponses: 2
    Dernier message: 13/12/2004, 13h21
  2. mask in stencil buffer
    Par graphicsxp dans le forum OpenGL
    Réponses: 3
    Dernier message: 13/12/2004, 11h17
  3. Probleme Stencil Buffer
    Par supergrey dans le forum DirectX
    Réponses: 14
    Dernier message: 20/07/2004, 20h54
  4. Contenir une ombre ds un plan : PB DE STENCIL !
    Par Muetdhiver dans le forum OpenGL
    Réponses: 6
    Dernier message: 11/03/2004, 12h34
  5. stencil buffer
    Par patapetz dans le forum OpenGL
    Réponses: 6
    Dernier message: 26/02/2004, 17h23

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