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

Discussion :

[OpenGL] Affichage de lignes

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut [OpenGL] Affichage de lignes
    Bonjour tout le monde,

    J'ai un soucis concernant les lignes en OpenGL.

    Sur mon PC1, j'ai un display OpenGL qui contient de simples lignes. Si j'affiche une ligne noire avec une épaisseur 1, il m'affiche la ligne correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        glLineWidth(1.0);glColor3d(0.0,0.0,0.0);
     
        glBegin(GL_LINE_STRIP);
        for(int i = 0; i < lineCount ; i++)
        {
            glVertex2d(data[i*2],data[i*2+1]);
        }
        glEnd();
    Tout fonctionne parfaitement sur ce PC1.
    La version opengl y est 2.1 (QGLFormat).

    Ensuite je suis passé sur un PC2 (plus récent en plus, nvidia gtx 550 si ca aide). Le rendu de ma ligne est carrément différent de ce que je demande. J'obtiens une ligne de taille 2px et la couleur est grise... Si je fais la même chose avec du rouge pur (255,0,0), j'obtiens un rouge pale.

    Concernant la version opengl; cela m'affichait 4.2. Donc j'ai tenté de faire un setVersion mais cela n'a rien changé...

    J'aimerais bien que l'affichage sur le PC2 respecte ce qui est demandé... donc si vous avez des suggestions, elles sont les bienvenues.

    Merci pour vos commentaires.
    Images attachées Images attachées  
    Un petit si la réponse convient. Merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    J'ai trouvé un article qui montre le même effet :
    http://www.codeproject.com/Articles/...ents-in-OpenGL
    (http://www.codeproject.com/KB/openGL...aw/test7_2.png)

    J'ai aussi trouvé une explication ici : http://developer.apple.com/library/i...gOverview.html

    Est ce que cela signifie que je dois restreindre les coordonnées possible de mes lignes en fonction de la taille de ma fenêtre opengl?
    Ou y a t il un paramètre magique qui force une position sur un pixel et pas "entre deux"?

    J’espère que quelqu'un peut éclairer ma lanterne. Merci.
    Un petit si la réponse convient. Merci.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Bon, voici une solution simple qui fonctionne à moitié:

    Sachant que m_width et m_height sont les dimensions de la fenetre OpenGL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    double vertexX = floor(data[i*2] / (1/m_width)) * (1/m_width);
    double vertexY = floor(data[i*2+1] / (1/m_height)) * (1/m_height);
    glVertex2d(vertexX,vertexY);
    Mais cela ne fonctionne pas tout le temps suivant la taille du display OpenGL...
    Un petit si la réponse convient. Merci.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Le problème est résolu en appelant un renderText() (même si pas besoin).
    Est ce que quelqu'un sait ce que cette fonction pourrait modifier pour corriger ce bug? J'ai jeté un coup d'oeil aux fonctions appelées mais je n'ai pas trouvé.
    Un petit si la réponse convient. Merci.

Discussions similaires

  1. [Reports 6] Ordre d'affichage des lignes d'un état
    Par duboisfa dans le forum Reports
    Réponses: 2
    Dernier message: 17/02/2006, 16h21
  2. Réponses: 1
    Dernier message: 11/05/2005, 17h28
  3. [Eclipse 3.0.1] Affichage des lignes
    Par OverCat dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 10/03/2005, 07h32
  4. Réponses: 2
    Dernier message: 09/10/2004, 11h35
  5. [C#] Affichage des lignes dans un tableau.
    Par maldufleur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h28

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