[XNA] Alpha blending [Résolu]

Signaler
Messages postés
289
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
28 février 2009
-
MaxSoldier
Messages postés
289
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
28 février 2009
-
Bonjour !
Je code en ce moment, un moteur 3D et je me suis attaqué à la gestion des ombres portées. J'ai enfin réussi à projeter les ombres de n'importe quel model sur un plan, mais le problème, c'est que je n'arrive pas a activer l'alpha blending pour rendre l'ombre semi transparente.

Pourtant, à l'initialisation j'ai :
<hr size="2" width="100%" />            graphics.GraphicsDevice.RenderState.SourceBlend = Blend.SourceAlpha;
            graphics.GraphicsDevice.RenderState.DestinationBlend = Blend.InverseSourceAlpha;
            graphics.GraphicsDevice.RenderState.AlphaBlendEnable = true;
            graphics.PreferMultiSampling = true;
            graphics.ApplyChanges();
<hr size="2" width="100%" />
Dans ma classe custom mesh ( en gros, un générateur de mesh, on a juste à lui fournir les sommets ), je dessine avec un BasicEffect et j'ai activé :
<hr size="2" width="100%" />BasicShader.VertexColorEnabled = true;
<hr size="2" width="100%" />
Et même en faisant :
<hr size="2" width="100%" />BasicShader.Alpha = 30f;
<hr size="2" width="100%" />
Rien y fait, un ombre noire bien opaque, et donc pas du tout, mais alors pas du tout naturelle, on dirais un plan qui est juste scalé et décalé de mon plan d'origine.
Merci d'avance +++

-=Ar$£nik=-

2 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
Salut, 

Je n'ai pas de réponse exacte à donner à  ton problème, mais tu peux peut-etre t'insiper de cette source :
http://www.georgemcbay.com/xna/ShadowMapDemo.zip

Mx
MVP C# 
Messages postés
289
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
28 février 2009
2
Merci beaucoup, j'ai compris beaucoup de choses grâce à cette source !
+++
-=Ar$£nik=-