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 transparence avec fog


Sujet :

OpenGL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Points : 35
    Points
    35
    Par défaut probleme de transparence avec fog
    voila g du fog en exp2 dans mon moteur et je dessine des plantes en transparence,j'utilise un masque pour ça,le code est le suivant(placé dans une display list):
    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
     
                   gl.glBindTexture(gl.GL_TEXTURE_2D, MapLoader.flore[6]);     //Masque            
                   gl.glBlendFunc(gl.GL_DST_COLOR,gl.GL_ZERO);
                	gl.glBegin(gl.GL_TRIANGLE_STRIP);					
                    		gl.glTexCoord2d(1,1); gl.glVertex3f(7.5f,7.5f,1.0f); 
                    		gl.glTexCoord2d(0,1); gl.glVertex3f(-7.5f,7.5f,1.0f);
    		    		   	gl.glTexCoord2d(1,0); gl.glVertex3f(7.5f,-7.5f,1.0f); 
    		    		   	gl.glTexCoord2d(0,0); gl.glVertex3f(-7.5f,-7.5f,1.0f); 
    					gl.glEnd();
    					gl.glBlendFunc(gl.GL_ONE,gl.GL_ONE);
    					gl.glBindTexture(gl.GL_TEXTURE_2D, MapLoader.flore[0]);
    					gl.glBegin(gl.GL_TRIANGLE_STRIP);					
                    		gl.glTexCoord2d(1,1); gl.glVertex3f(7.5f,7.5f,1.0f);
                    		gl.glTexCoord2d(0,1); gl.glVertex3f(-7.5f,7.5f,1.0f); 
    		    		   	gl.glTexCoord2d(1,0); gl.glVertex3f(7.5f,-7.5f,1.0f); 
    		    		   	gl.glTexCoord2d(0,0); gl.glVertex3f(-7.5f,-7.5f,1.0f); 
    					gl.glEnd();
    le probleme c que la partie transparente est affectée par le brouillard...
    http://thebattleproject.site.voila.fr/Screen5.jpg
    http://thebattleproject.site.voila.fr/Screen4.jpg

    est-ce possible de n'affecter que la partie visible des plantes par le brouillard???
    Le bien etre et la paix....

  2. #2
    Membre averti Avatar de charly
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 329
    Points : 358
    Points
    358
    Par défaut
    je comprends pas trop le beugue en faite
    6*8 =42

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Points : 35
    Points
    35
    Par défaut
    bah tu vois l'herbe au sol bah de pres ça va parceke la brouillard ne l'affecte pas mais de loin tu voit ke le fog affecte la partie transparente du rectangle dans lekel se situe l'herbe...(rectangle légèrement rouge)
    Le bien etre et la paix....

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 118
    Points : 118
    Points
    118
    Par défaut
    Tu devrait regarder du coté de l'alpha test : sa ne laisse passé que les fragment qui ont un alpha égale,inferieur ou supieure a une certaine valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    glEnable(GL_ALPHA_TEST);
     
    glAlphaFunc(GL_GREATER,0.5);
     
    //dessinne
     
    glDisable(GL_ALPHA_TEST);
    tiens un super lien :
    http://pyopengl.sourceforge.net/docu...haFunc.3G.html
    JC est bien notre dieu...(non non pas jesus christ mais John Carmack!!!)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Points : 35
    Points
    35
    Par défaut
    parfait ça merci sebh
    Le bien etre et la paix....

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Points : 35
    Points
    35
    Par défaut
    euh bah en fait ça marche pas trop trop,les parties transparentes sont toujours affectées par le fog .Les fonctions de blend a activer dans la cas d'une transparence avec masque c bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    gl.glColor4f(1, 1, 1, 1);
    gl.glEnable(GL_ALPHA_TEST);
    gl.glAlphaFunc(GL_GREATER,0.5);
    gl.glBlendFunc(gl.GL_DST_COLOR,gl.GL_ZERO);
           //On draw avec le masque
    gl.glBlendFunc(gl.GL_ONE,gl.GL_ONE);
           //On draw avec la texture normale
    : : :
    Le bien etre et la paix....

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 118
    Points : 118
    Points
    118
    Par défaut
    de rien, ce fut un plaisir

    JC est bien notre dieu...(non non pas jesus christ mais John Carmack!!!)

  8. #8
    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
    si tu utilise l'alphatest tu n'a plus besoin d'utiliser un masque...
    * 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

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 37
    Points : 31
    Points
    31
    Par défaut
    euh ca a pas trop de raport (dsl) mais comment fais tu pour afficher les jauges au premier plan ?

  10. #10
    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
    tu passe en mode ortho, tu affiche les jauges en 2d et tu repasse en mode normal...
    * 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

  11. #11
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 37
    Points : 31
    Points
    31
    Par défaut
    ok merci j'essayerai ca

Discussions similaires

  1. Probleme de réseau avec aol
    Par Mut dans le forum Développement
    Réponses: 22
    Dernier message: 26/05/2003, 23h58
  2. Réponses: 6
    Dernier message: 04/04/2003, 15h28
  3. [Kylix] Probleme de séparateur avec Kylix2 ?
    Par jeanphy dans le forum EDI
    Réponses: 4
    Dernier message: 10/02/2003, 16h41
  4. Réponses: 12
    Dernier message: 23/10/2002, 11h56
  5. Probleme d'impression avec la méthode TForm->Print()
    Par Kid Icarus dans le forum C++Builder
    Réponses: 13
    Dernier message: 31/07/2002, 14h26

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