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 :

Bizarreries Objets hors champs


Sujet :

OpenGL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut Bizarreries Objets hors champs
    Yop !

    Je me suis rendu compte que j'avais quelques soucis avec les objets n'apparaissant pas tout entier dans le champs de ma caméra.
    Un simple plan n'apparaissant qu'à moitié dans ma scène plombe mon framerate.


    Un objet / 2 faces / 1 texture => 10 FPS de moyenne


    5 objets / 364 faces / 2textures => 20 FPS de moyenne

    Par quelle supercherie cela s'explique t'il?
    Y'a t'il moyen de palier à ce problème?

    Autre probleme, lorsque je dessine mes objets en filaire et qu'un sommet est en dehors du champs de vision de ma caméra, mon objet se dessine n'importe comment, comme si les points en dehors du champs de vision n'étaient plus pris en compte.
    Une idée?

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 155
    Billets dans le blog
    151
    Par défaut
    Bonjour,

    Normalement, les objets en dehors du champs de vision ne vont avoir qu'un problème de coupage ( à cause de la limite du champs de vision ). Sinon ils sont sensé être dessiner correctement.
    Donc j'ose dire que cela vient d'autre chose.

    Pour la chute de FPS, je me demande si votre terrain ne serait pas immensément grand, ou alors la texture n'est pas de dimension puissance de 2 ( 256 , 512 , 1024 ).

    Avec les indices que vous nous avez donner, on ne peut faire que des hypothèses.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut
    Salut LittleWhite , merci pour la réponse.

    En effet, après plusieurs tests il semblerait que le problème du framerate vienne des accès aux textures.
    J'ai le même problème si je dessine un plan de la taille de mon écran (en projection horto) texturé.
    Mais ce même plan simplement coloré ne me pose aucun problème.
    De plus, en rétrécissant la taille de mon plan, les performances remontent.

    Ma texture est bien une puissance de 2 (256*256).

    A noter que j'arrive à récupérer 5 FPS en changeant GL_LINEAR par GL_NEAREST.

    Existe il des moyens moins couteux d'utiliser des objets texturés ?

  4. #4
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Quelle est ta carte graphique ? Es-tu sur d'avoir ta carte graphique detectee par ton systeme d'exploitation ? Quel est ton systeme d'exploitation ? Quelle est la version du driver de ta carte graphique ? etc.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut
    En fait je développe en OpenGL ES, pour terminaux mobiles.

    Ce qui implique que les performances ne vont pas être exceptionnelles mais tout de même...
    J'espère pouvoir utiliser plus de 3 textures avant que mon programme ne devienne injouable

  6. #6
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Dans ce cas une seule solution: mettre toutes les textures dans une seule et modifier les coordonnees de texture en consequence. Mais cela n'explique pas tout de meme pourquoi ton objet est mal dessine quand il est "coupe" par le champ de vu de la camera. Je pencherai a un bug dans le driver OpenGL... mais c'est vraiment un peu gros comme bug... es-tu sur que sur ton terminal des applications 3D ont ete developpees ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    A vue de nez je dirais que tu essayes de dessiner une grosse texture pas mipmappée, et c'est très long. Utilises gluBuild2DMipmaps. (EDIT : ah, 256x256, c'est pas gros pourtant).

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut
    Merci pour vos réponses

    @TanEk :

    Je ne suis pas sur que ça résolve mon problème, sachant que j'ai cette perte de performance dès la première texture.

    @ponce :

    Tu as raison sur un point, je n'utilise pas de mipmap.
    Malheureusement, la seule chose dont la taille est assez importante, c'est mon plan, pas ma texture.
    Je n'ai d'ailleurs aucune différence de performance que j'utilise une texture 256*256 ou 512*512.
    La seule chose qui joue, c'est la taille de l'objet sur lequel elle est appliquée.

  9. #9
    Responsable 2D/3D/Jeux


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 155
    Billets dans le blog
    151
    Par défaut
    Peut on avoir les dimensions du champs de vision ? ( valeurs utilisé dans le gluPerspective ou pour construire la matrice de projection)
    Je pense que si on réduit le far ( et aussi la taille de la scène ) ça marchera mieux. Mais j'en suis pas sur.
    Je crois avoir lu quelque part, qu'il fallait mieux une scène de 1 à 10 que de 10 à 100 ( dans l'exemple je parle ).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut
    Yop !

    J'ai fait un rapide test, je suis passé de 1 / 100 à 1 / 10 sans aucun changement malheureusement.

  11. #11
    Responsable 2D/3D/Jeux


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 155
    Billets dans le blog
    151
    Par défaut
    Citation Envoyé par themoye Voir le message
    Yop !

    J'ai fait un rapide test, je suis passé de 1 / 100 à 1 / 10 sans aucun changement malheureusement.
    En changeant la taille du quad sur lequel la texture est appliquée.

    Sinon votre appareil mobile est vraiment lent, mais ça m'étonne. Ou, peut être qu'il faudrait rétrécir la taille de la texture. Car les portables sont des appareils très limités en mémoire, et il se peut que celle ci dépasse la taille de la mémoire "rapide", et que du coup, il va chercher dans la mémoire "lente".
    Cela ne ferai aucune différence avec une 512x512 car la mémoire "lente" peut être assez grande pour contenir cette texture plus grande. Et donc les accès mémoire sont à peu près les mêmes

    ( Vous pouvez aussi remarquer que ce passage est peut être un grand moment de délire )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. hors champ pris en compte -> width et height
    Par gablikes dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 11/05/2011, 22h26
  2. Comment accéder aux méthodes d'un objet hors de la classe ?
    Par floating_inkpot dans le forum Windows Forms
    Réponses: 0
    Dernier message: 18/04/2010, 21h26
  3. gestion d'évènement hors-champs.
    Par lexgotham dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/12/2007, 14h28
  4. Afficher les objets hors cadre
    Par elfejam dans le forum Flash
    Réponses: 4
    Dernier message: 21/12/2006, 12h08
  5. Recuperer le nom de l'objet du champ en cours.
    Par gregco1 dans le forum Débuter
    Réponses: 3
    Dernier message: 12/02/2006, 14h36

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