Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fenêtre noire, avec opengl

    10 juin 2008 à 23:07:52

    Salut. J'ai voulu tester la programmation avec opengl, alors j'ai copié une source du feu tutoriel de Kayl, j'ai pris le programme qui génère un cube, mais ça ne marche avec aucun de toute façon.
    Pour compiler, j'ai utilisé g++ avec ces arguments : g++ -Wall -lSDL -lGLU -lGL main.cpp -o x
    Lors de la compilation et de l'exécution, je n'ai aucune erreur.J"obtiens une fenêtre noire, mais pas de cube...

    Pour info voici le code :

    /* main.cpp */
    
    #include <SDL/SDL.h>
    #include <GL/gl.h>
    #include <GL/glu.h>
    #include <cstdlib>
    
    void Dessiner();
    
    double angleZ = 0;
    double angleX = 0;
    
    int main(int argc, char *argv[])
    {
        SDL_Event event;
    
        SDL_Init(SDL_INIT_VIDEO);
        atexit(SDL_Quit);
        SDL_WM_SetCaption("SDL GL Application", NULL);
        SDL_SetVideoMode(640, 480, 32, SDL_OPENGL);
    
        glMatrixMode( GL_PROJECTION );
        glLoadIdentity();
        gluPerspective(70,(double)640/480,1,1000);
    
        glEnable(GL_DEPTH_TEST);
    
        Dessiner();
    
        Uint32 last_time = SDL_GetTicks();
        Uint32 current_time,ellapsed_time;
        Uint32 start_time;
    
        for (;;)
        {
            start_time = SDL_GetTicks();
            while (SDL_PollEvent(&event))
            {
    
                switch(event.type)
                {
                    case SDL_QUIT:
                    exit(0);
                    break;
                }
            }
    
            current_time = SDL_GetTicks();
            ellapsed_time = current_time - last_time;
            last_time = current_time;
    
            angleZ += 0.05 * ellapsed_time;
            angleX += 0.05 * ellapsed_time;
    
            Dessiner();
    
            ellapsed_time = SDL_GetTicks() - start_time;
            if (ellapsed_time < 10)
            {
                SDL_Delay(10 - ellapsed_time);
            }
    
        }
    
        return 0;
    }
    
    void Dessiner()
    {
        glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
    
        glMatrixMode( GL_MODELVIEW );
        glLoadIdentity( );
    
        gluLookAt(3,4,2,0,0,0,0,0,1);
    
        glRotated(angleZ,0,0,1);
        glRotated(angleX,1,0,0);
    
        glBegin(GL_QUADS);
    
        glColor3ub(255,0,0); //face rouge
        glVertex3d(1,1,1);
        glVertex3d(1,1,-1);
        glVertex3d(-1,1,-1);
        glVertex3d(-1,1,1);
    
        glColor3ub(0,255,0); //face verte
        glVertex3d(1,-1,1);
        glVertex3d(1,-1,-1);
        glVertex3d(1,1,-1);
        glVertex3d(1,1,1);
    
        glColor3ub(0,0,255); //face bleue
        glVertex3d(-1,-1,1);
        glVertex3d(-1,-1,-1);
        glVertex3d(1,-1,-1);
        glVertex3d(1,-1,1);
    
        glColor3ub(255,255,0); //face jaune
        glVertex3d(-1,1,1);
        glVertex3d(-1,1,-1);
        glVertex3d(-1,-1,-1);
        glVertex3d(-1,-1,1);
    
        glColor3ub(0,255,255); //face cyan
        glVertex3d(1,1,-1);
        glVertex3d(1,-1,-1);
        glVertex3d(-1,-1,-1);
        glVertex3d(-1,1,-1);
    
        glColor3ub(255,0,255); //face magenta
        glVertex3d(1,-1,1);
        glVertex3d(1,1,1);
        glVertex3d(-1,1,1);
        glVertex3d(-1,-1,1);
    
        glEnd();
    
        glFlush();
        SDL_GL_SwapBuffers();
    }
    


    Sinon, j'ai l'accélération 3D matérielle qui fonctionne, et d'ailleurs, la compilation du glxgears (démo d'opengl) ne me donne aucune erreur, et cette fois ci, le programme fonctionne :)

    glxgears.c : http://rafb.net/p/mHODWx69.html
    • Partager sur Facebook
    • Partager sur Twitter
      10 juin 2008 à 23:22:23

      brrrr.... un communiste rouge qui appelle a la révolution...
      ça ne me donne pas envie de répondre. C'est dommage, j'aime bien les sujets sur OpenGL.
      • Partager sur Facebook
      • Partager sur Twitter

      Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

        10 juin 2008 à 23:25:16

        Bah, de toute façon, tu es nul en openGL, en programmation en général.
        • Partager sur Facebook
        • Partager sur Twitter
          10 juin 2008 à 23:28:14

          Tout a fait, je suis nul en OpenGL, c'est pour cela que je l'utilise depuis de nombreuses années, et que j'ai de quoi le prouver, si tu daignes cliquer sur mes liens, dans ma signature.

          C'est aussi pour ça que je suis employé comme ingénieur en informatique, et qu'un fou me donne un bon salaire pour programmer toute la journée : parce que je suis nul en programmation !

          EDIT : a ce propos, j'ai trouvé d'ou peut venir ton erreur. Mais on n'est pas fait pour etre copain.
          • Partager sur Facebook
          • Partager sur Twitter

          Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

            10 juin 2008 à 23:39:20

            Fvirtman, je te demande pas d'être copain, juste de ne pas juger les gens sur un vieux avatar à 3 sous...
            Et je doute pas de tes capacités en programmation.

            Citation : Pas de titre

            EDIT : a ce propos, j'ai trouvé d'ou peut venir ton erreur. Mais on n'est pas fait pour etre copain.


            Nan mais c'est bon hein je pense pas que tu sois le seul qui puisse m'aider sur le siteduzero.
            • Partager sur Facebook
            • Partager sur Twitter
              10 juin 2008 à 23:43:13

              Je sais que quelqu'un d'autre te répondra, t'en fait pas coco, tu l'auras ta réponse.

              Tu ne doutes pas de mes capacités en prog, et pourtant au dessus, tu affirmes que je suis nul en prog ?

              A la base, je partais sur une boutade, avec ma premiere remarque, mais bon...
              Tu sais, quoi, on va en rester la. Bonne continuation.
              • Partager sur Facebook
              • Partager sur Twitter

              Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                11 juin 2008 à 0:32:28

                Fvirtman : c'est pas moi qui ai commencé (à dire des fausses vérités).

                Si quelqu'un a une idée... :/

                (ps, j'imagine que tu l'as remarqué, mais on sait jamais, mon avatar est une parodie d'une affiche de propagande pour l'urss... Ca représente le marteau qui casse le logo de windows, c'est à dire aucun rapport avec le communisme, seulement un appel à utiliser les logiciels libres)
                • Partager sur Facebook
                • Partager sur Twitter
                  11 juin 2008 à 16:24:09

                  Pourquoi l'instruction de la ligne 72 ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 juin 2008 à 16:55:03

                    magnanime > ça ne vient pas de la : il sélectionne la matrice MODELVIEW pour le rendu. Cela est fondamental au moins pour la premiere fois, car sinon, la selection restait sur GL_PROJECTION.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                    Anonyme
                      12 juin 2008 à 15:20:55

                      Citation : Fvirtman

                      brrrr.... un communiste rouge qui appelle a la révolution...
                      ça ne me donne pas envie de répondre. C'est dommage, j'aime bien les sujets sur OpenGL.


                      Ce genre de message on peut s'en passer, merci d'éviter à l'avenir.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        13 juin 2008 à 17:07:21

                        j'ai la même emmerde et personne a jamais voulu me donner une silice qui fonctionne. Le truc avec glxgears, moi aussi, il fonctionne chez moi. Donc, j'ai été obligé de choisir entre glut ... Et comme il me semble avoir a faire a un linuxien ici ... Glx.

                        Bon, le problème, c'est que glut avec son système de callbacks ne permet pas une programmation sans variables globale et que glx n'est pas portable ... Euh ... Essaye sfml, mais bizarement, chez moi, sfml foire dès que je fait apparaître une fenêtre et la aussi, jamais eu de soluces. Y parrait que c'est encore un truc avec opengl.

                        Bref, moi j'ai fini avec glx, mais le problème de portabilité est énorme. Il faut a chaque fois ce reservir de la librairie bas niveau de l'os. C'est a dire api win 32 et wgl pour windows, cocoa et agl pour mac ...

                        C'est chiant mais sa fonctionne.

                        @ fivterman > aller donne lui la soluce ... Moi aussi je suis intéressé ça fait 6 mois que je suis avec glx... Et je prefererai vachement faire dans le portable ! C'est souvent mieux quand on est sous linux !
                        • Partager sur Facebook
                        • Partager sur Twitter
                          13 juin 2008 à 20:33:42

                          Merci :) Moi je me fous de pouvoir rendre le code portable, jveux juste voir vite fait :)
                          Mais le problème c'est que g++ me dit que glx n'est pas présent (j'ai essayé -lGLX et -lglx), donc j'ai cherché une lib avec emerge (je suis sous gentoo) avec le terme "glx" , mais rien de rien mis à part games-fps/glxquake-bin x11-misc/rss-glx ...
                          D'habitude, j'ai droit à un dev-libs/gmp ou media-libs/libsdl ...
                          T'as une idée ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            14 juin 2008 à 7:44:16

                            ben euh ... sudo apt-get install x11-libs-dev ? Ah mais c'est gentoo ! Bon cherche un peut dans ton emerge libs-dev-x11, ou un truc du genre. Perso, je connais surtout debian. Gentoo, je connais pas bien,

                            Y'a pas un forum? Si il me semble... En attendant, bonne recompilation !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              14 juin 2008 à 12:29:42

                              Bon de toute façon, glx est déjà installé, vu que je compile glxgears sans problèmes.
                              J'ai essayé de bidouiller le main.cpp en virant les deux fonctions faisant appel à glut (gluPerspective(70,(double)640/480,1,1000); et gluLookAt(3,4,2,0,0,0,0,0,1);) à tout hasard, et avec cette entête :

                              #include <SDL/SDL.h>
                              #include <GL/glx.h>
                              //#include <GL/glu.h>
                              #include <cstdlib>

                              En linkant -lSDL et -lGL. J'ai aucune erreur, mais toujours rien ne s'affiche. (Pour info j'ai pas besoin de linker glx ou quoi que ce soit avec glxgears, juste -lGL)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                14 juin 2008 à 12:40:49

                                essaye avec la sfml, parceque chez moi, ça marche que ça soit sous windows ou sous linux, et elle facilite grandement la tache! par exemple pour charger ue texture, inutile de se perdre la tete:
                                sf::Image texture;
                                texture.LoadFromFile("il.jpg");
                                texture.Bind();
                                et hop :D
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  14 juin 2008 à 12:58:06

                                  Quelle est l'erreur avec la SFML?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    14 juin 2008 à 13:34:29

                                    J'ai pris un code au pif sur le tuto opengl, j'ai pas envie d'apprendre la sfml pour ça... Et la sdl marche très bien (c'est opengl qui ne fonctionne pas. Enfin si, mais pas avec mon programme)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      14 juin 2008 à 13:41:23

                                      essaye ce code avec la SFML:
                                      ////////////////////////////////////////////////////////////
                                      // Headers
                                      ////////////////////////////////////////////////////////////
                                      #include <SFML/Window.hpp>
                                      #include <GL/gl.h>
                                      #include <GL/glu.h>
                                      
                                      
                                      ////////////////////////////////////////////////////////////
                                      /// Entry point of application
                                      ///
                                      /// \return Application exit code
                                      ///
                                      ////////////////////////////////////////////////////////////
                                      int main()
                                      {
                                          // Create the main window
                                          sf::Window App(sf::VideoMode(800, 600, 32), "SFML OpenGL");
                                      
                                          // Create a clock for measuring time elapsed
                                          sf::Clock Clock;
                                      
                                          // Set color and depth clear value
                                          glClearDepth(1.f);
                                          glClearColor(0.f, 0.f, 0.f, 0.f);
                                      
                                          // Enable Z-buffer read and write
                                          glEnable(GL_DEPTH_TEST);
                                          glDepthMask(GL_TRUE);
                                      
                                          // Setup a perspective projection
                                          glMatrixMode(GL_PROJECTION);
                                          glLoadIdentity();
                                          gluPerspective(90.f, 1.f, 1.f, 500.f);
                                      
                                          // Start game loop
                                          bool Running = true;
                                          while (Running)
                                          {
                                              // Process events
                                              sf::Event Event;
                                              while (App.GetEvent(Event))
                                              {
                                                  // Close window : exit
                                                  if (Event.Type == sf::Event::Closed)
                                                      Running = false;
                                      
                                                  // Escape key : exit
                                                  if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
                                                      Running = false;
                                      
                                                  // Resize event : adjust viewport
                                                  if (Event.Type == sf::Event::Resized)
                                                      glViewport(0, 0, Event.Size.Width, Event.Size.Height);
                                              }
                                      
                                              // Set the active window before using OpenGL commands
                                              // It's useless here because active window is always the same,
                                              // but don't forget it if you use multiple windows or controls
                                              App.SetCurrent();
                                      
                                              // Clear color and depth buffer
                                              glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
                                      
                                              // Apply some transformations
                                              glMatrixMode(GL_MODELVIEW);
                                              glLoadIdentity();
                                              glTranslatef(0.f, 0.f, -200.f);
                                              glRotatef(Clock.GetElapsedTime() * 50, 1.f, 0.f, 0.f);
                                              glRotatef(Clock.GetElapsedTime() * 30, 0.f, 1.f, 0.f);
                                              glRotatef(Clock.GetElapsedTime() * 90, 0.f, 0.f, 1.f);
                                      
                                              // Draw a cube
                                              glBegin(GL_QUADS);
                                      
                                                  glVertex3f(-50.f, -50.f, -50.f);
                                                  glVertex3f(-50.f,  50.f, -50.f);
                                                  glVertex3f( 50.f,  50.f, -50.f);
                                                  glVertex3f( 50.f, -50.f, -50.f);
                                      
                                                  glVertex3f(-50.f, -50.f, 50.f);
                                                  glVertex3f(-50.f,  50.f, 50.f);
                                                  glVertex3f( 50.f,  50.f, 50.f);
                                                  glVertex3f( 50.f, -50.f, 50.f);
                                      
                                                  glVertex3f(-50.f, -50.f, -50.f);
                                                  glVertex3f(-50.f,  50.f, -50.f);
                                                  glVertex3f(-50.f,  50.f,  50.f);
                                                  glVertex3f(-50.f, -50.f,  50.f);
                                      
                                                  glVertex3f(50.f, -50.f, -50.f);
                                                  glVertex3f(50.f,  50.f, -50.f);
                                                  glVertex3f(50.f,  50.f,  50.f);
                                                  glVertex3f(50.f, -50.f,  50.f);
                                      
                                                  glVertex3f(-50.f, -50.f,  50.f);
                                                  glVertex3f(-50.f, -50.f, -50.f);
                                                  glVertex3f( 50.f, -50.f, -50.f);
                                                  glVertex3f( 50.f, -50.f,  50.f);
                                      
                                                  glVertex3f(-50.f, 50.f,  50.f);
                                                  glVertex3f(-50.f, 50.f, -50.f);
                                                  glVertex3f( 50.f, 50.f, -50.f);
                                                  glVertex3f( 50.f, 50.f,  50.f);
                                      
                                              glEnd();
                                      
                                              // Finally, display rendered frame on screen
                                              App.Display();
                                          }
                                      
                                          return EXIT_SUCCESS;
                                      }
                                      
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        14 juin 2008 à 14:07:29

                                        Bon évidemment sfml n'est pas dans portage, donc je dois me taper le téléchargement de l'archive à la main, avec ses lib et include. Evidemment, je n'y connais rien... J'ai créé un dossier /usr/lib SFML et j'ai copié le contenu de l'archive dedans, mais je sais pas si c"est ce qu'il faut faire.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          14 juin 2008 à 15:16:47

                                          zero ptt :
                                          Ton code fonctionne merci.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            14 juin 2008 à 15:21:06

                                            Pour compiler le code du dessus:
                                            g++ main.cpp -o exe -lsfml-windows -lsfml-system
                                            [remplace main.cpp par le nom de ton fichier]
                                            Enfin, ma remarque s'addressait plutôt à Pierre_24 avec qui SFML ne marche pas.
                                            Fonctionne dans le sens que ça affiche autre chose que du noir?

                                            Faire :
                                            export LIBGL_DEBUG=verbose
                                            dans une console, ça permet d'afficher les problèmes d'OpenGL.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              14 juin 2008 à 15:26:51

                                              si mon code fonctionne, ça veux dire que tu peux utiliser la SFML pour le fenetrage ;)
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                14 juin 2008 à 15:38:20

                                                Ok... Enfin le problème vient d'opengl non ?
                                                Bien j'ai téléchargé le zip sur la caméra freefly (avec une scène...). Donc j'ai tapé make, il n'y pas d'erreurs (et pas d'avertissements).
                                                Ensuie j'ai utilisé le mode verbose avec opengl, comme l'a dit Pole, et voici ce que me retourne l'exécution du programme :

                                                boris ~/programmation/opengl/sdlgl % ./sdlgl_09_freefly 
                                                libGL: XF86DRIGetClientDriverName: 5.2.0 radeon (screen 0)
                                                libGL: OpenDriver: trying /usr/lib/dri/tls/radeon_dri.so
                                                libGL: OpenDriver: trying /usr/lib/dri/radeon_dri.so
                                                drmOpenDevice: node name is /dev/dri/card0
                                                drmOpenDevice: open result is 5, (OK)
                                                drmOpenByBusid: Searching for BusID pci:0000:01:00.0
                                                drmOpenDevice: node name is /dev/dri/card0
                                                drmOpenDevice: open result is 5, (OK)
                                                drmOpenByBusid: drmOpenMinor returns 5
                                                drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
                                                libGL error: 
                                                Can't open configuration file /etc/drirc: No such file or directory.
                                                libGL error: 
                                                Can't open configuration file /home/boris/.drirc: No such file or directory.
                                                Vertex3f: 1
                                                Normal3f: 1
                                                TexCoord2f: 1


                                                Je ne comprends pas l'erreur ? C'est quoi ce fichier drirc ?
                                                Merci :)

                                                glxinfo :

                                                name of display: :0.0
                                                display: :0  screen: 0
                                                direct rendering: Yes
                                                server glx vendor string: SGI
                                                server glx version string: 1.2
                                                server glx extensions:
                                                    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
                                                    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
                                                    GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control, 
                                                    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
                                                client glx vendor string: SGI
                                                client glx version string: 1.4
                                                client glx extensions:
                                                    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
                                                    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
                                                    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 
                                                    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, 
                                                    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
                                                    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
                                                    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
                                                GLX version: 1.2
                                                GLX extensions:
                                                    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
                                                    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
                                                    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 
                                                    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
                                                    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
                                                OpenGL vendor string: Tungsten Graphics, Inc.
                                                OpenGL renderer string: Mesa DRI Radeon 20061018 AGP 1x x86/MMX/SSE2 TCL
                                                OpenGL version string: 1.3 Mesa 6.5.2
                                                OpenGL extensions:
                                                    GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture, 
                                                    GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 
                                                    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 
                                                    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
                                                    GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, 
                                                    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_window_pos, 
                                                    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_logic_op, 
                                                    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, 
                                                    GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture, 
                                                    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_histogram, 
                                                    GL_EXT_packed_pixels, GL_EXT_polygon_offset, GL_EXT_rescale_normal, 
                                                    GL_EXT_secondary_color, GL_EXT_separate_specular_color, 
                                                    GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 
                                                    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
                                                    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
                                                    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, 
                                                    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, 
                                                    GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels, 
                                                    GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once, 
                                                    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
                                                    GL_MESA_ycbcr_texture, GL_MESA_window_pos, GL_NV_blend_square, 
                                                    GL_NV_light_max_exponent, GL_NV_texture_rectangle, 
                                                    GL_NV_texgen_reflection, GL_OES_read_format, GL_SGI_color_matrix, 
                                                    GL_SGI_color_table, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 
                                                    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod
                                                
                                                   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
                                                 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
                                                ----------------------------------------------------------------------
                                                0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
                                                0x24 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
                                                0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
                                                0x26 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
                                                0x27 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
                                                0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
                                                0x29 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
                                                0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
                                                0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
                                                0x2c 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
                                                0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
                                                0x2e 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
                                                0x2f 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
                                                0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
                                                0x31 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
                                                0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow


                                                les erreurs qu'il donne au passage (glxgears les donne aussi), grâce au verbose :

                                                libGL: XF86DRIGetClientDriverName: 5.2.0 radeon (screen 0)
                                                libGL: OpenDriver: trying /usr/lib/dri/tls/radeon_dri.so
                                                libGL: OpenDriver: trying /usr/lib/dri/radeon_dri.so
                                                drmOpenDevice: node name is /dev/dri/card0
                                                drmOpenDevice: open result is 4, (OK)
                                                drmOpenByBusid: Searching for BusID pci:0000:01:00.0
                                                drmOpenDevice: node name is /dev/dri/card0
                                                drmOpenDevice: open result is 4, (OK)
                                                drmOpenByBusid: drmOpenMinor returns 4
                                                drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
                                                libGL error: 
                                                Can't open configuration file /etc/drirc: No such file or directory.
                                                libGL error: 
                                                Can't open configuration file /home/boris/.drirc: No such file or directory.


                                                et glxgears :
                                                401 frames in 5.0 seconds = 80.096 FPS
                                                399 frames in 5.0 seconds = 79.642 FPS
                                                399 frames in 5.0 seconds = 79.639 FPS
                                                399 frames in 5.0 seconds = 79.647 FPS


                                                Mais glxgears, je l'ai fait tout à l'heure, et j'avais plus de 2000 FPS... (WTF ?)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  14 juin 2008 à 16:51:10

                                                  Installe driconf (sudo apt-get install driconf) et configure ce qu'il faut.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    14 juin 2008 à 18:36:14

                                                    Bon j'ai installé le driconf (qui me semble bien inutile en gtk pour ce ptit truc mais bon...). J'ai laissé les options par défaut et j'ai fait un lien symbolique de /etc/drirc sur /home/boris/.drirc
                                                    J'ai ceci :

                                                    boris ~/programmation/opengl/sdlgl % ./sdlgl_09_freefly 
                                                    libGL: XF86DRIGetClientDriverName: 5.2.0 radeon (screen 0)
                                                    libGL: OpenDriver: trying /usr/lib/dri/tls/radeon_dri.so
                                                    libGL: OpenDriver: trying /usr/lib/dri/radeon_dri.so
                                                    drmOpenDevice: node name is /dev/dri/card0
                                                    drmOpenDevice: open result is 5, (OK)
                                                    drmOpenByBusid: Searching for BusID pci:0000:01:00.0
                                                    drmOpenDevice: node name is /dev/dri/card0
                                                    drmOpenDevice: open result is 5, (OK)
                                                    drmOpenByBusid: drmOpenMinor returns 5
                                                    drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
                                                    Vertex3f: 1
                                                    Normal3f: 1
                                                    TexCoord2f: 1


                                                    Y a pas d'erreurs (à priori) mais évidemment, toujours une fenêtre noire... :(
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      14 juin 2008 à 18:46:50

                                                      Tu as quelle carte graphique?
                                                      Recherche dans ce qu'il y a affiché par dmesg des erreurs.
                                                      Et dans les logs Xorg : grep EE /var/log/Xorg.0.log.* et grep WW /var/log/Xorg.0.log.*
                                                      Pour info, ce problème n'a l'air de concerner que les cartes ATI.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        14 juin 2008 à 19:56:58

                                                        J'ai une ATI radeon mobility 7500 LW.

                                                        dmesg :
                                                        http://rafb.net/p/CE4rd932.html

                                                        Les logs :
                                                        boris ~ % grep EE /var/log/Xorg.0.log.*
                                                                (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
                                                        (II) Loading extension MIT-SCREEN-SAVER
                                                        boris ~ % grep WW /var/log/Xorg.0.log.*
                                                                (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
                                                        (WW) The directory "/usr/share/fonts/TTF/" does not exist.
                                                        (WW) The directory "/usr/share/fonts/OTF" does not exist.
                                                        (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/util".
                                                        (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/cyrillic".
                                                        (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/default".
                                                        (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/encodings".
                                                        (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
                                                        (WW) RADEON(0): Failed to detect secondary monitor, MergedFB/Clone mode disabled
                                                        (WW) RADEON(0): DRI init changed memory map, adjusting ...
                                                        (WW) RADEON(0):   MC_FB_LOCATION  was: 0xe3ffe000 is: 0xe3ffe000
                                                        (WW) RADEON(0):   MC_AGP_LOCATION was: 0xffffffc0 is: 0xe87fe800
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x23
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x24
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x25
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x26
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x27
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x28
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x29
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x2a
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x2b
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x2c
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x2d
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x2e
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x2f
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x30
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x31
                                                        (WW) AIGLX: 3D driver claims to not support visual 0x32
                                                        (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)


                                                        Mais les jeux utilisant opengl marchent (openarena, neverball, sauerbraten, postal2...). Enfin, pas frets on fire mais bon. Il n'affiche rien, juste un fond rouge, et la musique marche. Je peux quitter avec échap.
                                                        http://rafb.net/p/TpMgtc55.html
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Fenêtre noire, avec opengl

                                                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                        • Editeur
                                                        • Markdown