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 DisplayLists


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Janvier 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 9
    Par défaut Probleme DisplayLists
    J'aimerais savoir s'il est possible d'ajouter du code dans une DisplayList au fur et a mesure que mon programme s'exécute.
    Ca me serait utile car mon code est créé a partir de la lecture d'une image et je ne sais pas combien de DisplayLists vont etre nécessaires pour stocker tout le code.
    Je voudrais donc une DisplayList qui contient A, puis AB, puis ABC, puis ABCD, puis ABCDE, etc.

    Merci d'avance.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 118
    Par défaut
    C'est impossible.

    Tu doit tout simplement recrée ta list.....(ou te faire plusieur liste si tu veut garder les intermédiaire)

  3. #3
    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
    effectivement c'est impossible car les display liste une fois crée ne sont pas modifiables

    par contre je me demande si on ne peut pas appeler une display liste dans une display liste :
    * 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

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 9
    Par défaut
    Bon ben je suis mal pour ma prog.
    Je vais tout de meme voir s'il est possible d'appeler une displaylist dans une displaylist.
    A moins que l'un de vous connaisse un autre moyen de sauvegarder du code temporairement ?

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Par défaut
    bah ouais malheureusement les DL ne sont pas dynamiques mais statiques,cad kelles sont compilées et plus moyen dy toucher apres...enfin je peut me tromper mais je pense ke c ça !par contre qu'est-ce que t'appeles par sauvegarder le code temporairement???

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 9
    Par défaut
    En fait, j'utilise OpenGL avec Visual Basic.
    Sur un premier formulaire, je charge une image .bmp.
    J'analyse linéairement les pixels de cette image et recueille dans un fichier .txt les composantes rouge, verte et bleue de chacun de ces pixels.
    Ensuite, j'ouvre un deuxieme formulaire qui est une fenetre OpenGL.
    Je lis alors le fichier .txt et fait correspondre a chaque valeur un dessin (par exemple une glutSolidSphere) d'une certaine couleur a certaines coordonnées.
    Le code qui dessine les spheres est créé dans la boucle qui lit le fichier .txt ligne par ligne.
    Je voulais donc stocker ce code car il faut dessiner plusieurs spheres sur la fenetre OpenGL.
    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
    31
    32
    33
    34
    Public Sub ShowWin()
        Dim b
        BuildTree      'creation of displaylists
        glClear clrColorBufferBit Or clrDepthBufferBit 'clear the screen
        glLoadIdentity
        gluLookAt -20, -20, 0, 0, 0, 0, 0, 0, 1
        glEnable glcDepthTest
        i = 0
        Do While i < 1
            b = 2 * i      'find the coordinates
            gltranslatef -b, b, 0
            glcalllist TreeList      'executes displaylist
            gltranslatef b, -b, 0
            i = i + 1
            TreeList = TreeList + 1      'number generated for the next displaylist
        Loop
        SwapBuffers hDC                                     'show the scene
    End Sub
     
    Private Sub BuildTree()
        TreeList = glgenlists(2)     'empty displaylists
        glnewlist TreeList, lstCompile       'creation of a display list
            glcolor3f 0, 1, 0
            glutsolidsphere 2, 10, 10
        glendlist
    End Sub
     
        Do While Not EOF(1) And i < 2
            Line Input #1, NumberRead      'reads the first two lines
            If (NumberRead > 160) Then
                ShowWin (AlreadyDoneOnce)
            End If
            i = i + 1
        Loop            'DONE 3855 TIMES
    Voila c'est un exemple épuré de mon code, et je ne peux pour l'instant plus progresser a cause de ce probleme de code que je veux stocker (c'est peut-etre une mauvaise idée d'ailleurs).

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Par défaut
    Tu dois faire ta DisplayList une seule fois.

    Lit ton fichier .txt, extrait les données que tu metteras dans un "array" quelconque. Une fois les informations généré, compile ta DisplayList.

    Ensuite dans ta fonction ShowWindow, tu n'aurais que l'appel de ta DisplayList à faire.

    De plus , je suis sur qu'utiliser glGenLists(2) n'efface pas la DisplayList.

    Tu ne fait que générer un nouveau numéro (ou nom) de DisplayList.

Discussions similaires

  1. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  2. Réponses: 2
    Dernier message: 30/05/2002, 08h54
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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