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 :

Problème d'affichage sur certains ordi


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Septembre 2007
    Messages : 267
    Par défaut Problème d'affichage sur certains ordi
    Bonjour,

    J'ai développé un pseudo jeu vidéo en C utilisant la bibliothèque OpenGL. C'est un projet libre pour un cours de robotique.

    Sur mon PC Windows et Linux, tout s'affiche bien et le refresh rate (indiqué en haut a gauche pendant la partie) est autour de 25 donc fluide.

    Le ploblème c'est que lorsque on tourne le jeu sur un autre ordi, soit le refresh rate est de 4 (pas fluide), soit les objets s'affichent mal, soit un objet et la caméra doivent etre proche pour l'afficher correctement ; ou soit les trois.

    J'utilisais Code::Blocks 10.05 sur Windows (je n'ai pas testé l'execution un autre PC linux), j'ai bien linké : glut32 opengl32 glu32 winmm gdi32 "libfmod.a"

    A cette url, vous trouverez "afficher les image" et "visionner la vidéo de présentation" pour voir ce que ca me donne sur mon ordi ''compilateur'', et enfin le jeu a telecharger.

    http://hammoutene.free.fr/amir/project.html#linkrobot


    Quels sont les problèmes a vos avis ?

  2. #2
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 034
    Billets dans le blog
    12
    Par défaut
    Sur mon PC le frame rate est de 29, ce qui n'est quand même pas très élevé pour le nombre de polys apparents.
    Peux-tu montrer tes fonctions de dessin ? (parce que sans ça on va avoir le plus grand mal à t'aider)
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Septembre 2007
    Messages : 267
    Par défaut
    je ne vois pas ce que tu veux dire par fonction dessin. Il y a plus de 3K lignes de code pour ce programme et la plupart servent à dessiner la salle, le robot et les objets

  4. #4
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 034
    Billets dans le blog
    12
    Par défaut
    Utilises-tu glBegin() ... glEnd() ?
    Quelles optimisations GPU utilises-tu (display list, vertex array, VBO, VAO) ?
    Quelle est la configuration des postes sur lesquels tu as ces ralentissements ?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Septembre 2007
    Messages : 267
    Par défaut
    Bonjour,
    oui j'utilise souvent glbegin et glend

    pour la config du PC ou ca ralenti, qu'est ce que je regarde ? je peux te dire que sur l'ordi ou ca ralenti (9 en refresh rate) c un Windows 7 processeur GenuineIntel, 1.30GHz, ram 3Go, 64 bits
    et sur le PC compilateur (35 en refresh rate) c un Windows 7 processeur Intel Core 2 Duo CPU T6600, 2.20GHz, ram 4Go, 64 bits
    les PC ou ca affiche mal les objets je n'ai pas les config

    je ne sais pas bien si ca repond à ta question sur l'optimisation mais je suis allé (sur CodeBlocks) dans Build Option, Release, Compiler setting, Compiler Flags, selection de la liste Optimization et j'ai cela de coché :

    -s et -O2

    bonne fêtes ^^

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Septembre 2007
    Messages : 267
    Par défaut
    voila un bon de mon code :

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    int main(int argc , char **argv)
    {
        FSOUND_Init(44100, 32, 0);
        glutInit(&argc,argv);
        Initialise();  /* Fonction à écrire pour initialiser la machine OpenGL */
        glutKeyboardFunc(Keyboard);
        glutSpecialFunc(SpecialKeyboard);
        glutKeyboardUpFunc(KeyboardUp);
        glutSpecialUpFunc(SpecialKeyboardUp);
        glutDisplayFunc(DrawScene);  /* fonction à appeler avec la fonction principale de rendu à écrire */
        glutReshapeFunc(Resize);
        loadSample(1,"audio/walker.mp3");
        loadSample(2,"audio/batwing.mp3");
        loadSample(3,"audio/car.mp3");
        loadSample(4,"audio/falco.mp3");
        loadSample(5,"audio/pika.mp3");
        loadSample(6,"audio/rabbid.mp3");
        FSOUND_SetVolume (1, 0);
        FSOUND_SetVolume (2, 0);
        FSOUND_SetVolume (3, 0);
        FSOUND_SetVolume (4, 0);
        FSOUND_SetVolume (5, 0);
        FSOUND_SetVolume (6, 0);
        glutMainLoop(); /* Fonction de boucle infinie */
        FSOUND_Close ();
        return 0;
    }
     
    GLvoid Initialise()
    {
        int i;
        glutSetKeyRepeat(GLUT_KEY_REPEAT_OFF);
        for(i=0;i<7;i++) keyPressed[i]=0;
        GLvoid DefineWindow(char *);
        glutInitDisplayMode( GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE );
        DefineWindow("Elbow Manipulator");
        glPointSize(5.f);
        glLineWidth(3.f);
        glEnable(GL_DEPTH_TEST);
        glEnable(GL_BLEND);
        glEnable(GL_POINT_SMOOTH);
        glEnable(GL_LINE_SMOOTH);
        glDisable(GL_CULL_FACE );
        glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
        glPolygonMode(GL_FRONT_AND_BACK,GL_FILL );
        glMaterialf(GL_FRONT_AND_BACK,GL_SHININESS,25.f);
        glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
     
     
     
        DefineLight(4);
        loadView();
     
      glGetFloatv(GL_MODELVIEW_MATRIX, TrMatrix);
     
        OBJallmalloc();
       AF4loaded = ReadOBJModel ("models/Humanoid_Bird_by_FryeLock.obj",AF4);
       AF6loaded = ReadOBJModel ("models/Sonic_by_Dr._MECha.obj",AF6);
       AF5loaded = ReadOBJModel ("models/pikachu_by_Yusuf_ES.obj",AF5);
       AF7loaded = ReadOBJModel ("models/rabbids-ubisoft_by_jondiyolahe.obj",AF7);
       V2loaded = ReadOBJModel ("models/ati_walker_by_Saturnix.obj",V2);
       V3loaded = ReadOBJModel ("models/Batwing_by_crocobaura.obj",V3);
       V5loaded = ReadOBJModel ("models/Hyundai_Coupe_by_petomavar.obj",V5);
     
       Boxloaded = ReadOBJModel ("models/CartonBox_out_by_JCihelka.obj",Box);
       hatloaded = ReadOBJModel ("models/Hat_by_3d_Wanderer.obj",hat);
       sherlockloaded = ReadOBJModel ("models/MagnifyingGlass_by_Will_LaPuerta.obj",sherlock);
    time (&timeold);
    time (&timenow);
        startclock = clock();
     
     
    }
     
    GLvoid Resize(GLsizei WindowWidth , GLsizei WindowHeight  )
    {
        glViewport( 0, 0,WindowWidth , WindowHeight) ;
        ratio = (GLdouble)  WindowWidth /  (GLdouble)WindowHeight;
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        gluPerspective(45.,ratio,0.0001,10.);
        glMatrixMode(GL_MODELVIEW);
     
    }

Discussions similaires

  1. Gros problèmes d'affichage sur écran 16/9
    Par slylafone dans le forum C++Builder
    Réponses: 7
    Dernier message: 25/07/2006, 09h33
  2. Problème d'affichage sur formulaire
    Par PAUL87 dans le forum Access
    Réponses: 3
    Dernier message: 27/06/2006, 23h08
  3. Réponses: 5
    Dernier message: 26/04/2006, 16h36
  4. Problème d'affichage sur un écran 16/9ème
    Par kurul1 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/01/2006, 11h51
  5. [Swing]Problème d'affichage sur un JTree
    Par tomca dans le forum Composants
    Réponses: 4
    Dernier message: 19/01/2006, 10h41

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