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

DevIL Discussion :

Comment libérer une img en mémoire ( opengl /devIL )?


Sujet :

DevIL

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut Comment libérer une img en mémoire ( opengl /devIL )?
    Bonjour a tous ! Je suis entrain d'essayer de construire une petite classe me permettant de charger des textures. Le chargement ne pose pas( plus ... ) trop de probléme . Par contre je me pose une question : comment libérer de la mémoire une image chargé précédement ( quand je n'en ai plus besoin / quand je veut stocker une autre image a l'id de l'ancienne )

    ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ilGenImages(1,&Id[0]); 
    ilBindImage(Id[0]) ;
    Id[0] = ilutGLLoadImage(path);
    pour le chargement d'une image dans Id[0] Ensuite, admetons que je veuille libéré cette image ; j'ai pensé a faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    iluDeleteImage(Id[0]);
    Mais, même aprés ca, Id[0] contient toujours l'image chargé précédement ! ... j'ai encore du loupé quchsoe moi ... et a priori je n'ai pas trouvé d'exemple parlant a ce sujet sur le web ...

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    Tadam, mi revoili ^^

    Le probléme est a moitié résolu :

    j'ai ajouté une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    glDeleteTextures(1,&Id[0]);
    et hop le tour est joué :p

    Par contre , meme aprés cela, mon Id[0] a toujours sa valeur obtenue aprés chargement de l'image ( 1 dans mon cas car je ne charge qu'une image ) et non " 0 " comme je l'aimerai ....

    edit: bon, je peut ajouter
    Id[0] = 0 ;
    mais ca me parait un peu radical ....enfin si qqun a une facons plus propre a me proposer pour gerer cet aspect de libération de mémoire ( chose dans laquelle je ne suis pas du tout a l'aise .... ) je suis preneur !

Discussions similaires

  1. [Toutes versions] Comment libérer une table "déjà utilisée par une autre personne ou procédure"?
    Par BornToBe dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/04/2012, 10h20
  2. Réponses: 21
    Dernier message: 20/09/2009, 11h50
  3. Comment garder une variable en mémoire...
    Par sam01 dans le forum Langage
    Réponses: 17
    Dernier message: 24/04/2006, 14h02

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