Я не уверен, какой язык вы используете. Я предполагаю, что это вопрос XNA.
Можно ли использовать пиксельные шейдеры внутри спрайта?
Да, вы можете загрузить файл шейдера (HLSL, вплоть до и включая шейдерной модели 3 в XNA) и вызвать SpriteBatch с его использованием.
Если вы разместите образец кода, нам будет проще увидеть, что что-то не настроено должным образом. Однако, похоже, что у вас есть вещи в правильном порядке. Я бы проверил код шейдера.
Ваш код приложения должен выглядеть примерно так:
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();
Спасибо за ваш ответ, но я использую Managed DirectX, так что можно использовать в MDX? – Firoz
Да, не вижу причин, по которым это не должно быть. Почему бы просто не попробовать? –