2009-11-19 5 views
0

Est-il possible d'utiliser un pixel shader à l'intérieur d'une image-objet?Est-il possible d'utiliser un pixel shader dans une image-objet?

J'ai créé un pixel shader simple, qui écrit simplement la couleur rouge, pour le test . J'ai entouré mon appel Sprite.DrawImage (tex, ...) par l'effet .Begin (...), BeginPass (0) et EndPass(), End(), mais mon shader ne semble pas être used: Ma texture est dessinée juste normalement.

Répondre

0

Je ne sais pas quelle langue vous utilisez. Je suppose que c'est une question XNA.

Est-il possible d'utiliser un pixel shader dans un sprite?

Oui, vous pouvez charger un fichier de shaders (HLSL, jusqu'à et y compris le modèle de shader 3 XNA) et appeler SpriteBatch à son utilisation.

Si vous postez un code d'exemple, il nous sera plus facile de voir si quelque chose n'est pas configuré correctement. Cependant, il semble que vous ayez les choses dans le bon ordre. Je voudrais vérifier le code du shader.

Votre code d'application devrait ressembler à ceci:

Effect effect; 
effect = Content.Load<Effect> ("customeffect"); //load "customeffect.fx" 
effect.CurrentTechnique = effect.Techniques["customtechnique"]; 

effect.Begin(); 

foreach (EffectPass pass in effect.CurrentTechnique.Passes) 
{ 
    pass.Begin(); 

    spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.None); 

    spriteBatch.Draw(texture, Vector2.Zero, null, Color.White, 0, new Vector2(20, 20), 1, SpriteEffects.None, 0); 

    spriteBatch.End(); 

    pass.End(); 
} 

effect.End(); 
+0

Merci pour votre réponse, mais je suis en utilisant DirectX Managed, il est donc possible d'utiliser dans MDX? – Firoz

+0

Oui, ne vois pas pourquoi il ne devrait pas. Pourquoi ne pas l'essayer? –

Questions connexes