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 :

bug GL_LINE_LOOP !


Sujet :

OpenGL

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 12
    Par défaut bug GL_LINE_LOOP !
    Bonjour à tous,

    Je ne sais pas s'il s'agit d'un bug connu (je n'ai rien trouvé sur le net à son sujet) et pourtant c'est grave, même s'il a l'air spécifique à ma machine (NVidia Geforce 4 TI 4200 AGP8x sous Windows XP SP2 avec les derniers drivers ForceWare 93.71 pour Geforce 4).

    L'exemple que je propose pour mettre en évidence le bug est très simple : il dessine simplement deux formes fermées différentes (un cercle et un carré) à l'aide de glBegin(GL_LINE_LOOP), avec un pinceau pointillé :

    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
     
    const int NBPTS = 100;
    const double PI = 3.1415927;
     
    // dessine un cercle
    glBegin(GL_LINE_LOOP);
    for (double a=0; a<2*PI; a+=2*PI/NBPTS) {
        glVertex2d(cos(a), sin(a));
    }
    glEnd();
     
    // dessine un carré, pour montrer que ça arrive avec n'importe quelle forme
    glBegin(GL_LINE_LOOP);
    for (double a=0; a<8; a+=8.0/NBPTS) {
        if (a<2)
            glVertex2d(1-a, 1);
        else if (a<4)
            glVertex2d(-1, 1-(a-2));
        else if (a<6)
            glVertex2d(a-4-1, -1);
        else
            glVertex2d(1, a-6-1);
    }
    glEnd();
    Il se passe la chose suivante lorsque je fais varier la valeur de NBPTS :
    - jusqu'à 120 points, aucun problème (voir screenshot 1)
    - à partir de 120 points (un peu plus pour le carré), apparaît une ligne parasite joignant le premier point à un point de la figure qui s'"éloigne" le long de la figure lorsque NBPTS augmente, de manière parfaitement déterministe (voir screenshot 2)
    - plus j'augmente le nombre de points qui composent la figure, plus de lignes parasites apparaissent, partant toutes du premier point et uniformément répartie (voir screenshot 3)

    Observations :
    - je n'obtiens ce bug que sur la machine citée en préambule.
    - pas de bug lorsque GL_LINE_STIPPLE est désactivé ou que le lineStipple vaut 0xffff (ligne pleine)
    - pas de bug avec GL_LINE_STRIP à la place de GL_LINE_LOOP mais ce n'est pas l'effet recherché car je veux dessiner des simples figures fermées en 2D.

    Quelqu'un peut-il m'expliquer ce qui se passe ? A qui m'adresser ? Où se situe le problème ? Les drivers ? La carte ?
    Merci
    Images attachées Images attachées    

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/03/2003, 17h37
  2. Bug new build ??
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 31/01/2003, 11h30

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