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 :

Comment passer toutes mes textures dans glDeleteTextures ?


Sujet :

OpenGL

  1. #1
    Membre du Club
    Homme Profil pro
    Agronome
    Inscrit en
    Septembre 2018
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Agronome
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2018
    Messages : 97
    Points : 60
    Points
    60
    Par défaut Comment passer toutes mes textures dans glDeleteTextures ?
    Bonjour, comment passer toutes mes textureId (type GLuint) (champ de ma structure Texture) dans une seule fonction glDeleteTextures ? (ici numbers est un pointeur de type Texture)

    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
     
    Texture* numbers[10]; //définition de mes textures numbers plus haut.
     
     
    ...
        glDeleteTextures(1, &numbers[0]->textureId);
        glDeleteTextures(1, &numbers[1]->textureId);
        glDeleteTextures(1, &numbers[2]->textureId);
        glDeleteTextures(1, &numbers[3]->textureId);
        glDeleteTextures(1, &numbers[4]->textureId);
        glDeleteTextures(1, &numbers[5]->textureId);
        glDeleteTextures(1, &numbers[6]->textureId);
        glDeleteTextures(1, &numbers[7]->textureId);
        glDeleteTextures(1, &numbers[8]->textureId);
        glDeleteTextures(1, &numbers[9]->textureId);
        */
     
    // J'éfface toutes mes textures une par une mais apparemment le premier argument (GLsizei n) permet d’effacer plusieurs textures en même temps. 
        glDeleteTextures(10,??????????????????);
    à plus,

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    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 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Sinon un truc fort utile c'est faire une boucle for

  3. #3
    Membre du Club
    Homme Profil pro
    Agronome
    Inscrit en
    Septembre 2018
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Agronome
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2018
    Messages : 97
    Points : 60
    Points
    60
    Par défaut
    Oui c'est vrai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int i;
        for(i = 0 ; i <= 9 ; i++){
              glDeleteTextures(1, &numbers[i]);
        }

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Si c'est en C++, on peut imaginer encapsuler les textures dans une classe (avec un destructeur appelant glDeleteTexture()), et avoir les instances de ces textures dans des pointeurs intelligent. Ainsi, y a plus à ce soucier de ce point.

    Sinon, le glDeleteTexture() devrait s'en sortir ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glDeleteTextures(10, numbers);
    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.

  5. #5
    Expert éminent sénior

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

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 379
    Points
    11 379
    Billets dans le blog
    10
    Par défaut
    Vu que numbers a l'air de contenir autre chose que des id de textures, je ne pense pas que glDeleteTextures(10, numbers); fasse l'affaire.
    Je plussoie l'encapsulation, si tu es en C++, et sinon la boucle for me semble la solution la plus facile, l'alternative étant de stocker tes id de texture de manière contigüe dans un tableau, et de passer ce tableau à glDeleteTextures
    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).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] mettre toutes mes tables dans un select
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 14/03/2007, 11h39
  2. comment charger toutes les tables dans DataSet
    Par keletigui dans le forum Accès aux données
    Réponses: 1
    Dernier message: 21/02/2007, 20h44
  3. comment passer du code html dans une requette sql?
    Par vinceH31 dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/11/2006, 18h10
  4. Comment passer en mode édition dans un TTreeView ?
    Par Invité dans le forum C++Builder
    Réponses: 6
    Dernier message: 08/08/2005, 13h37
  5. Réponses: 2
    Dernier message: 17/06/2005, 23h03

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