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

Développement 2D, 3D et Jeux Discussion :

Jeu 2D : Opengl plus long que la SDL ?


Sujet :

Développement 2D, 3D et Jeux

  1. #21
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    En bref pour profiter d'une quelconque accélération graphique il faut utiliser la ram graphique Sinon tu passe ton temps à faire des transferts ram -> carte graphique qui en temps réel est un véritable bottleneck.

  2. #22
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 617
    Points
    15 617
    Par défaut
    A la décharge de Kannagi, il est vrai que beaucoup de tutoriels (même récent) présente OpenGL avec glBegin/glEnd (c'est la cas par exemple du tutoriel Cours d'introduction à OpenGL et GLUT de Developpez, qui date de 2006)

    J'ai voulu donner à Kannagi des tutos expliquant les bonnes pratiques... et c'est difficile à trouver finalement (en tout cas, une recherche google ne les mets pas en premier ; et il faut déjà s'y connaitre pour savoir ceux qui sont correcte et les autres). Même les tutos de NeHe (qui date, c'est vrai) commence par glBegin/glEnd. La seule chose intéressante est la FAQ Jeux - Optimisation (mais c'est très court)

    Il faudrait peut être remettre à jour les tutos sur Developpez. Ou attendre les prochains tutos en cours (celui de LittleWhite sur les shaders ou le miens sur QtOpenGL)

    @Kannagi
    Pour l'histoire du mode immédiat, tu peux lire le tuto La géométrie en OpenGL : vers les VertexBufferObject

    Pour les méta-textures (une texture qui contient toutes les images), tu peux regarder la FAQ Comment et pourquoi utiliser une meta-texture? (qui montre aussi du code avec glBegin/glEnd... )


    Bref, il y a beaucoup de chose... mais la difficulté est de les trouver

  3. #23
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 225
    Points : 10 168
    Points
    10 168
    Par défaut
    Bah merci de tous vos conseils , et surtout de m'indiquer les erreur a pas faire (faudrait mettre a jour les tuto opengl ~~).

    Je vais lire tous ça et je vous tiendrai au courant =P

    Ah je viens de remarquer que je supporte que opengl 1.1 ~~

  4. #24
    Invité
    Invité(e)
    Par défaut
    Les pires cartes Intel que j'ai rencontré supportaient 1.3.

    Pour moi ça veut dire que tu n'as peut-être pas les drivers OpenGL "corrects" de ta carte graphique mais tu as l'implémentation 1.1 qui vient avec Windows.

    Attention les gens qui joueront à ton jeu n'auront peut-être pas leurs drivers eux aussi, donc si tu as deux moteurs de rendus tu pourrais leur donner le choix entre les deux (où regarder le GL_VERSION).

    Celà dit : j'ai vu le jeu et je ne vois pas trop pourquoi tu veux utiliser OpenGL au lieu de rester sur SDL. Si ton framerate est au dessus de la fréquence de rafraichissement avec SDL, tu gagnes quoi ?

  5. #25
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 896
    Points : 219 544
    Points
    219 544
    Billets dans le blog
    125
    Par défaut
    De mon point de vue, l'utilisation d'OpenGL avec des glBegin() / glEnd() ne pose pas vraiment de problème (on peut facilement dessiner un tas de trucs ... sans que cela rame pour autant).

    Par contre, l'architecture du programme est douteuse. d'abord, nous ne sommes pas sur à 100% que le port SDL -> OpenGL est correct (notamment sur l'utilisation d'OpenGL). Déjà, il y a plus de 20 fichiers images (et perso, je n'ai jamais testé le chargement d'autant de textures dans OpenGL). De plus, elle ne sont pas power of two (hola je reviens encore là dessus, mais c'est que sur une ATI cela m'avait posé plein de problème (notamment, l'envoler du CPU)).

    Un autre point qui peut être intéressant de regarder, c'est sur les techniques de profiling (profilage ?). Et oui, ici nous avons un problème de performance, et rien pour savoir d'où il peut venir . gprof aurait pu aidé, mais je crois savoir que Kannagi travaille sur Windows (Visual Studio donne aussi de bons outils de profiling )

    Et finalement, le code donné ne montre pas tout. Notamment un truc que je vois du coté d'OpenGL qui me choque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MNS_Fenetre(largeur,hauteur,fullscreen);
    et ça dans la boucle principale ... mais bizarrement, comme il y a GLUT, je ne comprends pas pourquoi cela est là

  6. #26
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 225
    Points : 10 168
    Points
    10 168
    Par défaut
    Citation Envoyé par ponce Voir le message
    Attention les gens qui joueront à ton jeu n'auront peut-être pas leurs drivers eux aussi, donc si tu as deux moteurs de rendus tu pourrais leur donner le choix entre les deux (où regarder le GL_VERSION).

    Celà dit : j'ai vu le jeu et je ne vois pas trop pourquoi tu veux utiliser OpenGL au lieu de rester sur SDL. Si ton framerate est au dessus de la fréquence de rafraichissement avec SDL, tu gagnes quoi ?
    Je pense que je vais faire ça donner 2 version au choix (vu que le portage est pas compliqué).
    Je voulais une version Opengl pour profiter de accélération matériel , et donc permettre une plus grosse résolution (et a la limite mettre le fond en 3D ).

    Citation Envoyé par LittleWhite Voir le message
    Par contre, l'architecture du programme est douteuse. d'abord, nous ne sommes pas sur à 100% que le port SDL -> OpenGL est correct (notamment sur l'utilisation d'OpenGL). Déjà, il y a plus de 20 fichiers images (et perso, je n'ai jamais testé le chargement d'autant de textures dans OpenGL). De plus, elle ne sont pas power of two (hola je reviens encore là dessus, mais c'est que sur une ATI cela m'avait posé plein de problème (notamment, l'envoler du CPU)).

    Un autre point qui peut être intéressant de regarder, c'est sur les techniques de profiling (profilage ?). Et oui, ici nous avons un problème de performance, et rien pour savoir d'où il peut venir . gprof aurait pu aidé, mais je crois savoir que Kannagi travaille sur Windows (Visual Studio donne aussi de bons outils de profiling )

    Et finalement, le code donné ne montre pas tout. Notamment un truc que je vois du coté d'OpenGL qui me choque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MNS_Fenetre(largeur,hauteur,fullscreen);
    et ça dans la boucle principale ... mais bizarrement, comme il y a GLUT, je ne comprends pas pourquoi cela est là
    Les image sont bien en puissance de 2 , j'ai fait un redimensionnement pendant le chargement.
    Cette fonction est une fonction pour gérer la fenêtre avec freeglut (et donc rien a voir avec opengl),le 3eme paramètre est une option , fullscreen = 0 pour désactiver le redimensionnement de la fenêtre,1 pour le fullscreen , et le reste par défaut.

    Sinon je travaille principalement sur windows mais je préfère code block, c'est plus simple pour pouvoir compiler aussi sur linux (en file sur le projet code block =P).

  7. #27
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 896
    Points : 219 544
    Points
    219 544
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par Kannagi Voir le message
    Cette fonction est une fonction pour gérer la fenêtre avec freeglut (et donc rien a voir avec opengl),le 3eme paramètre est une option , fullscreen = 0 pour désactiver le redimensionnement de la fenêtre,1 pour le fullscreen , et le reste par défaut.
    Et quelle sont les fonctions GLUT ou OpenGL qui sont appelé à l'interieur ?

  8. #28
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 225
    Points : 10 168
    Points
    10 168
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Et quelle sont les fonctions GLUT ou OpenGL qui sont appelé à l'interieur ?
    Comme je l'ai dit aucun appel de opengl , j'appelle les fonction freeglut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    glutReshapeFunc(&MNS_Reshape);
    glutDisplayFunc(&MNS_Display);
    glutLeaveMainLoop();
    glViewport(0,0,largeur,hauteur);
    glutReshapeWindow(w,h);
    Mais si tu te pose la question meme en les enlevant çafait pas baisser mon CPU (vu que j'appelle pas opengl).

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/11/2008, 17h26
  2. Réponses: 3
    Dernier message: 11/04/2008, 11h19
  3. Un type plus long que le type "double"
    Par savoir dans le forum Débuter
    Réponses: 5
    Dernier message: 09/04/2008, 15h05
  4. souligner plus long que le texte
    Par Samyhijodelaluna dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/03/2007, 14h23
  5. tyoe d'entier plus long que 32 bits
    Par LIMODIN dans le forum MFC
    Réponses: 4
    Dernier message: 13/01/2004, 20h08

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