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

API graphiques Discussion :

Ilut et transparence


Sujet :

API graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Par défaut Ilut et transparence
    Bonjour tout le monde,

    je cherche a charger une image png (avec transparence) avec OpenIL. Cela se passe bien, sauf que je n'ai point de transparence. Les pixels transparents apparaissent noirs.

    J'imaginais bien que ca n'etait pas aussi simple, mais je ne trouve pas comment faire. Est ce que je me fourvoie en voulant proceder de la sorte ?

    Je precise que je travaille avec Delphi/OpenGL.

    D'avance merci pour votre aide !

    Tangui

  2. #2
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut
    Petit exemple de code en C++ à mettre avant les polygones OpenGL pour utiliser la couche alpha:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    glEnable(GL_BLEND);
     
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Par défaut
    Merci beaucoup, cela marche presque... sauf que la zone en principe transparente ne l'est qu'a moitie ! Cela a-t-il quelque chose a voir avec le fait que je ne mets pas de normales aux polygones qui sont derrière mes surfaces en partie transparentes ? Cela a-t-il un rapport avec le fait que lorsque je dessine avec des couleurs (glColor) elles sont bien plus foncées qu'elle ne devraient l'être ?

    EDIT : ça fonctionne quand je désactive le z-buffer, mais j'en ai besoin !

  4. #4
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut
    Afficher les objets ( ou faces, suivant les besoins ) de la plus lointaine à la plus proche pour que le zBuffer n'efface plus.

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Par défaut
    J'ai réussi ce que je voulais faire alors si ça peut servir, il fallait rajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    glAlphaFunc(GL_GREATER, 0.5);
    glEnable(GL_ALPHA_TEST);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

Discussions similaires

  1. comment faire un background transparent?
    Par guigui1005 dans le forum Composants
    Réponses: 5
    Dernier message: 17/05/2012, 21h45
  2. [Composant] La transparence
    Par Nuts07 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/05/2003, 14h51
  3. Comment rendre transparent le tour d un icone
    Par NeoRonin dans le forum Composants VCL
    Réponses: 7
    Dernier message: 03/03/2003, 01h40
  4. Réponses: 1
    Dernier message: 23/02/2003, 06h22
  5. ouverture d'une form en fondu transparent
    Par nicholz dans le forum Composants VCL
    Réponses: 9
    Dernier message: 08/01/2003, 11h06

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