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 :

[C#][DirectX9] Comment utiliser l'alphablending?


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Par défaut [C#][DirectX9] Comment utiliser l'alphablending?
    bonjour à tous,

    Je souhaite afficher 2 images (textures) à l'écran. Jusque là pas de probleme. Je souhaite ensuite créer un effet de transparence de la première sur la deuxième et là j'ai beau essayer avec ce que je trouve sur le net je n'y arrive pas.

    Voici ce que j'ai dans l'initialisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    device.RenderState.SourceBlend = Blend.SourceAlpha;
    device.RenderState.DestinationBlend = Blend.InvSourceAlpha;
    device.RenderState.AlphaBlendEnable = true;
    spriteTexture = TextureLoader.FromFile(device, @filename, 0, 0, 1, Usage.None, Format.Unknown, Pool.Managed, Filter.None, Filter.None, Color.Magenta.ToArgb());
    spriteTexture2 = TextureLoader.FromFile(device, @filename2, 0, 0, 1, Usage.None, Format.Unknown, Pool.Managed, Filter.None, Filter.None, Color.Magenta.ToArgb());
    ...
    dans le OnPaint de la form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    device.Clear(ClearFlags.Target, System.Drawing.Color.Black, 1.0f, 0);
    device.BeginScene();
     
    sprite.Begin(SpriteFlags.AlphaBlend);
    spriteTexture.Draw(t, r, Center, position, Color.White);
    spriteTexture2.Draw(t2, r2, Center2, position2, Color.White);
    sprite.End();
     
    device.EndScene();
    device.Present();
    Voila. et le prob c'est que tout s'affiche correctement mais pas de transpence

    Un peu d'aide et d'explication serait la bienvenue (même si c pour tout refaire en directdraw)

  2. #2
    Membre expérimenté Avatar de ShadowTzu
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Par défaut
    change ta couleur:
    spriteTexture.Draw(t, r, Center, position, CoulA);
    spriteTexture2.Draw(t2, r2, Center2, position2, CoulA);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim couleur As Microsoft.DirectX.Direct3D.ColorValue
    couleur.Alpha = Alpha '0 à 1 (single ou Float en C# je crois)
    couleur.Blue = Bleu '0 à 1
    couleur.Red = Rouge '0 à 1
    couleur.Green = Vert '0 à 1
     
    CoulA=couleur.ToArgb

  3. #3
    Membre confirmé Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Par défaut
    merci mais en fait j'ai laissé tomber pour continuer sur la suite.

    merci quand meme pour la réponse qui j'espère ourra aider d'eutres programmeurs.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. Comment utiliser un cache ?
    Par TOM-Z dans le forum XMLRAD
    Réponses: 4
    Dernier message: 14/03/2003, 09h55
  3. comment utiliser actionscript ?
    Par webs dans le forum Flash
    Réponses: 3
    Dernier message: 09/02/2003, 23h11
  4. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 20/07/2002, 09h35
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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