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 :

Optimisation d'affichage de textures


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Par défaut Optimisation d'affichage de textures
    Bonjour à tous,
    je me retrouve confronté à un léger problème mais qui risque de devenir très dérangeant pour la suite...
    Voilà tout, je charge une texture de type carte vue du ciel dans une scène openGL (à l'aide d'un contrôleur activeX, en MFC) mais cette texture a un léger flou. En effet, j'utilise gluBuild2DMipmaps pour charger la texture et je charge le fichier bitmap (enregistré en 24bits) de 996*660 avec la SDL (IMG_Load).

    L'image au final est plus flou que l'originale, et ça pourrait devenir désagréable par la suite. J'ai vu qu'on pouvait venir modifier les paramètres de chargement avec glTexParameter, qui étaient sur GL_LINEAR. En passant sur GL_NEAREST, la texture devient "pixélisée" ce qui est encore moins bien...
    Il m'est impossible d'arriver à me servir de glTexImage2D qui ne m'affiche rien (même si je donne une texture de 512*512)...J'aurais pensé qu'avec cette fonction je pourrais enlever le MipMap car je pense que le problème vient de là.

    Je pourrai fournir du code et des screenshot si besoin (pas avant demain).

    Merci beaucoup par avance,
    Cordialement.

  2. #2
    Membre expérimenté Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Par défaut
    Un petit Up pour si quelqu'un connait un début de solution

    Au passage,j'ai un autre soucis avec la caméra cette fois-ci.
    Je dessine en 2 dimensions j'ai donc décidé d'utiliser une caméra en ortho, et donc je translate ma scène vers le fond et je n'utilise pas de gluLookAt.

    L'openGL est dessiné à travers un contrôleur activeX (en MFC ...).
    A l'ouverture tout se déroule bien, mais lorsque je veux le redimensionner le centre reste là où il se trouvait, donc ma scène ne suit pas le redimensionnement...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    glViewport(0, 0, iScreenWidth,iScreenHeight);
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        glOrtho(-iScreenWidth/2,iScreenWidth/2,-iScreenHeight/2,iScreenHeight/2,1,1000);
        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();
    Avec iScreenWidth,iScreenHeight les entiers représentant les coordonnées de mon contrôleur.
    Si quelqu'un a une idée...
    Merci par avance,
    Cdlt.

  3. #3
    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
    Est-ce que ce code est appele a chaque fois que la fenetre est redimensionnee ?

  4. #4
    Membre expérimenté Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Par défaut
    Oui, j'ai plutôt l'impression que le problème se situe ailleurs mais je vois pas pour quelle raison...

    Le plus bizarre c'est qu'après avoir redimensionner l'activeX qui ne va pas se mettre comme il faudrait je "sauvegarde" mon activeX avec sa nouvelle taille et à la ré-ouverture la scène est bien dimensionnée...
    Comme si il passe quelque part au démarrage mais plus après...

    J'ai d'autres activeX qui se redimensionnent parfaitement (en ortho et en perspective) en ayant un code similaire.

  5. #5
    Membre expérimenté Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Par défaut
    J'ai essayé de déplacer le glOrtho dans ma routine de dessin, rien n'y fait...

    Edit: Ah ben si! Dans le draw ça fonctionne

    Il me reste le problème de texture floue

  6. #6
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Bjr,

    Les indications ici peuvent peut-être t'aider ?
    http://jeux.developpez.com/faq/3d/?p..._sprites_flous

Discussions similaires

  1. Pas d'affichage de texture sur certains PC
    Par octopus984 dans le forum GLUT
    Réponses: 7
    Dernier message: 19/04/2005, 13h22
  2. Probleme d affichage de texture
    Par venomelektro dans le forum OpenGL
    Réponses: 1
    Dernier message: 27/09/2004, 15h07
  3. affichage de textures
    Par khayyam90 dans le forum OpenGL
    Réponses: 3
    Dernier message: 05/07/2004, 10h31
  4. Optimiser l'affichage d'un fichier XML de grosse taille...
    Par UnPeuPerdu dans le forum XML/XSL et SOAP
    Réponses: 11
    Dernier message: 03/06/2004, 16h01

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