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 des couleurs


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut probleme de transparence des couleurs
    salut tout le monde
    Mon problème est : quand je dessine par exemple un grand carré bleu dans le point (x,y,z) puis je dessine un petit carré rouge dans le point (x,y,z-2).

    normalement le carré bleu cache le carré rouge MAIS dans mon cas ça ne se passe pas !!!!!!!!!

    ou est le problème

    merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    tu essayes ce truc, tu fais glBegin(GL.GL_QUADS) et glEnd() pour chaque carré et non pas pour les deux ensemble de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ....
    glBegin(GL.GL_QUADS) 
      dessiner ton carré bleu
    glEnd() 
     
    glBegin(GL.GL_QUADS)
    dessiner ton carré rouge
    glEnd() 
    ....

  3. #3
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Que veux-tu dire par "ca ne se passe pas"? Tu vois les deux carrés, aucun, toujours le même?

    Sinon, tu parles de "point" mais je suppose que tu veux dire "plan"?

    A priori ca peut être un probleme de Z-buffer, mais sans infos supplémentaires ca peut tout aussi bien être autre chose....

    Vérifie quand même que ton Z-buffer est activé lors de l'initialisation OpenGL, avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    glEnable(GL_DEPTH_TEST);									
    glDepthFunc(GL_LESS);

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut
    ben je reexplique mon probleme :

    glColor3f(1.0,0.0,0.0);
    glTranslatef(0.0,0.0,-5.0);
    glutSolidCube(2.0); //cube rouge
    glColor3f(0.0,0.0,1.0);
    glTranslatef(0.0,0.0,-8.0); //cube bleu
    glutSolidCube(1.0);

    normalement je vois seulement le cube rouge et le cube bleu sera caché par le rouge. mais moi je vois les deux !!!!!!!!!!

  5. #5
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Comme dit plus haut ca peut venir du Z-buffer, essaie ca.

    Si ca ne marche pas:
    - Es-tu sûr que ta caméra "regarde" dans la direction (0,0,1) ? Si ce n'est pas le cas tes cubes ne seront pas alignés avec la ligne de vue, donc tu vois les deux
    - Utilises glPushMatrix / glPopMatrix pour isoler les transformations que tu appliques à tes cubes: dans ton cas les translations s'additionnent, tu auras donc un cube en à Z = -5 et l'autre à Z = -13 (et pas -8) . Ici ca ne change rien au problème mais prends l'habitude de faire ca pour éviter les mauvaises surprises

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut
    SALUT

    Citation Envoyé par ShevchenKik Voir le message
    Comme dit plus haut ca peut venir du Z-buffer, essaie ca.
    voila le code de l'initialisation:
    void init ( GLvoid )
    {

    glClearColor(0.0f, 0.0f,0.0f, 1.0f);
    glClearDepth(1.0f);
    glEnable(GL_DEPTH_TEST);

    glDepthFunc(GL_LESS);
    glEnable ( GL_COLOR_MATERIAL );
    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
    }

    Citation Envoyé par ShevchenKik Voir le message
    Si ca ne marche pas:
    - Es-tu sûr que ta caméra "regarde" dans la direction (0,0,1) ? Si ce n'est pas le cas tes cubes ne seront pas alignés avec la ligne de vue, donc tu vois les deux
    voila ma direction:

    glLoadIdentity();
    gluLookAt(0.0,0.0,8.0f,0.0f,0.0f,0.0f ,0.0,1.0,0.0);

    Citation Envoyé par ShevchenKik Voir le message
    - Utilises glPushMatrix / glPopMatrix pour isoler les transformations que tu appliques à tes cubes: dans ton cas les translations s'additionnent, tu auras donc un cube en à Z = -5 et l'autre à Z = -13 (et pas -8) . Ici ca ne change rien au problème mais prends l'habitude de faire ca pour éviter les mauvaises surprises
    Merçi pour cette remarque

  7. #7
    Membre éprouvé Avatar de Harooold
    Homme Profil pro
    Ingénieur 3D temps réel
    Inscrit en
    Mars 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 136
    Par défaut
    Je ne vois rien d'anormal.

    Met ton code en entier, à la limite en pièce jointe.
    Parce que ça peut être dut à pas mal de choses ( depth test, blending, transformations mal gerées ... etc ).
    Il faut une vision d'ensemble

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme d'affichage des couleurs sur navigateurs
    Par love-part dans le forum Windows XP
    Réponses: 0
    Dernier message: 04/01/2013, 12h34
  2. Réponses: 28
    Dernier message: 29/12/2011, 20h24
  3. probleme d'attribution des couleurs
    Par nirvo_ca dans le forum MATLAB
    Réponses: 5
    Dernier message: 09/06/2009, 20h20
  4. pb pour modifier la luminositée des couleurs
    Par mathieutlse dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 15h45
  5. [TP][MULTI-PROBLEME]Comment afficher des images pcx
    Par mikoeur dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/10/2002, 14h57

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