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 :

Créer une texture transparente


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 55
    Par défaut Créer une texture transparente
    Bonjour,
    J'essaye de créer une texture transparente pour le feuillage de mes arbres. Voici les instructions :
    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
     
    data = (GLuint *)calloc( 1, ((width * height)* 4 * sizeof(GLuint)) );
     
    ...
    glTexImage2D(GL_TEXTURE_2D, 0, 4, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
     
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    ...
    glViewport(0,0,width,height);
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    ...
    glBindTexture(GL_TEXTURE_2D, texture_id);
    glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, width, height, 0);
    Mon problème c'est que quand j'utilise la texture elle est sur fond noir et non transparent ... Quelqu'un sait-il pourquoi?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    pour avoir une texture à trous, il faut soit activer l'alpha test, soit le blending, voir même les 2 en même temps...
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  3. #3
    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

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 55
    Par défaut
    Désolé, mais la solution ne se trouve pas dans la FAQ !!! Je crois qu'il s'agit d'un problème de copie avec "glcopyteximage2D".

  5. #5
    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
    Ah oui tiens, j'avais loupé le glCopyTexImage2D. Il sert à quoi au juste ici ?

    Quoiqu'il en soit la réponse est bien dans la FAQ : il faut activer l'alpha-test ou l'alpha-blending si tu veux de la transparence, et s'assurer que tu aies un canal alpha correct.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 55
    Par défaut
    Je ne crois pas mon ami, j'avais bien entendu fait les tests habituels avant de publier mon message et non, ça ne fonctionne pas et oui, j'ai testé toutes les combinaisons possibles de GL_ALPHA_TEST et GL_BLEND à tous les niveaux possible du traitement (copie / affichage) et non ça ne marche pas avec la FAQ et je te serais reconnaissant de lire un peu plus attentivement les messages avant d'ajouter un post qui fait que tout le monde pense que le problème est un problème de débutant qui n'a pas lu la FAQ et qui ne mérite donc pas de réponse.

Discussions similaires

  1. Créer une texture à la volée
    Par Greatmangaka dans le forum XNA/Monogame
    Réponses: 3
    Dernier message: 08/03/2013, 14h35
  2. Créer une texture 2D "animée" ?
    Par Elriks dans le forum C
    Réponses: 4
    Dernier message: 10/11/2011, 10h43
  3. Chargement d'image pour créer une texture
    Par sir_gcc dans le forum OpenGL
    Réponses: 2
    Dernier message: 29/12/2008, 22h49
  4. Créer une fenêtre transparente
    Par calving dans le forum Linux
    Réponses: 5
    Dernier message: 19/11/2008, 19h23
  5. Réponses: 5
    Dernier message: 09/11/2006, 10h36

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