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

DirectX Discussion :

Opacité et texture


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 35
    Par défaut Opacité et texture
    Comment donner de l'opacité à une texture ?

    Je dispose d'un quad en arrière plan, celui ci à une certaine couleur.

    Un autre quad en avant plan est texturé. La texture est une bitmap en nuance de gris. Je souhaite pouvoir donner de l'opacité à cette texture afin de laisser + ou - apparaitre la couleur du quad d'arrière plan.

    L'alpha blending ne me donne pas un résultat satifaisant : la couleur d'arrière plan apparait toujours avec la même "pureté".

    J'espère être clair...

    Merci !

  2. #2
    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
    Il faut que tu definisses un canal alpha pour ta texture (et que tu le remplisses correctement).

    Ou alors si tu veux une opacité uniforme, tu peux utiliser D3DTA_TFACTOR et te passer de canal alpha.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 35
    Par défaut
    Je souhaite pouvoir faire varier cette opacité, le canal alpha ne peut venir de la texture non ?

    Quel sont les bons renderstates à activer pour D3DTA_TFACTOR ?

    Le but est que sur la texture en nuance de gris :
    - le "blanc" reste "blanc"
    - le "noir" laisse apparaître la couleur de fond sur un certain pourcentage ( variable ).

  4. #4
    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
    Pour D3DTA_TFACTOR j'ai dit nimp, excuse. C'etait D3DBLEND_BLENDFACTOR .

    Tu veux faire varier ton opacité en temps réel ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 35
    Par défaut
    oui en temps réel ...
    Ce n'est pas faisable ?

  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
    Sisi, c'était juste pour savoir quelle méthode était la plus adaptée pour toi.
    Il faut que tu crées une texture dynamique avec un canal alpha (genre D3DFMT_A8R8G8B8), et que tu modifies son... canal alpha (avec Lock/Unlock, cf la doc du SDK si tu ne sais pas le faire).

    Ensuite il suffira d'activer ton AB comme ceci :

    Src : D3DBLEND_SRCALPHA
    Dest : D3DBLEND_INVSRCALPHA

  7. #7
    Membre éprouvé
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Par défaut
    Et pour eviter le lock de texture, il y a ( comme d'hab' ) le pixel shader, mais sur GF3 et mieux

Discussions similaires

  1. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13
  2. Chargement d'une texture a partir de la mémoire
    Par logramme dans le forum DirectX
    Réponses: 6
    Dernier message: 27/01/2003, 14h57
  3. appliquer des textures de taille 2n+1
    Par Katsuo chris dans le forum DirectX
    Réponses: 4
    Dernier message: 14/11/2002, 00h11
  4. Mosaïque texturée
    Par Pode dans le forum OpenGL
    Réponses: 5
    Dernier message: 19/09/2002, 09h50
  5. Changer l'image d'une texture
    Par alltech dans le forum DirectX
    Réponses: 5
    Dernier message: 21/08/2002, 01h31

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