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 :

Question sur glEnable(GL_TEXTURE_2D)


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    lia
    lia est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 59
    Par défaut Question sur glEnable(GL_TEXTURE_2D)
    Bonjour,

    J'ai vu dans certains tutoriels que glEnable(GL_TEXTURE_2D) est appelée dans initGL(), dans d'autres elles est utilisée dans la fonction appelée par glutDisplayFunc(display), donc ici par display().
    Où faut-il l'appeler normalement?

    Certaines fois, pas systématiquement, lorsque glEnable(GL_TEXTURE_2D) est appelé, glDesable(GL_TEXTURE_2D) est aussi appelée.
    Dans quels cas faut-il appeler glDesable(GL_TEXTURE_2D)?

    Merci beaucoup pour vos explications.

    lia

  2. #2
    Membre expérimenté Avatar de Sixissor
    Étudiant
    Inscrit en
    Février 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 206
    Par défaut
    Citation Envoyé par lia
    Bonjour,

    J'ai vu dans certains tutoriels que glEnable(GL_TEXTURE_2D) est appelée dans initGL(), dans d'autres elles est utilisée dans la fonction appelée par glutDisplayFunc(display), donc ici par display().
    Où faut-il l'appeler normalement?
    Certaines fois, pas systématiquement, lorsque glEnable(GL_TEXTURE_2D) est appelé, glDisable(GL_TEXTURE_2D) est aussi appelée.
    Dans quels cas faut-il appeler glDisable(GL_TEXTURE_2D)?
    Peu importe où tu appelles ces fonctions, il faut juste le faire quand c'est nécessaire.
    Il y a 2 endroits où il faut l'appeler obligatoirement.
    1. Quand tu génères la texture, donc dans l'initialisation
    2. Quand tu veux afficher ton polygone texturé dans la fonction d'affichage

    Il faut savoir qu'un appel à la fonction glEnable(GL_TEXTURE_2D) permet d'activer l'état d'utilisation des textures.
    Pour éviter de le balader partout, alors que tu n'en a pas besoin, il est recommandé (et je t'oblige ) de le désactiver avec glDisable(GL_TEXTURE_2D), donc généralement juste après l'utilisation des textures (dans l'initialisation et dans la boucle d'affichage).

    Ceux qui laissent traîner un glEnable(GL_TEXTURE_2D) à la fin de la fonction d'initialisation, c'est qu'ils ont la flemme de rappeler cette fonction quelques lignes plus tard... Mais c'est du mauvais code et il faut toujours activer et désactiver cet état respectivement quand tu en as besoin et quand tu n'en as plus besoin.

    Pour résumer:
    systématiquement appeler glDisable(GL_TEXTURE_2D) lorsque glEnable(GL_TEXTURE_2D) est appelé
    Voilà Lia j'espère que ça t'as aidé et cette fois j'ai répondu avec plaisir
    ++

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Par défaut
    C'est surtout pratique d'utiliser glDisable(GL_TEXTURE_2D) si après l'utilisation de tes textures tu veux utiliser un glColor3f par exemple enfin me semble.
    Parce que si tu l'utilise sans désactiver les textures, je crois pas que ca t'affiche de couleurs.

  4. #4
    Membre expérimenté Avatar de Sixissor
    Étudiant
    Inscrit en
    Février 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 206
    Par défaut
    Citation Envoyé par glnewb
    C'est surtout pratique d'utiliser glDisable(GL_TEXTURE_2D) si après l'utilisation de tes textures tu veux utiliser un glColor3f par exemple enfin me semble.
    Parce que si tu l'utilise sans désactiver les textures, je crois pas que ca t'affiche de couleurs.
    Si, ça dépend des paramètres de tes textures uniquement.

  5. #5
    lia
    lia est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 59
    Par défaut
    Merci beaucoup pour vos réponses.
    Sixissor ->
    Maintenant, c'est beaucoup plus clair.

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Sujet ?

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

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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